On Wed, 2014-02-26 at 07:34 +0100, FyD wrote:
> > If you are comfortable with Python programming, you can do step 3 in a
> > single Python script using the ParmEd API like so:
> >
> > from chemistry.amber.readparm import AmberParm
> > from ParmedTools.ParmedActions import change, addljtype
> >
> > for i in range(num_molecules):
> > parm = AmberParm('path/to/prmtop')
> > change(parm, 'CHARGE', '!:%d' % i, 0.0)
> > addljtype(parm, '!:%d' % i, radius=0.0, epsilon=0.0)
> > parm.writeParm('tmp.parm7')
> > # System call to compute energy
>
> I got your point: the problem is that vdW param. are not repeated for
> each molecule of a solvent box in the prmtop as the charge values are;
This is not a problem (and I'm well aware that the prmtop contains a
condensed set of vdW parameters). The "change" command there will
change the charges of each atom selected in the mask to 0. The
"addljtype" will create a NEW Lennard-Jones type, assigning all atoms in
the mask selection to that new type, and assign that type a radius of 0
and a well-depth of 0. The resulting topology file will yield
non-bonded energies which are (necessarily) only the internal non-bonded
energies present in the selected residue (of course the mask can be
changed from looping over all residues to looping over all molecules,
this was just an example).
The tutorial I wrote for ParmEd has a fairly detailed discussion of how
the Lennard-Jones interactions are defined in the topology file and how
to use ParmEd to do precisely what you want:
http://jswails.wikidot.com/parmed
HTH,
Jason
--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Feb 26 2014 - 05:30:03 PST