On Tue, Dec 3, 2013 at 2:43 PM, Aronica, Pietro <
pietro.aronica07.imperial.ac.uk> wrote:
> The manipulations are done by removing specific dihedrals with the
> deleteDihedrals command, so that atoms that should not see each other but
> do because of their 1,4 connectivity have this interaction deleted.
> Using the first fix outlined in the previous email, the returned prmtop is
> unchanged (save, of course, for the timestamp), while the second one gives
> the same exclusion list reshuffling as with my original command.
Agh. I see what's happening. The problem is actually in deleteDihedrals.
Each atom keeps a record of all other atoms it forms a bond, angle, and
dihedral with, and deleteDihedral only removes the dihedrals from the list
of all dihedrals. Since the exclusions are determined from each atoms'
record of bond/angle/dihedral partners (and deleteDihedral does not touch
this), the exclusions are not calculated correctly following deleteDihedral.
The setBond commands were triggering a 'recalculating' of the topology
which corrected these exclusions from the new topology file (that lacked
the dihedrals you deleted and so did not appear in the list of dihedral
atoms for the atoms in that dihedral). That's why the second test (which
just forces the topology to be 'recalculated') gives the same exclusion
list as the setBond commands (since setBond triggers the remake_parm()
call).
A workaround before I release a fix for this is to do what you've been
doing:
parmed.py -p <prmtop> << EOF
deleteDihedral [options]
outparm new.prmtop
EOF
Then fix the exclusion list
parmed.py -e -p new.prmtop << EOF
!amber_prmtop.parm.remake_parm()
setOverwrite
outparm new.prmtop
EOF
and use this 'fixed' new.prmtop for your later tasks.
Thanks for the report,
Jason
--
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 - 15:00:03 PST