[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