[gmx-users] pdb2gmx: c-terminal oxygens considered duplicate atoms

jak137 at o2.pl jak137 at o2.pl
Fri Jun 18 18:33:47 CEST 2010


There seem to be a problem with pdb2gmx's way of handling c-terminal oxygen atoms. As far as I understand in the case of G53a6 force field there are two (excluding [None]) choices:
[ COO- ] with oxygen atoms named 'O1' and 'O2'
[ COOH ] with oxygen atoms named 'O' and 'OT' (and hydrogen atom 'HT')
However, it is impossible to provide in a pdb input file coordinates for both of the oxygen atoms [if atoms are to be sorted]. It happens due to the fact that in both cases, both oxygen atom names are translated to just 'O' and than one of them is recognized as duplicate and gets removed. A new position is later assigned. On the other hand, if one disables automatic name translation by editing a local copy of xlateat.dat than the program fails with a fatal error like "Atom O1 in residue LYS 18 not found in rtp entry with 12 atoms while sorting atoms".

The atom name translating function rename_atoms() is called in read_pdball() called from main() before looping over chains. Than in the chain loop function sort_pdbatoms() which checks for atom names in residue data is called and than remove_duplicate_atoms() is called. Only later in this loop user is asked to choose termini types.

Consider for example a pdb file with the following content (named Ala2.pdb):

ATOM  1      O   ALA  1       -0.321  -1.578  -1.457  1.00  300.00
ATOM  2      C   ALA  1       0.399   -0.898  -0.728  1.00  300.00
ATOM  3      CA  ALA  1       1.921   -0.898  -0.728  1.00  300.00
ATOM  4      N   ALA  1       2.443   0.454   -0.728  1.00  300.00
ATOM  5      CB  ALA  1       2.387   -1.667  0.505   1.00  300.00
ATOM  6      OT  ALA  2       -3.422  0.890   -1.054  1.00  300.00
ATOM  7      C   ALA  2       -2.239  0.642   -0.823  1.00  300.00
ATOM  8      N   ALA  2       -0.132  0.037   0.274   1.00  300.00
ATOM  9      CA  ALA  2       -1.557  0.220   0.471   1.00  300.00
ATOM  10     O   ALA  2       -1.574  0.787   -1.873  1.00  300.00
ATOM  11     CB  ALA  2       -1.833  1.297   1.516   1.00  300.00

Process it with:

echo "0 1" | pdb2gmx -v -ff G53a6 -f Ala2.pdb -ter

Even though the initial structure is correct, the resulting conf.gro file has two nearly overlapping c-terminal oxygens - the distance is only 0.46 Ang. It should be fixed by minimization, but it would be better if all atom positions were conserved by pdb2gmx.

One last thing. I think it would be prudent to mention the role of xlateat.dat file in a manual section describing the program. I have learned about the very existence of the file after studying the sources... Only later I found a post from 2003 that gives an explanation: http://oldwww.gromacs.org/pipermail/gmx-users/2003-October/007378.html 

Best regards and thank you for a great program!


More information about the gromacs.org_gmx-users mailing list