ERROR No such moleculetype NA

GROMACS version:
GROMACS modification: Yes/No

I got this error
when I run the line: gmx grompp -f em.mdp -c solv_ions.gro -p -o em.tpr -maxwarn 10
in the there is 3 NA atoms

          :-) GROMACS - gmx grompp, 2020.1-Ubuntu-2020.1-1 (-:

                        GROMACS is written by:
 Emile Apol      Rossen Apostolov      Paul Bauer     Herman J.C. Berendsen
Par Bjelkmar      Christian Blau   Viacheslav Bolnykh     Kevin Boyd

Aldert van Buuren Rudi van Drunen Anton Feenstra Alan Gray
Gerrit Groenhof Anca Hamuraru Vincent Hindriksen M. Eric Irrgang
Aleksei Iupinov Christoph Junghans Joe Jordan Dimitrios Karkoulis
Peter Kasson Jiri Kraus Carsten Kutzner Per Larsson
Justin A. Lemkul Viveca Lindahl Magnus Lundborg Erik Marklund
Pascal Merz Pieter Meulenhoff Teemu Murtola Szilard Pall
Sander Pronk Roland Schulz Michael Shirts Alexey Shvetsov
Alfons Sijbers Peter Tieleman Jon Vincent Teemu Virolainen
Christian Wennberg Maarten Wolf Artem Zhmurov
and the project leaders:
Mark Abraham, Berk Hess, Erik Lindahl, and David van der Spoel

Copyright (c) 1991-2000, University of Groningen, The Netherlands.
Copyright (c) 2001-2019, The GROMACS development team at
Uppsala University, Stockholm University and
the Royal Institute of Technology, Sweden.
check out for more information.

GROMACS is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1
of the License, or (at your option) any later version.

GROMACS: gmx grompp, version 2020.1-Ubuntu-2020.1-1
Executable: /usr/bin/gmx
Data prefix: /usr
Working dir: /mnt/d/Articles/Y MDs/Works/2022/Linani
Command line:
gmx grompp -f em.mdp -c solv_ions.gro -p -o em.tpr -maxwarn 0

Ignoring obsolete mdp entry ‘title’
Ignoring obsolete mdp entry ‘ns_type’

NOTE 1 [file em.mdp]:
With Verlet lists the optimal nstlist is >= 10, with GPUs >= 20. Note
that with the Verlet scheme, nstlist has no effect on the accuracy of
your simulation.

Setting the LD random seed to -2060518907
Generated 167799 of the 167910 non-bonded parameter combinations
Generating 1-4 interactions: fudge = 1
Generated 117519 of the 167910 1-4 parameter combinations
Excluding 3 bonded neighbours molecule type ‘Protein_chain_C’
Excluding 3 bonded neighbours molecule type ‘cp11’
Excluding 2 bonded neighbours molecule type ‘SOL’

ERROR 1 [file, line 109640]:
No such moleculetype NA

There was 1 note

Program: gmx grompp, version 2020.1-Ubuntu-2020.1-1
Source file: src/gromacs/gmxpreprocess/toppush.cpp (line 2511)

Fatal error:
There was 1 error in input file(s)

For more information and tips for troubleshooting, please check the GROMACS
website at Common Errors — GROMACS webpage documentation

Please how can I fix it?

Such an error occurs when file do not include force-field-parameters information on a specific molecular type. In your case the problem is molecular type NA. Normally in force field ported to GROMACS, ions parameters are defined in ions.itp and this file needs to be included in the topology file.
Best regards

Hi Serta
Which forcefield are you using? In the latest charmm36-july2021 forcefield the sodium ions are represented by SOD and not NA. You can look into the ions.itp file in your forcefield directory and look for the correct naming. Once you locate the correct name you can update that in your .gro and files. I hope this helps. 😊

Isn’t it possible to make changes in charmm36-july2021? ie rather changing NA to SOD in .gro file, change SOD to NA in charmm file.
I am also facing the similar type of error why executing gmx grompp -f minim.mdp -c test_solv_ions.gro -p -o em.tpr

ERROR 1 [file, line 115603]:
  No such moleculetype NA

There was 1 note

Program:     gmx grompp, version 2022.2
Source file: src/gromacs/gmxpreprocess/toppush.cpp (line 2558)

Fatal error:
There was 1 error in input file(s)


I got it fixed by changing the force field from charmm36-jul2021 to charmm36-may2019.
In charmm36-jul2021, atom names are defined differently comparative to their previous versions.

in charmm36-jul2021, ions.itp

[ moleculetype ]
;Lithium Ion
; molname  nrexcl
LIT        3

[ atoms ]
; id    at type     res nr  res name   at name  cg nr  charge    mass
  1     LIT         1	   LIT        LIT      1       1.000     6.94100 ; qtot = 1.000000

[ moleculetype ]
;Sodium Ion
; molname  nrexcl
SOD        3

while in charmm36-may2019, ions.itp

[ moleculetype ]
; molname	nrexcl
LI              1

[ atoms ]
; id    at type         res nr  residu name at name  cg nr	charge   
1               LIT                     1               LI                      LI               1              1  

[ moleculetype ]
; molname	nrexcl
NA              1

it is possible to change the molecule and atom names in charmm36-july2021, as you have found out. However, changing the .gro file should also not be problematic, either by an interactive editor, using the Replace All feature (take care of the whitespaces, though, as the .gro files are not free-format!), or by some command-line magic (e.g. sed).
The atom naming has indeed changed between the two releases of the GROMACS CHARMM ports. The former releases of the ports contained much hand-crafted data, including custom atom names. In the July 2021 release we decided to automate the conversion process as much as possible, and to retain the original CHARMM nomenclature (which has not changed).
I’d advise to change your input files, to be future-proof.

Hope that helps.


Thanks @awacha for your suggestions.

you mean to change all the atoms name in the input files as per the new convention of charmm36-july2021 force field?

i.e NA–> SOD, LI–>LIT

Hi shivam,

Hope you are doing fine. Did you get the solution? I am facing the same issue with Charmm36-July2021 forcefield file. Please give your comments.

Dear @shivam1 and @SarthakTrivedi,
yes, the atoms in the coordinate file should be renamed from NA to SOD and LI to LIT.
It is always desirable to adapt your data (coordinate files) to the upstream data (force field files) and not vice versa.
By the way, @shivam1 and @SarthakTrivedi, where did you get the coordinate files from? And how did NA and LI appear there?

1 Like

Hi @SarthakTrivedi

I have switched to charmm36-may2019 and it works fine.

however I don’t know the actual difference between charmm2019 and charmm2021 force fields. ie what the impact of switching forcefield version on the simulation.

May be later, I will compare the generated data and outcomes.

Hi @awacha
Thanks for your suggestions.

quote=“awacha, post:9, topic:4318”]
By the way, @shivam1 and @SarthakTrivedi, where did you get the coordinate files from? And how did NA and LI appear there?

While generating topol file after adding solvent and ions it shows NA and Cl ion added into topol file. I took LIT as an example as it is a neighbor of SOD in charmm36-jul2021.

Essentially nothing. We keep adding to the force field as new parameters and residues are added. The core force field has been the same since about 2016 when CHARMM36m was introduced for proteins.

If you told genion to add atoms named NA and CL, then indeed this is what you get. The force field is now automatically generated from the parent CHARMM force field files, rather than having tons of manually written residue entries and such. For using the July 2021 version and everything hereafter, users need to employ the CHARMM nomenclature for ions, LIT, SOD, POT, etc. It’s a little weird, admittedly, but that’s what it is, and it improves interoperability between CHARMM and GROMACS.

Thanks for the kind explanation.

The simple way i found is, in command “gmx genion -s ions.tpr -o solv_ions.gro -p -pname NA -nname CL -neutral” instead of NA and CL use SOD and CLA…this will not generate any error in further process. So the new command one should use is: “gmx genion -s ions.tpr -o solv_ions.gro -p -pname SOD -nname CLA -neutral”

Seems this problem has been solved now. We can choose either CL/NA or SOD/CLA while adding ions. I tried with both type of nomenclatures, I found no error with charmm36-july2021