[gmx-users] gromacs energies very different from other MD engines for the very same system and conditions

Alan alanwilter at gmail.com
Tue Jul 27 11:11:16 CEST 2010


Hi there,

I have a very simple case of a tri alanine (AAA). You can use tleap from
ambertools to create such peptide and save the pdb and amber's parameters.

Then I do a single point calculation to get the potential energy. I am using
mdin (amber input file) like:

cat << EOF >| mdin
Single point
&cntrl
imin=0, maxcyc=0,
ntmin=2,
ntb=0,
igb=0,
cut=999,
/
EOF

Then I test the same input parameters with Namd2, using namd.conf (Amber is
not freely available, but AmberTools and Namd are):

cat << EOF >| AAAamb_namd.conf
outputEnergies 1  # Energy output frequency
DCDfreq        1  # Trajectory file frequency
timestep       2  # in unit of fs
temperature    300  # Initial temp for velocity assignment
cutoff         999
switching      off  # Turn off the switching functions
PME            off  # Use PME for electrostatic calculation
amber          on  # Specify this is AMBER force field
parmfile       AAAamb.prmtop  # Input PARM file
ambercoor      AAAamb.inpcrd  # Input coordinate file
outputname     AAAamb  # Prefix of output files
exclude        scaled1-4
1-4scaling     0.833333  # =1/1.2, default is 1.0
minimize       0
EOF

I have only a 0.001 kcal/mol absolute diff (or relative 0.0037%) for the
Elec term, everything else is absolutely the same.

Then comes gromacs. I convert my prmtop and inpcrd to gromacs top and gro
with either acpype or amb2gmx and then doing a single point with file:

cat << EOF >| SPE.mdp
integrator               = md
nsteps                   = 0
dt                       = 0.001
constraints              = none
emtol                    = 10.0
emstep                   = 0.01
nstcomm                  = 1
ns_type                  = simple
nstlist                  = 0
rlist                    = 0
rcoulomb                 = 0
rvdw                     = 0
Tcoupl                   = no
Pcoupl                   = no
gen_vel                  = no
nstxout                  = 1
pbc                      = no
nstlog = 1
nstenergy = 1
nstvout = 1
nstfout = 1
nstxtcout = 1
comm_mode = ANGULAR
EOF

I got something like:
   Energies (kJ/mol)
           Bond          Angle Ryckaert-Bell.          LJ-14     Coulomb-14
    1.77662e+02    3.19281e+01    4.55707e+01    2.48926e+01    9.40060e+02
        LJ (SR)   Coulomb (SR)      Potential    Kinetic En.   Total Energy
   -9.21735e+00   -1.05005e+03    1.60848e+02    8.84934e+00    1.69697e+02
    Temperature Pressure (bar)
    2.28887e+01    0.00000e+00

First question, why I have temperature and kinetic energy? Remember, it's a
single point energy calculation, without any sort of coupling, 0 velocities
and and gen_vel = no.

Secondly, converting gromacs energies (kJ/mol) by dividing the terms by
4.184 and they don't match amber/namd results. See relative diffs
(abs(g-a)/max(abs(a),abs(g))):

Bond:    5.87%
Angle:   3.49%
Dihe:    0.14%
vdW:     0.52%
Elec:    0.17%
Pot.Tot: 5.90%

I am very surprised to find this difference, in special for Bond since it's
for this term essentially the same equation and parameters. Any ideas of
what could be missing here?

Many thanks,

Alan


-- 
Alan Wilter S. da Silva, D.Sc. - CCPN Research Associate
Department of Biochemistry, University of Cambridge.
80 Tennis Court Road, Cambridge CB2 1GA, UK.
>>http://www.bio.cam.ac.uk/~awd28<<
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20100727/aad37e98/attachment.html>


More information about the gromacs.org_gmx-users mailing list