[MMTK] Does MMTK support negative AMBER PHASE values?

Konrad Hinsen hinsen at cnrs-orleans.fr
Fri Jun 1 07:51:25 UTC 2007

On 31.05.2007, at 15:18, Mark Williamson wrote:

> I think it has something to do with the following:
> a) MMTK/ForceFields/BondFF.py:addDihedralTerm()
> seems to have some form of checking for this situation:
>   if dihedral > Numeric.pi:
>                  dihedral = dihedral - 2.*Numeric.pi
> and
>   if phase < 0.:
>                          phase = phase + 2.*Numeric.pi
> but this function:
> b) MMTK/ForceFields/MMForceField.py:addDihedralTerm()
> does not. Using some crude print()s to debug this, I see that the b)
> function is being called. This same b) function is also called when
> using a Amber94ForceField forcefield. Should Amber94ForceField be
> function a) or should b) have a similar form of checking as a) ?

No, and no. Function b) is the only reasonable one for the Amber  
force field - it just passes on the parameters to the C energy routines.

Function a) is part of a specialized force field implementation for  
normal mode calculations. It modifies the Amber parameters to ensure  
that whatever given input configuration becomes a local energy  
minimum. The routine you are looking at is called when the force  
field parameters are collected, and yet it examines the current  
positions of the atoms - which makes sense only because they are not  
supposed to change.

I just scanned the Amber parameter file and noticed that all the  
dihedral phase angles are either 0 or 180 degrees. Very probably  
nobody has ever tested different values, so there could well be a  
problem that has gone unnoticed. Perhaps the same could be said about  
the code in SANDER. I'll have to think about a suitable test case for  
individual energy terms.

Konrad Hinsen
Centre de Biophysique Moléculaire, CNRS Orléans
Synchrotron Soleil - Division Expériences
Saint Aubin - BP 48
91192 Gif sur Yvette Cedex, France
Tel. +33-1 69 35 97 15
E-Mail: hinsen at cnrs-orleans.fr

More information about the mmtk mailing list