Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
Hi CHARMM users,

I am currently moving one of my simulations to from all27_prot_lipid and toppar_all27_lipid_cholesterol ff to all36 ff.

I just was wondering if there are some tools to make the transition more convenient.
(except convert_lipid_c27_c36_xopc.str)

So did anyone automate all the required steps?
1) Reading old psf/coor with old ff, renaming alpha chain atoms and create PDB.
2) Split PDB into single segmented files (with grep).
3) generate new psf/coor/pdb file from the separated pdb files with the new ff.

I made the steps via PDB to omit trouble with the "MASS" statement.

Is there a more sleekly way while I am already asking.

Cheers
Bjoern

Joined: Sep 2003
Posts: 8,658
Likes: 26
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,658
Likes: 26
It is fairly simple if you use CHARMM coord files instead of PDB files; there's no need to split the file. Also, CHARMM can read a multiple segment PDB file, with a little work; there's an example in the Script Archive forum. For the conversion via COOR CARD format:

1) read old psf/coor, rename alpha chain, write new coor file
2) make and write c36 psf; read new coor and calc energy as a check

From that point on, you can simply use the new psf/coor file pair.

Finally, one can always continue to use the old alpha chain naming convention for DOPC and POPC, via the other stream file supplied with the C36 lipid parameters.


Rick Venable
computational chemist

Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
*digging through the Script Archive*

Thanks for the hint with the psf/coor files. I new I missed something.

Thanks a lot.

Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
Originally Posted By: rmv

For the conversion via COOR CARD format:

1) read old psf/coor, rename alpha chain, write new coor file
2) make and write c36 psf; read new coor and calc energy as a check


How do I create a PSF from the coor (card) file? I was searching the io.doc but without success.

[EDIT]
Might be not the smartest way, but I just regenerated the setup of my PSF and read the coordinates from the crd (card) file:

Code:
open read card unit 10 name ../top_all36_lipid.rtf
read  rtf card unit 10

open read card unit 20 name ../par_all36_lipid.prm
read para card unit 20

stream ../toppar_all36_lipid_cholesterol.str

read sequ CHL1 43
read sequ POPC 86
read sequ POPS 43
read sequ CHL1 43
read sequ POPC 86
read sequ POPS 43
generate MEMB setup warn first none last none

read sequ TIP3 9232
generate TIP3 noangle nodihe

read sequ POT 88
generate POT noang nodihe

read sequ CLA 2
generate CLA noang nodihe

open read card unit 10 name memb30_c36_step1.crd
read coor card unit 10 resid

coor stat
energy

! WRITE CONVERTED FILES
open write card unit 10 name memb30_c36_step2.pdb
write coor pdb  unit 10

open write card unit 10 name memb30_c36_step2.crd
write coor unit 10 card

open write unit 10 card name memb30_c36_step2.psf
write psf  unit 10 card

open write unit 10 card name memb30_c36_step2.xplor.psf
write psf  xplo unit 10 card

stop


[/EDIT}

Thanks
Bjoern

Last edited by blubbi; 07/27/10 03:40 PM.
Joined: Sep 2003
Posts: 8,658
Likes: 26
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,658
Likes: 26
That's usually what I do, and more or less what I meant by making a new PSF. The issue is that READ SEQU and GENER are needed for each segment; specifying the residue count is often simpler than reading the sequence from a coordinate file. That's only one of several ways to establish a sequence.


Rick Venable
computational chemist

Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
Just out of curiosity:
Is it possible to read from and up to a certain "line" for from a crd/(card) file?

I am thinking of multimer proteins where it would be nasty to type each AA sequence ;-)

something like:
Code:
open read card unit 10 name test.crd
read line 1 100 unit 10 resid
generate X1 setup warn first none last none

read line 101 201 unit 10 resid
generate X2 setup warn first none last none

Joined: Sep 2003
Posts: 4,883
Likes: 12
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 4,883
Likes: 12
This is not possible in current versions, but a similar (chain/segid) functionality will be available in the next release.
Instead of typing the sequences you can use an editor or shell scripts to separate your multimer file into separate files for each unit. The mmtsb toolset and charmming.or or charmm-gui.org can also do this for you.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
rmv, just a note:

in "toppar_all36_lipid_oldxopc.str" you wrote:

Quote:
!Parent files that have to be read prior to streaming this file
!top_all36_lipid.inp
!par_all36_lipid.inp


I guess it should be:

Quote:
!Parent files that have to be read prior to streaming this file
!top_all36_lipid.rtf
!par_all36_lipid.prm


