Re: [AMBER] parmed.py setBond

From: Jason Swails <jason.swails.gmail.com>
Date: Tue, 03 Dec 2013 13:45:49 -0500

On Tue, 2013-12-03 at 17:44 +0000, Aronica, Pietro wrote:
> Hello,
> I'm having some problems with parmed.py. I used the setBond command to change the length and force constant of a certain bond, and then saved the resulting prmtop. However, parmed.py didn't just change the bond, but also modified the exclusion list in a way that makes the prmtop unusable and not working. I don't understand how changing the parameters of a bond should affect the exclusion list. Why is it doing this? Is there a workaround?

When I ran a test and used "setBond" to change the force constant and
equilibrium distance of a particular bond, the new topology file had the
exact same EXCLUDED_ATOMS_LIST and NUMBER_EXCLUDED_ATOMS sections.

Did you use the 'strip' command in the same ParmEd session? I recently
reworked the ParmEd topology determination code to be a bit more robust
with respect to stripped atoms. The problem was that in some cases
ParmEd would think that atoms that had been eliminated with a 'strip'
command were still present, which could give rise to unusual exclusion
lists.

Can you paste your entire script here so I can see it? (Hopefully the
upcoming version of AmberTools will not have this issue).

Thanks,
Jason

P.S. To explain ParmEd a little, what happens under the hood when ParmEd
detects a change to the underlying topology (i.e., for any changes that
were made to topology data structures instead of directly to the raw
data in the topology file), it recomputes all of the 'pointers' in the
topology file. This approach is very general, orders of magnitude
faster than a typical 'search and change' approach, and far simpler to
code. Since "setBond" operates on a topology data structure instead of
directly on the raw data, the topology file is 'recomputed', including
the exclusion lists. The exclusion lists are constructed by looking at
every atom bonded to, angled to, and dihedral-ed to (and excluded using
addExclusions to) the atom of interest. All atoms with an index greater
than the atom of interest is assigned to the exclusion list of the atom
of interest (so each pair is excluded only once), with a placeholding 0
used for atoms with no exclusion partners with a higher index.

-- 
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Dec 03 2013 - 11:00:03 PST
Custom Search