Hi there,<div><br></div><div>Now I have some results that I hope to clear this matter about dihe funct 4 and 9 (specially the latter).</div><div><br></div><div>Please see:</div><div><br></div><div><a href="http://code.google.com/p/acpype/wiki/TestingAcpypeAmb2gmx">http://code.google.com/p/acpype/wiki/TestingAcpypeAmb2gmx</a></div>
<div><br></div><div>From my understanding (and results), where dihe funct 4 or 9, replacing both with 1 changes nothing in tot pot energy for amber force fields.</div><div><br></div><div>I don't know about charmm here, but I thought amber dihe parameters were sort multiple terms and as far as I remember, the need to convert proper dihe to RBs was necessary for early versions of gromacs 3.x, am I right?</div>
<div><br></div><div>Best,</div><div><br></div><div>Alan</div><div><br><div class="gmail_quote">On 18 August 2010 22:01, Alan <span dir="ltr"><<a href="mailto:alanwilter@gmail.com">alanwilter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div>Hi Berk and Mark,</div><div>Â Â </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Erik was too lazy to document this, I now added it to the manual.<br></blockquote><div><br></div><div>Is this manual available even via git? When funct 4 and 9 appeared? in gmx 4.5?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Type 4 is identical to type 1, it is only there to distinguish improper from proper dihedrals.<br>
</blockquote><div><br></div><div>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.</div><div>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Type 9 is identical to type 1, except that multiple entries in dihedraltypes will lead to<br>
multiple functions on one dihedral.<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>Sounds like funct 9 is to not only pave the way for Charmm, but may help to address properly the bsc0 parameters, right?</div><div><br></div><div>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 <a href="http://amb2gmx.pl" target="_blank">amb2gmx.pl</a> 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?</div>
<div>Â </div><div>Now on Mark:</div><div>Â </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Type 9 was added to facilitate CHARMM's multiple proper dihedrals, in git commit a7c597c778351f by Erik, whose message was<br>
<br>
  Added support for dihedraltype 9, which allows multiple terms for proper dihedrals.<br>
  By listing a dihedral with type 9, grompp will now scan the force field to see if there are<br>
  multiple terms on _adjacent_ lines listed in the dihedraltypes section, and in that case add them all.<br>
<br>
A code snippet in src/kernel/toppush.c reads<br>
<br>
    if(ft == 9)<br>
    {<br>
        /* Previously, we have always overwritten parameters if e.g. a torsion<br>
        with the same atomtypes occurs on multiple lines. However, CHARMM and<br>
        some other force fields specify multiple dihedrals over some bonds,<br>
        including cosines with multiplicity 6 and somethimes even higher.<br>
        Thus, they cannot be represented with Ryckaert-Bellemans terms.<br>
        To add support for these force fields, Dihedral type 9 is identical to<br>
        normal proper dihedrals, but repeated entries are allowed.<br>
        */<br>
        bAllowRepeat = TRUE;<br>
        ft = 1;<br>
    }<br></blockquote><div><br></div><div>So <a href="http://amb2gmx.pl" target="_blank">amb2gmx.pl</a> never worked properly here? For example, I have this for DNA with amber99bsc0:</div><div><br></div><div><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;white-space:pre-wrap"><div>
; treated as usual propers in GROMACS since Phase angle diff from 0 or 180 degrees</div><div>; i  j  k  l func  phase   kd    pn</div><div>  2  3  6  23  1  190.98  4.92892  1 ;   O5'-  C5'-  C4'-  C3'</div>
<div>Â Â 2 Â 3 Â 6 Â 23 Â 1 Â 295.63 Â 0.38535 Â 2 ; Â Â O5'- Â C5'- Â C4'- Â C3'</div><div>Â Â 2 Â 3 Â 6 Â 23 Â 1 Â 348.10 Â 4.02848 Â 3 ; Â Â O5'- Â C5'- Â C4'- Â C3'</div><div>Â 28 Â 29 Â 32 Â 33 Â 1 Â Â 31.80 Â 0.77480 Â 1 ; Â Â O3'- Â Â P- Â O5'- Â C5'</div>
<div>Â 28 Â 29 Â 32 Â 33 Â 1 Â 351.96 Â 5.25733 Â 2 ; Â Â O3'- Â Â P- Â O5'- Â C5'</div><div>Â 28 Â 29 Â 32 Â 33 Â 1 Â 357.25 Â 1.48473 Â 3 ; Â Â O3'- Â Â P- Â O5'- Â C5'</div><div><br></div></span></div><div>
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?</div><div>Â </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>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.<br>
<br>
src/gmxlib/ifunc.c did suggest to me that something is not quite right...<br>
<br>
 def_bonded  ("PDIHS",   "Proper Dih.",   4, 3, 3,  eNR_PROPER, pdihs     ),<br>
 def_bonded  ("RBDIHS",  "Ryckaert-Bell.",  4, 6, 6,  eNR_RB, rbdihs       ),<br>
 def_bonded  ("FOURDIHS", "Fourier Dih.",   4, 4, 4,  eNR_FOURDIH, rbdihs    ),<br>
 def_bonded  ("IDIHS",   "Improper Dih.",  4, 2, 2,  eNR_IMPROPER,idihs     ),<br>
 def_bonded  ("PIDIHS",  "Improper Dih.",  4, 3, 3,  eNR_PROPER, pdihs     ),<br>
<br>
If PIDIHS is an improper dihedral with the functional form of a proper dihedral, should it not use eNR_IMPROPER?<br></blockquote><div><br></div><div><div>I definitely need to run my validations myself, but any words here would be helpful.</div>
</div><div>Â </div></div>Many thanks you all.<div><br></div><div>Cheers,</div><div><br></div><div>Alan<br clear="all"><br>-- <br>Alan Wilter S. da Silva, D.Sc. - CCPN Research Associate<br>Department of Biochemistry, University of Cambridge. <br>
80 Tennis Court Road, Cambridge CB2 1GA, UK.<br>>><a href="http://www.bio.cam.ac.uk/~awd28" target="_blank">http://www.bio.cam.ac.uk/~awd28</a><<<br>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>Alan Wilter S. da Silva, D.Sc. - CCPN Research Associate<br>Department of Biochemistry, University of Cambridge. <br>80 Tennis Court Road, Cambridge CB2 1GA, UK.<br>>><a href="http://www.bio.cam.ac.uk/~awd28">http://www.bio.cam.ac.uk/~awd28</a><<<br>
</div>