Converting the old psf/coor charmm files to the new naming scheme worked, but it is rather inconvenient to manipulate NAMD pdb files to be accepted by CHARMM, so I decided to stick with the old naming scheme, generate a new xplor.psf for NAMD and then just continue the simulation instead of starting a new simulation from the last coordinates I would have read from the NAMD PDB/COOR file.

When streaming your toppar_all36_lipid_oldxopc.str

Code:
open read card unit 10 name ../../top_all36_lipid.rtf
read  rtf card unit 10

open read card unit 20 name ../../par_all36_lipid.prm
read para card unit 20

stream ../../toppar_all36_lipid_cholesterol.str

stream toppar_all36_lipid_oldxopc.str


I get the following error:

Code:
CHARMM>    stream toppar_all36_lipid_oldxopc.str
 VOPEN> Attempting to open::toppar_all36_lipid_oldxopc.str::
 OPNLGU> Unit 99 opened for READONLY access to toppar_all36_lipid_oldxopc.str

                    INPUT STREAM SWITCHING TO UNIT    99
 RDTITL> * CHARMM36 ALL-HYDROGEN LIPID FORCE FIELD TOPPAR STREAM FILE
 RDTITL> * DOPC, POPC RESIDUES USING OLD C27 ATOM NOMENCLATURE, WHICH
 RDTITL> * HAS AN INCONSISTENT ALPHA CHAIN ATOM NAMING SCHEME
 RDTITL> * REPLACES C36 DOPC, POPC WITH STANDARDIZED NAMING (SAME AS DMPC, DPPC)
 RDTITL> *
 Parameter: IN1 <- "" <empty>
  
 CHARMM>     
  
 CHARMM>    !Parent files that have to be read prior to streaming this file
 CHARMM>    !top_all36_lipid.inp
 CHARMM>    !par_all36_lipid.inp
 CHARMM>     
  
 CHARMM>    read rtf card append
 MAINIO> Residue topology file being read from unit  99.
 RDTITL> * REPLACEMENT DOPC, POPC; OLD C27 ALPHA CHAIN ATOM NAMES
 RDTITL> *
*** WARNING **** residue DOPC already exists (old one deleted)
          RESI DOPC        0.00
 **** ERROR in RTFRDR ****  The atom type code, OSP    is unknown. The atom will be ignored.
          ATOM O1   OSP    -0.57
 **** ERROR in RTFRDR ****  The atom type code, OSP    is unknown. The atom will be ignored.
          ATOM O2   OSP    -0.57
 **** WARNING from RTFRDR **** The total charge of the residue, DOPC,   1.1400000,
 does not equal the expected charge,   0.0000000.
*** WARNING **** residue POPC already exists (old one deleted)
          RESI POPC         0.00
 **** ERROR in RTFRDR ****  The atom type code, OSP    is unknown. The atom will be ignored.
          ATOM O1   OSP    -0.57
 **** ERROR in RTFRDR ****  The atom type code, OSP    is unknown. The atom will be ignored.
          ATOM O2   OSP    -0.57
 **** WARNING from RTFRDR **** The total charge of the residue, POPC,   1.1400000,
 does not equal the expected charge,   0.0000000.
 There were   4 warning(s) from RTFRDR.
 There were    4 error(s) from RTFRDR.
 Execution will be terminated.


Cheers
Bjoern

Joined: Feb 2009
Posts: 83
B
blubbi Offline OP
Forum Member
OP Offline
Forum Member
B
Joined: Feb 2009
Posts: 83
Originally Posted By: lennart
This is not possible in current versions, but a similar (chain/segid) functionality will be available in the next release.
Instead of typing the sequences you can use an editor or shell scripts to separate your multimer file into separate files for each unit. The mmtsb toolset and charmming.or or charmm-gui.org can also do this for you.


Okay, without some bash/python scripting it does not work, thats what I was curios about. Thanks

With next release you mean c37a1?

Thanks
Bjoern

Joined: Sep 2003
Posts: 8,658
Likes: 26
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,658
Likes: 26
Did you get the files from the MacKerell web site? I thought we'd fixed that OSP bug. Just change the OSP to OSLP for those 2 phosphate O atoms in the old definitions of POPC and DOPC in the stream file.

The convenience of NAMD usage was not a consideration.


Rick Venable
computational chemist

Page 1 of 2 1 2

Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5
(Release build 20201027)
Responsive Width:

PHP: 7.3.31-1~deb10u5 Page Time: 0.016s Queries: 35 (0.012s) Memory: 0.7867 MB (Peak: 0.8843 MB) Data Comp: Off Server Time: 2023-09-26 15:59:38 UTC
Valid HTML 5 and Valid CSS