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.

Hello, I also just started to use gromcas charmm36 force field and chamm-gui for calculation, and I also encountered the same problem, how did you solve it?
I do this by using the molecules.ITP generated by charmm-gui and the standard charmm36 force field:
#include “charmm36-jul2021.ff/forcefield.itp”
#include “charmm36-jul2021.ff/tip3p.itp”
#include “DOPC.itp”

ERROR 1 [file DOPC.itp, line 181] is displayed:
No default Bond types
ERROR 2 [file DOPC.itp, line 182]:
No default Bond types
Can not find the corresponding bond, may I ask you how to solve, looking forward to your reply, thank you!

Hi Sir,
Iam facing same issue. Can you please guide me? How were you able to resolve the issue? N
o matter what I do there is issue with the version or the file.

Sir,
I was trying to increase the size of box after generating a protein water system in charmm gui as for bigger system charmm gui terminates after 7 days. I created a box using editconf and solvate. Iam using TIP3 but the topol.top generated has SOL. So, I changed the topol.top by adding the SOL atoms to TIP3 and changed gro file using vmd renaming the SOL to TIP3 and OW to OH2, HW1 to H1, HW2 to H2 as per the TIP3 forcefield. Is this practice acceptable, if not can please guide me. Using this, I was able to run grommp and generate em.tpr.

Thanking you
Manisha

What TIP3 “forcefield” are you using? I assume you mean TIP3P, right? As far as I know, the standard naming is SOL, OW, HW1 and HW2, at least in the water model topologies that are shipped with GROMACS and in the GROMACS versions of CHARMM force fields.

You shouldn’t have to rename your water molecules.

Yes Sir, Iam using TIP3P. No Sir, Charmm generated gro file has TIP3, OH2, H1,H2.

TIP3P GRO FILE (CHARMM small molecule library)
REMARK MINIMIZED STRUCTURE OF TIP3, CONTRIBUTION FROM ALEX MACKERELL.
REMARK DATE: 10/27/ 7 12:52:21 CREATED BY USER: charmm-gui
ATOM 1 OH2 TIP3 1 0.000 -0.066 0.000 1.00 0.00 TIP3
ATOM 2 H1 TIP3 1 0.757 0.520 0.000 1.00 0.00 TIP3
ATOM 3 H2 TIP3 1 -0.757 0.520 0.000 1.00 0.00 TIP3
TER 4 TIP3 1
END

If I do not rename, I get errors while generating em.tpr.

OK. I see. I would suggest not changing the topology (tip3p.itp). You can either:

  • Rename the atoms in the .gro file (not by hand).
  • Leave the .gro file as it is. Since you know why the warning occurs and you have already verified that there is not serious problem, you can ignore the warning in this specific case with -maxwarn 1. The output .gro file from the energy minimization will then have names that match the topology and you will not get warnings in future equilibration/production stages.

Ok Sir. Thank you much.

Manisha