[gmx-users] amb2gmx.pl script ignores negative values of PK?

Andrei Neamtu neamtuandrei at gmail.com
Tue Oct 19 14:27:02 CEST 2010

Hi all,

There is a problem that I encountered when I was trying to manually
verify the proper dihedral conversion from AMBER topology to GROMACS
topology using amb2gmx perl script.
Some of the dihedrals were set to zero by amb2gmx even if in the
prmtop file they were not zero. This was happening for all the lines
that had PK with negative values!. Reading the script I came up with
the following lines for V[i] calculation (lines 749  to 755 in the
script file):


  # get all force constants for each line of a dihedral #
  my $lines = $i -1 +$numijkl;
  for(my $j=$i;$j<=$lines;$j++){
    my $period = abs($pn{$j});
    if($pk{$j}>0) {
      $V[$period] = 2*$pk{$j}*$cal/$idivf{$j};


It seems from here that only PK values > 0 are considered when
computing the RB constants.
After I change the ">" sign to "!=" (i.e. not equal to) everything
goes fine and ALL the dihedral are transformed correctly.

While this is OK with different  AMBER sets and GAFF if one wish to
convert a GLYCAM (which comes also with Amber package) generated
topology, in the gromacs resultant file there will be missing
parameters for dihedrals. That's because GLYCAM does not use phase
shift and have also negative values for several PK

Is this a bug or there is a reason for considering only the positive
values of PK or I am missing something (as I am a begginer with
(or maybe amb2gmx was designed only to work an AMBER ff conversion and
not for example GLYCAM)

Thanks for any comment,

More information about the gromacs.org_gmx-users mailing list