Issue with topology file format? Molecule type XXX contains no atoms

GROMACS version:
GROMACS modification: /No
Here post your question

I’m a new Gromacs user, working with a molecule IBP (ibuprofen) in Charmm36.

I keep getting issues using grompp where it says “Molecule Type IBP contains no atoms”.

I have double and triple checked the formatting of my topol.top and IBP.itp files, and I have no idea what the issue is. If someone could help that would be immensely appreciated.

topol.top file looks like this:

; Include forcefield parameters
#include “charmm36.itp”
#include “IBP.itp”

[ system ]
; Name
Title in water

[ molecules ]
; Compound #mols
IBP 1
SOL 2223

itp looks like this:

[ moleculetype ]
; name nrexcl
IBP 3
SOL 1000

[ atoms ]
; nr type resnr residu atom cgnr charge mass
1 CG2O3 1 IBP C1 1 0.559 12.0110 ; qtot 0.559
2 CG321 1 IBP C2 2 -0.171 12.0110 ; qtot 0.388
3 CG311 1 IBP C3 3 -0.101 12.0110 ; qtot 0.287
4 CG331 1 IBP C4 4 -0.268 12.0110 ; qtot 0.019
5 CG331 1 IBP C5 5 -0.268 12.0110 ; qtot -0.249

(There is additional stuff below)

The .gro file looks like this:

IBP
6701
1IBP C1 1 1.979 2.010 1.596
1IBP C2 2 1.925 1.993 2.252
1IBP C3 3 2.021 2.074 2.341
1IBP C4 4 1.973 2.070 2.487
1IBP C5 5 2.166 2.024 2.333

Please help…

Thanks

[ moleculetype ]
; name nrexcl
IBP 3
SOL 1000

The last line here, why is that in your IBP.itp file?

I kept getting a fatal error when I did the grompp that said:

"ERROR 1 [file topol.top, line 23]:
No such moleculetype SOL

There was 1 note


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

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

For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors"

So I added a SOL moleculetype. After I do that, I get the error “Moleculetype IBP contains no atoms” at which point I’m lost.

Thanks for the reply.

You need to include the .itp file for the water, which will typically be contained within the forcefield directory you are using, in the same manner you included the IBP.itp in the topology (.top) file.

Ok, so I followed your advice and I redid everything with an include statement for the water .itp file. The Moleculetype in my IBP.itp file doesn’t have the SOL entry anymore. My topol.top file and it looks like this:

; Include forcefield parameters
#include “charmm36.itp”
#include “IBP.itp”
#include “charmm36-jul2020.ff/tip3p.itp”

[ system ]
; Name
Title

[ molecules ]
; Compound #mols
IBP 1
SOL 2223

I got a settles error:

ERROR 1 [file tip3p.itp, line 43]:
Atom index (1) in settles out of bounds (1-0).
This probably means that you have inserted topology section “settles”
in a part belonging to a different molecule than you intended to.
In that case move the “settles” section to the right molecule.

Tip3p models can be run by Charmm36, so I’m not sure why I’m getting this error. My tip3p.itp file looks like this in case you are wondering:

[ moleculetype ]
; molname nrexcl
SOL 2

[ atoms ]
; id at type res nr residu name at name cg nr charge
#ifdef _FF_CHARMM
1 OT 1 SOL OW 1 -0.834
2 HT 1 SOL HW1 1 0.417
3 HT 1 SOL HW2 1 0.417
#endif

#ifdef FLEXIBLE

#ifdef ORIGINAL_TIP3P
[ bonds ]
; i j funct length force.c.
1 2 1 0.09572 502416.0 0.09572 502416.0
1 3 1 0.09572 502416.0 0.09572 502416.0

[ angles ]
; i j k funct angle force.c.
2 1 3 1 104.52 628.02 104.52 628.02

#else
;CHARMM TIP3p
[ bonds ]
; i j funct length force.c.
1 2 1 0.09572 376560.0 0.09572 376560.0
1 3 1 0.09572 376560.0 0.09572 376560.0

[ angles ]
; i j k funct angle force.c.
2 1 3 1 104.52 460.24 104.52 460.24
#endif

#else
[ settles ]
; i j funct length
1 1 0.09572 0.15139

[ exclusions ]
1 2 3
2 1 3
3 1 2
#endif

Thanks again

It looks to me like you’re trying to hybridize files provided by CHARMM-GUI with those of the standard CHARMM36 force field port, is that right? If so, probably charmm36.itp does not have a #define _FF_CHARMM statement, so your tip3p.itp file has no atoms in it.

It may be simpler to work off the standard force field port and simply #include the molecule .itp file, rather than trying to hack at things. CHARMM-GUI only provides a subset of the force field parameters that are relevant to your simulation, if you make changes, then things may or may not work. Next, you’ll likely get an error that atom types OT and HT are unknown…

You are 100% right. I used Charmm gui to generate the files I am using, and I thought I could just put them in the main directory file and run the simulation. I realized last night that I was having the #define statement issue. I’m going to use the regular charmm forcefield port like you’re suggesting today. If I have issues I’ll ask again. I appreciate the response.

Honestly, this is my first time using Gromacs or charmm, so I’m kind of figuring things out as I go along. I appreciate your time and help, and I will send any questions if I have issues.

So I followed your advice and used the regular Charmm port. Everything went smoothly until it came to actually starting the simulation I had an issue with the temperature coupling. I used the same nvt.mdp file that was provided in the lysozyme tutorial, except I altered the temperature coupling for my molecules: IBP, SOL and NA, using the same tau and ref values. When I tried to run the simulation I got this error:

“The v-rescale thermostat was called with a group with #DOF=2.999329, but* > *for #DOF<3 only integer #DOF are supported”

I see that there was something to do with a bug fix earlier, but I’m not sure what this is referring to. I tried removing the temperature coupling for the NA ion, but I still got the same issue.

https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-users/2014-October/092785.html

Thanks

You shouldn’t couple everything separately. If you have a small molecule in solution with water and ions, tc-grps = System.