[gmx-users] Re: dihedraltypes funct 4 and 9 in gmx 4.5 amber

Berk Hess gmx3 at hotmail.com
Thu Aug 19 08:51:14 CEST 2010


Yes, functiontype 1 and 4 are identical, except that the energy gets added to different terms
in the log and energy file.

In Gromacs 4.0 (and before) to get a dihedral potential consisting of a sum of cosines with
different periodes you could do two things:
1) list multiple proper dihedrals (type 1) in the [ dihedrals ] section
2) use RB dihedrals

With 4.5 there is the new option
3) list 1 dihedral type 9 in the [ dihedrals ] section and use multiple entries
type 9 in the [ dihedraltypes ] section

When converted properly, all three will give the same results.

The update I added to the manual is only available through git currently,
but there's not much more info than mailed here.


From: alanwilter at gmail.com
Date: Wed, 18 Aug 2010 22:01:58 +0100
To: gmx-users at gromacs.org
Subject: [gmx-users] Re: dihedraltypes funct 4 and 9 in gmx 4.5 amber

Hi Berk and Mark,  
Erik was too lazy to document this, I now added it to the manual.

Is this manual available even via git? When funct 4 and 9 appeared? in gmx 4.5?

Type 4 is identical to type 1, it is only there to distinguish improper from proper dihedrals.

So for amber impr. dih. only, if I put 1 instead of 4 I for my GAFF generated ligand it would do the same thing, right? I ask that for the grace of compatibility with gmx 4.0.x.

Type 9 is identical to type 1, except that multiple entries in dihedraltypes will lead to

multiple functions on one dihedral.

This one is more difficult to get. I know about multiple entries in CNS, Charmm and Amber. I was even trying to convert amber99bsc0 new dih parameters to gromacs and I was using funct 1. However I didn't have Amber to validate, and now I have Amber11, I don't have time for the moment.

Sounds like funct 9 is to not only pave the way for Charmm, but may help to address properly the bsc0 parameters, right?
But I need to understand this better. Converting amber's proper dih. param. to gromacs 4.0.x was done by making these dih. to be RB. However amb2gmx.pl converts everything to proper (using funct 1) -- acpype is smarter here. So in gmx 4.0.x proper dih. funct 1 was never able to interpret multiple entries on one dihedral?

 Now on Mark: Type 9 was added to facilitate CHARMM's multiple proper dihedrals, in git commit a7c597c778351f by Erik, whose message was

    Added support for dihedraltype 9, which allows multiple terms for proper dihedrals.

    By listing a dihedral with type 9, grompp will now scan the force field to see if there are

    multiple terms on _adjacent_ lines listed in the dihedraltypes section, and in that case add them all.

A code snippet in src/kernel/toppush.c reads

        if(ft == 9)


                /* Previously, we have always overwritten parameters if e.g. a torsion

                 with the same atomtypes occurs on multiple lines. However, CHARMM and

                 some other force fields specify multiple dihedrals over some bonds,

                 including cosines with multiplicity 6 and somethimes even higher.

                 Thus, they cannot be represented with Ryckaert-Bellemans terms.

                 To add support for these force fields, Dihedral type 9 is identical to

                 normal proper dihedrals, but repeated entries are allowed.


                bAllowRepeat = TRUE;

                ft = 1;


So amb2gmx.pl never worked properly here? For example, I have this for DNA with amber99bsc0:

; treated as usual propers in GROMACS since Phase angle diff from 0 or 180 degrees; i   j   k   l func  phase     kd      pn  2   3   6  23   1   190.98   4.92892   1 ;    O5'-   C5'-   C4'-   C3'

  2   3   6  23   1   295.63   0.38535   2 ;    O5'-   C5'-   C4'-   C3'  2   3   6  23   1   348.10   4.02848   3 ;    O5'-   C5'-   C4'-   C3' 28  29  32  33   1    31.80   0.77480   1 ;    O3'-     P-   O5'-   C5'

 28  29  32  33   1   351.96   5.25733   2 ;    O3'-     P-   O5'-   C5' 28  29  32  33   1   357.25   1.48473   3 ;    O3'-     P-   O5'-   C5'

So, this would only work if funct was 9 and not 1 as above? The way it is, the last line of a sequence dih. is overwriting the 2 previous one, ignoring them completely? 

>From src/gmxlib/{ifunc,bondfree}.c and src/kernel/{topdirs,toppush}.c it can be seen that dihedraltypes 4 and 1 call the same evaluation function. Perhaps Erik can confirm this.

src/gmxlib/ifunc.c did suggest to me that something is not quite right...

  def_bonded  ("PDIHS",    "Proper Dih.",     4, 3, 3,  eNR_PROPER, pdihs         ),

  def_bonded  ("RBDIHS",   "Ryckaert-Bell.",  4, 6, 6,  eNR_RB, rbdihs            ),

  def_bonded  ("FOURDIHS", "Fourier Dih.",    4, 4, 4,  eNR_FOURDIH, rbdihs       ),

  def_bonded  ("IDIHS",    "Improper Dih.",   4, 2, 2,  eNR_IMPROPER,idihs        ),

  def_bonded  ("PIDIHS",   "Improper Dih.",   4, 3, 3,  eNR_PROPER, pdihs         ),

If PIDIHS is an improper dihedral with the functional form of a proper dihedral, should it not use eNR_IMPROPER?

I definitely need to run my validations myself, but any words here would be helpful.

 Many thanks you all.
Alan Wilter S. da Silva, D.Sc. - CCPN Research Associate
Department of Biochemistry, University of Cambridge. 

80 Tennis Court Road, Cambridge CB2 1GA, UK.

gmx-users mailing list    gmx-users at gromacs.org
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the 
www interface or send it to gmx-users-request at gromacs.org.
Can't post? Read http://www.gromacs.org/mailing_lists/users.php 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20100819/55fe2d32/attachment.html>

More information about the gromacs.org_gmx-users mailing list