[gmx-users] Gromacs bug related to rms and atommass.dat interplay (Can not find mass in database for atom MG in residue)

Justin Lemkul jalemkul at vt.edu
Wed Feb 5 13:14:25 CET 2020



On 2/5/20 4:58 AM, Vedat Durmaz wrote:
> Hi there,
>
> I'm pretty sure it's not a feature but a bug which I've faced in the GMX
> versions 2018.7, 2019.5 an 2020.
>
> When I try to calculate RMSD values for a protein system including a
> catalytic magnesium ion "Mg" using the command
>
> gmx rms -s mol.pdb -f mol.xtc -f2 mol.xtc -o mol-rmsd.xvg -debug
>
> I get this error:
>
>
> Can not find mass in database for atom MG in residue 1370 MG
>
> -------------------------------------------------------
> Program:     gmx rms, version 2019.5
> Source file: src/gromacs/fileio/confio.cpp (line 517)
>
> Fatal error:
> Masses were requested, but for some atom(s) masses could not be found in the
> database. Use a tpr file as input, if possible, or add these atoms to
> the mass
> database.
>
> Let's accept for the moment that using a .tpr file with -s (rather than
> a .pdb file) is no option for me. Consequently, gmx retrieves atom
> masses from atommass.dat which actually contains the Mg ion:
>
>
> ; NOTE: longest names match
> ; General atoms
> ; '???' or '*' matches any residue name
> ???  H      1.00790
> ???  He     4.00260
> ???  Li     6.94100
> ???  Be     9.01220
> ???  B     10.81100
> ???  C     12.01070
> ???  N     14.00670
> ???  O     15.99940
> ???  F     18.99840
> ???  Ne    20.17970
> ???  Na    22.98970
> ???  Mg    24.30500    <<< in this line
> ???  Al    26.98150
> ???  Si    28.08550
> ???  P     30.97380
>
>
> Having a look at the log file of "gmx rms -debug ...", I see some
> strange output. Here's a snippet:
>
>
> searching residue:  ??? atom:    H
>   not successful
> searching residue:  ??? atom:   He
>   match:  ???    H
> searching residue:  ??? atom:   Li
>   not successful
> searching residue:  ??? atom:   Be
>   not successful
> searching residue:  ??? atom:    B
>   not successful
> searching residue:  ??? atom:    C
>   not successful
> searching residue:  ??? atom:    N
>   not successful
> searching residue:  ??? atom:    O
>   not successful
> searching residue:  ??? atom:    F
>   not successful
> searching residue:  ??? atom:   Ne
>   match:  ???    N
> searching residue:  ??? atom:   Na
>   match:  ???    N
> searching residue:  ??? atom:   Mg
>   not successful
> searching residue:  ??? atom:   Al
>   not successful
> searching residue:  ??? atom:   Si
>   not successful
> searching residue:  ??? atom:    P
>   not successful
> searching residue:  ??? atom:    S
>   not successful
> searching residue:  ??? atom:   Cl
>   match:  ???    C
>   ...
> searching residue:  ??? atom:   Cu
>   match:  ???    C
> ...
>
>
> I don't know what exactly the rms command is doing in the scenes and
> also don't want to agonize over the cpp code. But to me it seems as if
> the element assignment is based only on the FIRST LETTER of each element
> name. If I use copper (Cu) instead of magnesium, the program runs fine.
> Now let's compare the Cu lines with the Mg lines in the debugging output
> above.
>
> searching residue:  ??? atom:   Cu
>   match:  ???    C
>
> searching residue:  ??? atom:   Mg
>   not successful
>
> Obviously, Cu is found because the first letter of its element
> abbreviation, C (because Cu[index 0] is C) does exist as an element, but
> there is no element M, the first letter of Mg. A little test
> (respectively an improper workaround). If I add a line for the element
> "M" to atommass.dat like this
>
> ???  Na    22.98970
> ???  Mg    24.30500
> ???  M     24.30500      <<< new line
> ???  Al    26.98150
>
> then the rms command executed on the protein with Mg runs without any
> error. But this observation also implies that masses, the rms command
> retrieves from atommass.dat, are wrong because, e.g., to each of Cl, Cr,
> Cu and Co, the mass of C is assigned.
>
>
> I see 2 options for GMX developers. Either you check the
> rms<->atommass.dat interplay, or you disable the possibility to use PDB
> files with the -s option. However, I would strongly discourage from the
> latter decision since there are cases where you have an xtc trajectory
> possibly generated with another tool along with a pdb file, but you
> don't want to spend too much time in the generation of a proper tpr file.

Please file a bug report on redmine.gromacs.org.

-Justin

-- 
==================================================

Justin A. Lemkul, Ph.D.
Assistant Professor
Office: 301 Fralin Hall
Lab: 303 Engel Hall

Virginia Tech Department of Biochemistry
340 West Campus Dr.
Blacksburg, VA 24061

jalemkul at vt.edu | (540) 231-3129
http://www.thelemkullab.com

==================================================



More information about the gromacs.org_gmx-users mailing list