Re: [AMBER-Developers] 1-4 Duplicate NB flagging when k atom index is one

From: David A. Case <>
Date: Mon, 25 May 2009 17:22:39 +0100

On Thu, May 21, 2009, Mark Williamson wrote:
> My question is, what happens when k is atom one in the system and it needs
> to be flagged to ignore its 1-4 contribution, e.g. :
> Given a dihedral of atom index: 4-3-1-7
> it becomes the prmtop'ed form of: 9 6 0 18
> Here in lies the problem, you cannot put a sign on a zero:
> 9 6 -0 18

Just some comments:

1. Changing the format of the prmtop file would be so onerous, that we would
need a better reason than this one to do that.

2. Since the entries in the atom list are always divisible by three, something
like "-1" should never appear. So, we could special-case that, so that it
would be treated with the same logical meaning as "-0" ought to have. This
avoids having to do the string manipulations that Gustavo suggested, and
has a doesn't break *backwards* compatibility (since current prmtops don't
have such entries). It is in effect, however, a format change for the
prmtops, so see item #1 above.

3. Is there someway to re-order the dihedrals to avoid the problem? My
understanding is that k is negative when there is a previous diehdral that did
the 1-4 interactions, so could some reorganization of the list avoid the need
for "-0"?

4. Alternatively, is it feasible to make the fourth atom index negative, rather
than the third one? [or vice-versa if atom 4 is negative.] The key line seems
to be line 894 in ene.f:

    if (k3t < 0 .or. l3t < 0) cycle

So, we might have some wiggle room about changing whether k3t or l3t is
negative, and salvage things that way.


AMBER-Developers mailing list
Received on Tue May 26 2009 - 01:10:39 PDT
Custom Search