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

From: Marc van der Kamp <marcvanderkamp.gmail.com>
Date: Mon, 11 Aug 2014 14:40:53 +0100

Dear Jason,
Thanks for your changes - I think the 'more flexible' PSF parser is a good
idea.
The parameter file in the tarball was made manually, and I clearly made a
mistake. I didn't catch this myself before, as I've now been using the -str
attribute (in chamber and parmed.py's chamber) to pass various additional
parameters. I had just used this single file for the test-case. So no need
to add support for that, I would think.

I'm still having a problem with the test-case with ParmEd (on my MacBook),
however.

I cloned & installed ParmEd fresh from github.
I changed the parameter file as you suggested (putting the NBFIX section at
the end, just before END).
What I now get is:
> chamber -top top_all36_prot_ksi.rtf -param par_all36_prot_cgenff_ksi.prm
-psf dry.rs1_charmm.psf -crd dry.rs1.pdb
Creating chamber topology file from PSF dry.rs1_charmm.psf, RTF files
[top_all36_prot_ksi.rtf], and PAR files [par_all36_prot_cgenff_ksi.prm]
Coords from dry.rs1.pdb. Using CMAP. GB Radius set mbondi.
Traceback (most recent call last):
  File "/Users/marcvanderkamp/Documents/work/ParmEd/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/Documents/work/ParmEd/ParmedTools/parmed_cmd.py",
line 141, in _normaldo
    action.execute()
  File
"/Users/marcvanderkamp/Documents/work/ParmEd/ParmedTools/ParmedActions.py",
line 3563, in execute
    parm.load_coordinates(coords)
  File
"/Users/marcvanderkamp/Documents/work/ParmEd/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'


But perhaps this is more a problem with my parmed.py / python?

Thanks,
Marc


On 10 August 2014 22:44, Jason Swails <jason.swails.gmail.com> wrote:

> On Sun, Aug 10, 2014 at 5:05 PM, Marc van der Kamp <
> marcvanderkamp.gmail.com
> > wrote:
>
> > On 9 August 2014 22:16, Jason Swails <jason.swails.gmail.com> wrote:
> >
> > >
> > > ​Where did this PSF file come from?
> >
> >
> > PSF is written by VMD's psfgen, version 1.5 I think.
> >
> >
> > > It's missing 3 sections that I haven't
> > > seen ​_all_ missing from a PSF file: NUMLP/NUMLPH, and NCRTERM
> > (effectively
> > > the CMAP section).
> >
> >
> > NCRTERM is expected not to be there (or at least unpopulated) in this
> case,
> > as the test-case was without protein (just CGenFF parameterized ligand
> and
> > some water).
> > psfgen does write this section (as it should) when protein (and thus CMAP
> > terms) are present. But I'm assuming old (pre-CMAP) charmm versions will
> > also not write this section.
> >
> > As Sarah pointed out already in this thread, when you do "writepsf charmm
> > <mypsf>.psf" in psfgen, the following line is 'missing' (but required by
> > chamber):
> > 0 0 !NUMLP NUMLPH
>
>
> >
> > > If this is a typical example from a standard source, I
> > > will probably have to rethink how I parse PSF files in ParmEd to be a
> bit
> > > more flexible to the abuse the PSF file format has taken (reminiscent
> of
> > > what's happened to the PDB format, really...
> > >
> >
> > I'd say psfgen is reasonably standard, as it is the main option to write
> > psf's if you don't have access to or don't want to use charmm.
> >
>
> ​I agree. After I sent the email, I realized that NCRTERM is not
> necessarily present when CMAPs aren't used. In any case, I was unhappy
> with how fragile my PSF parser in ParmEd turned out to be, so I redesigned
> it. My initial feeling was that the !LABEL tags next to each section were
> comments that could not be relied upon to exist, so I parsed each section
> in the order I thought they would always be in. But the more PSFs I see,
> the more I realize that the exact ordering and presence of the sections
> varies far more than the !LABEL tags for each section.
>
> Long story short, the ParmEd PSF parser now supports your PSF file (at
> least the dry one you sent last) if you pull the latest changes from the
> ParmEd github repo.
>
> The parameter file did concern me a bit, though. It looks to me like the
> NONBONDED parameters for many of the atom types come in the NBFIX section
> of the parameter file. So where it starts:
>
> !!! From par_all36_cgenff.prm !!!
> ​
> ​​
> !!!!! chmwvdk, 4/08/14 !!!!!
> ​
> ​​
> !hydrogens
> ​
> ​​
> HGA1 0.0 -0.0450 1.3400 ! alkane, igor, 6/05
> ​
> ​​
> HGA2 0.0 -0.0350 1.3400 ! alkane, igor, 6/05
> ​​
> the parameter file parser ​still thinks it's reading the NBFIX section from
> above, so none of the LJ parameter types from that point down are loaded,
> resulting in an error similar to the one you reported originally. If you
> cut the NBFIX section out and move it to the bottom (before the END card),
> then ParmEd works fine.
>
> How did you make the parameter file? Is that also something I will need to
> add support for?
>
> Thanks,
> Jason
>
> --
> Jason M. Swails
> BioMaPS,
> Rutgers University
> Postdoctoral Researcher
> _______________________________________________
> 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 Mon Aug 11 2014 - 07:00:02 PDT
Custom Search