Ion simulation using Madrid 2019 FF, in tip4p-2005 water

GROMACS version:2020.6
GROMACS modification:No

Good afternoon everyone,
I would like to simulate Mg2+ ion in tip4p-2005 water, using the madrid2019 FF ( Cookie Absent ).
In the Supp.Info of the paper there is a topology.top including both the parameters of the ions and of the water model.
My idea was to create a box of tip4p-2005 water with

  • gmx solvate -cs tip4p.gro -o water_box.gro -box 3 3 3 -p topol.top

and then add the ion with gmx solvate. However, when I do the grompp step:

  • gmx grompp -f ions.mdp -p topol.top -c water_box.gro -o ions.tpr

I get the error
“Fatal error:
No molecules were defined in the system”.

The only molecules I added are the water molecules (SOL), however I don t see why this is a problem.
Below I put the topol.top from the Supp Info, before I begun the procedure I deleted the content of section [molecules], since these are not the atoms I want to simulate.

Any help is appreciated,
Giulia

“”"
[ defaults ]
; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
1 2 no 1.0 1.0

[atomtypes]
;name mass charge ptype sigma epsilon
Na 22.9898 0.850 A 0.22173668 1.47235577
Mg 24.305 1.700 A 0.11629000 3.65190000
Ca 40.078 1.700 A 0.26656000 0.50720000
K 39.0983 0.850 A 0.23014000 1.98574000
Li 6.94100 0.850 A 0.14397000 0.43508986
Cl 35.4530 -0.850 A 0.46990563 0.07692308
OSO4 24.01565 -0.650 A 0.36500000 0.83740000
SSO4 0 0.900 D 0.35500000 1.04670000
IW 0 0.000 D 0.00000000 0.00000000
OWT4 15.9994 0.000 A 0.31589000 0.77490765
HW 1.00794 0.000 A 0.00000000 0.00000000

[nonbond_params]
;i j func sigma epsilon
Cl OWT4 1 0.42386698 0.06198347
Na OWT4 1 0.26083754 0.79338830
Na Cl 1 0.30051231 1.43889423
Mg OWT4 1 0.18100000 12.0000000
Mg Cl 1 0.30000000 3.00000000
Ca OWT4 1 0.24000000 7.25000000
Ca Cl 1 0.31500000 1.00000000
K OWT4 1 0.28904000 1.40043000
K Cl 1 0.33970000 1.40000000
Li OWT4 1 0.21200000 0.70065003
Li Cl 1 0.27000000 1.28294385
OSO4 OWT4 1 0.34044500 0.62900000
Mg OSO4 1 0.24064500 2.74874271
K OSO4 1 0.32000000 1.28951878
Li OSO4 1 0.28448500 0.80360935

[moleculetype]
; name nrexcl
water 1

[atoms]
; nr type resnr residu atom cgnr charge
1 OWT4 1 water OW1 1 0 15.9994
2 HW 1 water HW2 1 0.5564 1.00794
3 HW 1 water HW3 1 0.5564 1.00794
4 IW 1 water MW4 1 -1.1128 0.0

[constraints]
;i j funct doh dhh
1 2 1 0.09572
1 3 1 0.09572
2 3 1 0.15139

[exclusions]
1 2 3 4
2 1 3 4
3 1 2 4
4 1 2 3

; The position of the dummy is computed as follows:
;
; O
;
; D
;
; H H
;
; const = distance (OD) / [ cos (angle(DOH)) * distance (OH) ]
; 0.015 nm / [ cos (52.26 deg) * 0.09572 nm ]

; Dummy pos x4 = x1 + a*(x2-x1) + b*(x3-x1)

[dummies3]
; Dummy from funct a b
4 1 2 3 1 0.13193828 0.13193828

[moleculetype]
; name nrexcl
Na 1

[atoms]
; nr type resnr residu atom cgnr charge
1 Na 1 Na Na 1 0.8500 22.9898

[moleculetype]
; name nrexcl
Cl 1

[atoms]
; nr type resnr residu atom cgnr charge
1 Cl 1 Cl Cl 1 -0.8500 35.453

[ moleculetype ]
; molname nrexcl
Mg 1

[ atoms ]
; id at type res nr residu name at name cg nr charge mass
1 Mg 1 Mg Mg 1 1.7 24.3050

[ moleculetype ]
; molname nrexcl
Ca 1

[ atoms ]
; id at type res nr residu name at name cg nr charge mass
1 Ca 1 Ca Ca 1 1.7 40.078

[moleculetype]
; name nrexcl
K 1

[atoms]
; nr type resnr residu atom cgnr charge
1 K 1 K K 1 0.8500 39.0983

[moleculetype]
; name nrexcl
Li 1

[atoms]
; nr type resnr residu atom cgnr charge
1 Li 1 Li Li 1 0.8500 6.94100

[moleculetype]
; name nrexcl
SO4 1

[atoms]
;nr type resnr residu atom cgnr charge
1 OSO4 1 SO4 O1 1 -0.65 24.01565
2 OSO4 1 SO4 O2 1 -0.65 24.01565
3 OSO4 1 SO4 O3 1 -0.65 24.01565
4 OSO4 1 SO4 O4 1 -0.65 24.01565
5 SSO4 1 SO4 S5 1 0.9 0.0

[constraints]
;i j funct dist
; dist_OX=0.149; dist_XX=2*sqrt(2/3)*dist_OX
1 2 1 0.243316
1 3 1 0.243316
1 4 1 0.243316
2 3 1 0.243316
2 4 1 0.243316
3 4 1 0.243316

[exclusions]
1 2 3 4 5
2 1 3 4 5
3 1 2 4 5
4 1 2 3 5
5 1 2 3 4

[ virtual_sitesn ]

; Site funct from
5 1 1 2 3 4

[system]
water_sal

[molecules]
water 555
Na 1
Cl 1
Mg 1
Ca 1
K 1
Li 1
SO4 1
“”"

Hello everyone, I answer to myself since I found out which is the problem and maybe this could be helpful for others.
The fact is that the nomenclature of water atoms in tip4.gro from the force field folder of gromacs 2020.6 is different from the nomenclature in the topology.top taken from the Supp info from Madrid2019 FF paper. Also, water is called SOL in one case and water in the other.
After changing the nomenclature of water in the topology, so that is in agreement with gro file, things are working fine.

hey,
How did you implement those cross-interactions in gromacs?
I mean if you look at the original paper, there are values for cross interactions between ions, and oxygen.
I do not know how to implement them in gromacs.