Re: [AMBER] problem with chamber & vmd generated psf (line 2349 of file psfprm.F90)

From: Marc van der Kamp <marcvanderkamp.gmail.com>
Date: Wed, 6 Aug 2014 13:01:25 +0100

Dear Sarah,

Thanks for your effort in checking this.
To clarify:
I meant that I have not been able to generate prmtop+inpcrd for my 'real'
system of interest, for which I generated a psf with VMD's psfgen.
I have used chamber several times before (successfully) using psf+crd
generated by CHARMM. In my original post, I indicated that I was keen to
use chamber for psfgen generated psf's, now AmberTools14 update.7 included
"Better support for VMD psfgen files" (see
http://ambermd.org/bugfixesat.html).

I thought that this would mean that the X-PLOR style psf (with atom type
names instead of numbers, as you pointed out) would be accepted, but
perhaps I am wrong.
As far as I know, psfgen can only write X-PLOR style psf's.

Thanks,
Marc


On 6 August 2014 12:50, Sarah Witzke <witzke.sdu.dk> wrote:

> Hi Marc,
>
> I am a bit confused - you said that you did not get a .inpcrd and a
> .prmtop file yet, but further down in the mail you said that chamber did
> successfully generate those files?
> I have generated those files with chamber without problems - let me know
> if you would like them.
> Chamber does not like xplor type pst files due to the difference in the
> 5th column of !NATOM section - notice the atom names vs. a number:
>
> non-xplor type:
> 48 !NATOM
> 1 A 1 MET N 72 -0.300000 14.0070
>
>
> xplor type:
> 48 !NATOM
> 1 A 1 MET N NH3 -0.300000 14.0070
>
>
> As for ParmEd I have not tried it - but I look forward to it :-) Thanks
> Jason!
>
> Best regards,
> Sarah
>
>
> Den 06/08/2014 kl. 09.55 skrev Marc van der Kamp <marcvanderkamp.gmail.com
> >:
>
> > I'm attaching the tri-peptide test psf's, crd and pdb as described in my
> > previous message here (in test.tgz), in case anyone wants to test this.
> > Thanks,
> > Marc
> >
> >
> > On 6 August 2014 08:39, Marc van der Kamp <marcvanderkamp.gmail.com>
> wrote:
> >
> >> Dear Jason (and others),
> >>
> >> I wasn't aware of this new functionality of ParmEd! Very impressed (and
> >> great that there is the NBFIX option as well!) - many thanks for your
> work,
> >> Jason!
> >>
> >> Now, I did encounter problems, and haven't been able to generate a
> >> prmtop+inpcrd of my system yet; for a tri-peptide test-system, I was
> only
> >> successful with chamber (not parmed.py) and a CHARMM-style psf (written
> by
> >> CHARMM). See details below.
> >>
> >> First, I believe the -cmap flag should not be used in parmed.py?
> >> When I try (after cloning and installing parmed.py as per your
> >> instructions - did this on my MacBook as away from work):
> >>> chamber -cmap -top top_all36_prot_ksi.rtf -param
> >> par_all36_prot_cgenff_ksi.prm -psf ionized.psf -crd ionized.pdb
> >> Action chamber failed
> >> UnhandledArgumentWarning: -cmap
> >>
> >> Without the -cmap flag but with specifying a -box, I get:
> >> chamber -top top_all36_prot_ksi.rtf -param
> par_all36_prot_cgenff_ksi.prm
> >> -psf ionized.psf -crd ionized.pdb -box 72.18 83.12 69.77
> >> Action chamber failed
> >> InputError: Box must be 3 lengths or 3 lengths and 3 angles!
> >>
> >> (and adding 90.0 90.0 90.0 for angles doesn't help)
> >>
> >> How should I specify the 'boundingbox' option?
> >>
> >> Then, I proceeded to test parmed.py's chamber command and the
> >> $AMBERTOOLS/bin/chamber with a simple tri-peptide system. I generated 3
> >> different psf files:
> >> - test.psf: CHARMM-style psf with charmm (v36)
> >> - test_xplor: X-PLOR-style psf as written by charmm (v36)
> >> - dry.test.psf: X-PLOR style psf as written by VMD's psfgen
> >>
> >> For the CHARMM-generated psf's, I used the corresponding test.crd file
> >> written by charmm, for the psfgen-generated psf, I used the
> corresponding
> >> dry.test.pdb file written by VMD/psfgen. For the protein parameters and
> >> topology, I used the most recent files available on MacKerell's website
> (
> >> from toppar_c36_dec13.tgz
> >> <
> http://mackerell.umaryland.edu/download.php?filename=CHARMM_ff_params_files/toppar_c36_dec13.tgz
> >
> >> ).
> >> Below are first the initial ATOM lines of the psf, and then the
> 'results'
> >> from chamber and parmed.py's chamber command.
> >>
> >> CHARMM-style psf:
> >>
> >> 48 !NATOM
> >> 1 A 1 MET N 72 -0.300000 14.0070 0
> >> 0.00000 -0.301140E-02
> >> 2 A 1 MET HT1 32 0.330000 1.00800 0
> >> 0.00000 -0.301140E-02
> >> 3 A 1 MET HT2 32 0.330000 1.00800 0
> >> 0.00000 -0.301140E-02
> >>
> >> chamber:
> >> chamber -cmap -top top_all36_prot.rtf -param par_all36_prot.prm -psf
> >> test.psf -crd test.crd
> >>
> >> (prmtop + inpcrd succesfully generated)
> >>
> >>
> >> parmed.py:
> >>
> >>> chamber -top top_all36_prot.rtf -param par_all36_prot.prm -psf test.psf
> >> -crd test.crd
> >> Creating chamber topology file from PSF test.psf, RTF files
> >> [top_all36_prot.rtf], and PAR files [par_all36_prot.prm] Coords from
> >> test.crd. Using CMAP. GB Radius set mbondi.
> >> Traceback (most recent call last):
> >> File "/Users/marcvanderkamp/bin/parmed.py", line 161, in <module>
> >> parmed_commands.cmdloop()
> >> File
> >>
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py",
> >> line 142, in cmdloop
> >> stop = self.onecmd(line)
> >> File
> >>
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py",
> >> line 221, in onecmd
> >> return func(arg)
> >> File "<string>", line 1, in <lambda>
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/ParmedTools/parmed_cmd.py",
> >> line 141, in _normaldo
> >> action.execute()
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/ParmedTools/ParmedActions.py",
> >> line 3563, in execute
> >> parm.load_coordinates(coords)
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/chemistry/amber/_amberparm.py",
> >> line 940, in load_coordinates
> >> for i, atom in enumerate(self.atom_list):
> >> AttributeError: 'ChamberParm' object has no attribute 'atom_list'
> >>
> >>
> >>
> >> X-PLOR style psf written by CHARMM:
> >>
> >> 48 !NATOM
> >> 1 A 1 MET N NH3 -0.300000 14.0070 0
> >> 0.00000 -0.301140E-02
> >> 2 A 1 MET HT1 HC 0.330000 1.00800 0
> >> 0.00000 -0.301140E-02
> >> 3 A 1 MET HT2 HC 0.330000 1.00800 0
> >> 0.00000 -0.301140E-02
> >>
> >> chamber:
> >> chamber -cmap -top top_all36_prot.rtf -param par_all36_prot.prm -psf
> >> test.psf -crd test.crd
> >>
> >> At line 2349 of file psfprm.F90
> >> Fortran runtime error: Bad value during integer read
> >>
> >> parmed.py:
> >>> chamber -top top_all36_prot.rtf -param par_all36_prot.prm -psf
> >> test_xplor.psf -crd test.crd
> >> Creating chamber topology file from PSF test_xplor.psf, RTF files
> >> [top_all36_prot.rtf], and PAR files [par_all36_prot.prm] Coords from
> >> test.crd. Using CMAP. GB Radius set mbondi.
> >> Traceback (most recent call last):
> >> File "/Users/marcvanderkamp/bin/parmed.py", line 161, in <module>
> >> parmed_commands.cmdloop()
> >> File
> >>
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py",
> >> line 142, in cmdloop
> >> stop = self.onecmd(line)
> >> File
> >>
> "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py",
> >> line 221, in onecmd
> >> return func(arg)
> >> File "<string>", line 1, in <lambda>
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/ParmedTools/parmed_cmd.py",
> >> line 141, in _normaldo
> >> action.execute()
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/ParmedTools/ParmedActions.py",
> >> line 3563, in execute
> >> parm.load_coordinates(coords)
> >> File
> >>
> "/Users/marcvanderkamp/Library/Python/2.7/lib/python/site-packages/chemistry/amber/_amberparm.py",
> >> line 940, in load_coordinates
> >> for i, atom in enumerate(self.atom_list):
> >> AttributeError: 'ChamberParm' object has no attribute 'atom_list'
> >>
> >>
> >> X-PLOR-style psf written by VMD's psfgen:
> >>
> >> 48 !NATOM
> >> 1 PROA 1 MET N NH3 -0.300000 14.0070 0
> >> 2 PROA 1 MET HT1 HC 0.330000 1.0080 0
> >> 3 PROA 1 MET HT2 HC 0.330000 1.0080 0
> >>
> >> chamber:
> >> chamber -cmap -top top_all36_prot.rtf -param par_all36_prot.prm -psf
> >> dry.test.psf -crd dry.test.pdb
> >>
> >> At line 2349 of file psfprm.F90
> >> Fortran runtime error: Bad value during integer read
> >>
> >>
> >> parmed.py:
> >>> chamber -top top_all36_prot.rtf -param par_all36_prot.prm -psf
> >> dry.test.psf -crd dry.test.pdb
> >> Creating chamber topology file from PSF dry.test.psf, RTF files
> >> [top_all36_prot.rtf], and PAR files [par_all36_prot.prm] Coords from
> >> dry.test.pdb. Using CMAP. GB Radius set mbondi.
> >> Action chamber failed
> >> ChamberError: Problem reading CHARMM PSF
> >>
> >>
> >> The parmed.py errors for the psf's written by CHARMM may be due to my
> >> installation?
> >> The parmed.py error for the psf written by psfgen appear to be a
> >> formatting issue?
> >>
> >> Any hints/help greatly appreciated, as always.
> >>
> >> --Marc
> >>
> >>
> >> On 5 August 2014 20:30, Jason Swails <jason.swails.gmail.com> wrote:
> >>
> >>>
> >>> On Aug 5, 2014, at 12:27 PM, Marc van der Kamp <
> marcvanderkamp.gmail.com>
> >>> wrote:
> >>>
> >>>> Hello,
> >>>>
> >>>> Encouraged by the recent update of chamber related to better support
> for
> >>>> VMD psfgen generated psf files, I decided to try it out (after
> updating
> >>>> AmberTools14 with updates 1-7 and recompiling).
> >>>>
> >>>> Unfortunately, when I ran:
> >>>> $AMBERHOME/bin/chamber -cmap -top top_all36_prot_lig.rtf -param
> >>>> par_all36_prot_cgenff_lig.prm -psf ionized.psf -crd ionized.crd -p
> >>>> 1ohp_rs1_charmm.prmtop -inpcrd 1ohp_rs1_charmm.inpcrd -box 72.180
> 83.115
> >>>> 69.771
> >>>>
> >>>> (or variations on this, e.g. with -str to add the additional
> >>>> parameters/topogies)
> >>>> I get the following error:
> >>>>
> >>>> At line 2349 of file psfprm.F90
> >>>> Fortran runtime error: Bad value during integer read
> >>>>
> >>>> I've run out of time to do more testing today (and no time tomorrow),
> >>> so I
> >>>> would like to check if anyone has seen this or has an idea what it may
> >>> be
> >>>> caused by.
> >>>>
> >>>> lines 2341-2349 in psfprm.F90:
> >>>>
> >>>> read(psf_unit,fmt01) ii, & ! 1
> >>>> lsegid, & ! AAL
> >>>> iresid(i), & ! 1
> >>>> lresat(i), & ! ASN
> >>>> atom_label(i), & ! N
> >>>> iac(i), & ! 54
> >>>> cg(i), & ! -0.47000
> >>>> amass(i), & ! 14.0070
> >>>> imove(i) ! 0
> >>>>
> >>>>
> >>>> Any insight welcome; many thanks in advance!
> >>>
> >>> I think we would actually need the PSF file in order to determine how
> the
> >>> assumption of the line layout breaks the assumptions made in chamber.
> >>>
> >>> There is an alternative to chamber that you can try, however. See
> >>> http://github.com/swails/ParmEd for an updated version of the ParmEd
> >>> program that is bundled with AmberTools. ParmEd has a new action
> "chamber"
> >>> that will create chamber-style topology files from PSF and CHARMM
> >>> coordinate, restart, or PDB files with a syntax that is almost
> identical to
> >>> the chamber program itself. I've found that it is quite a bit more
> >>> flexible in terms of what PSF files it will successfully parse, and it
> has
> >>> a number of additional advantages as well. Particularly:
> >>>
> >>> 1. If you use VMD to create a PSF and PDB file, it will pull the box
> >>> information from the PDB file so you don't have to specify it in the
> >>> CHAMBER command.
> >>> 2. It accepts a new keyword "boundingbox" that will assign an
> >>> orthorhombic box that encloses all atom centers
> >>> 3. It supports and implements NBFIX modifications defined in CHARMM
> >>> parameter or stream files (ion parameters in CHARMM36 all have
> NBFIXes, to
> >>> my knowledge)
> >>> 4. The topology files generated by ParmEd are notably smaller because
> it
> >>> compresses degenerate parameter types when possible.
> >>>
> >>> Obviously #3 is the most important improvement, since it's the
> difference
> >>> between "correct" and "incorrect" implementations of the CHARMM force
> field
> >>> in the eyes of many reviewers, whereas #1, 2, and 4 are more
> convenience
> >>> options than anything else (#4 can have performance implications,
> >>> particularly with pmemd.cuda when NBFIX mods are present. Fewer atom
> types
> >>> means that the LJ coefficient matrices are more likely to fit inside
> the
> >>> device cache and thereby avoid costly latencies associated with what is
> >>> effectively a cache miss -- I'm not sure when or if this becomes
> >>> significant or noticeable).
> >>>
> >>> To use it, download and install ParmEd using a command like:
> >>>
> >>> python setup.py build
> >>> python setup.py install [--user] [--install-scripts <directory>]
> >>>
> >>> Where --install-scripts allows you to specify where parmed.py and
> >>> xparmed.py are installed, and the --user command will install the
> Python
> >>> modules in your home directory (but still in a place where they will be
> >>> found by default by the Python interpreter). Then you can use
> parmed.py
> >>> something like:
> >>>
> >>> $ parmed.py
> >>>> chamber -cmap -top top_all36_prot_lig.rtf \
> >>> -param par_all36_prot_cgenff_lig.prm \
> >>> -psf ionized.psf -crd ionized.crd \
> >>> -box 72.180 83.115 69.771
> >>>> outparm 1ohp_rs1_charmm.prmtop 1ohp_rs1_charmm.inpcrd
> >>>
> >>> The only major differences in usage here is that you can supply
> multiple
> >>> parameter or topology files, using a separate "-param
> <parameter_file>",
> >>> "-top <rtf_file>", or "-str <stream_file>" argument. You can also add
> the
> >>> keyword "usechamber" to have ParmEd invoke chamber to create the prmtop
> >>> file (although it won't work if chamber can't parse the PSF file).
> This
> >>> was added to help people validate ParmEd's converter.
> >>>
> >>>
> >>> Another thing ParmEd can do is write PSF files. So if ParmEd can read
> >>> the PSF file, you can write a quick script that will read the PSF file
> in
> >>> and then print a new one that chamber can recognize. A quick python
> script
> >>> like:
> >>>
> >>> from chemistry.charmm.psf import CharmmPsfFile
> >>>
> >>> psf = CharmmPsfFile('ionized.psf')
> >>> psf.write_psf('fixed.psf')
> >>>
> >>>
> >>> will write a PSF file that chamber can read.
> >>>
> >>> Hope this helps,
> >>> Jason
> >>>
> >>> --
> >>> Jason M. Swails
> >>> BioMaPS,
> >>> Rutgers University
> >>> Postdoctoral Researcher
> >>>
> >>>
> >>> _______________________________________________
> >>> AMBER mailing list
> >>> AMBER.ambermd.org
> >>> http://lists.ambermd.org/mailman/listinfo/amber
> >>>
> >>
> >>
> > <test.tgz>_______________________________________________
> > AMBER mailing list
> > AMBER.ambermd.org
> > http://lists.ambermd.org/mailman/listinfo/amber
>
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Aug 06 2014 - 05:30:02 PDT
Custom Search