Adding ions 'gmx grompp' creates error "Atomtype ca not found" for ligand generated with GAFF

GROMACS version: 2018
GROMACS modification: No

Hello, I am trying to run 200ns on protein-ligand complex and then calculate MMPBSA for the last 100 ns generated frames. I had some problems with ligand parameterization with cgenff, hence I used gaff…I have:

  1. GAFF to generate parameters for the ligand
  2. acpype to convert amber generated parameters to gromacs readable
  3. used gromacs to generate topology for protein solely with AMBER96 (got three files: posre…itp; topol.top; topol…itp).
  4. I have built topol.top by adding lines for ligand.itp (generated with acpype) and position erstrains of the ligand atoms.
  5. Ultimately I have generated complex.gro with modified topol.top…
  6. Putting box and solvating of the system did not produce me any errors, but when I try to add ions. this is the error message I get:

Command line:
gmx grompp -f ion.mdp -c 5i94_solv.gro -p topol.top -o 5i94_ions.tpr

Ignoring obsolete mdp entry ‘title’

NOTE 1 [file ion.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 -1967932147
Generated 2211 of the 2211 non-bonded parameter combinations
Generating 1-4 interactions: fudge = 0.5
Generated 2211 of the 2211 1-4 parameter combinations

ERROR 1 [file 69V.itp, line 9]:
Atomtype ca not found

There was 1 note


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

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

For more information and tips for troubleshooting, please check the GROMACS
website at Errors - Gromacs

Anyone can help me understand where the issue comes from?

69V(ligand).itp looks like this:

[ moleculetype ]
;name nrexcl
69V 3

[ atoms ]
; nr type resi res atom cgnr charge mass ; qtot bond_type
1 ca 1 69V C15 1 -0.088300 12.01000 ; qtot -0.088
2 ca 1 69V C17 2 -0.128000 12.01000 ; qtot -0.216
3 ca 1 69V C20 3 -0.123000 12.01000 ; qtot -0.339
4 cc 1 69V C26 4 0.431300 12.01000 ; qtot 0.092
5 cc 1 69V C08 5 0.580700 12.01000 ; qtot 0.673
6 nd 1 69V N09 6 -0.394000 14.01000 ; qtot 0.279
7 nd 1 69V N10 7 -0.306000 14.01000 ; qtot -0.027
8 cc 1 69V C11 8 0.428300 12.01000 ; qtot 0.401
9 ca 1 69V C16 9 -0.123000 12.01000 ; qtot 0.278
10 ca 1 69V C18 10 -0.126000 12.01000 ; qtot 0.152
11 ca 1 69V C19 11 -0.128000 12.01000 ; qtot 0.024
12 cc 1 69V C23 12 0.524300 12.01000 ; qtot 0.548
13 nd 1 69V N24 13 -0.360000 14.01000 ; qtot 0.188
14 nd 1 69V N25 14 -0.347000 14.01000 ; qtot -0.159
15 ca 1 69V C30 15 -0.107300 12.01000 ; qtot -0.266

I suspect your topol.top is not correct.

Have a look here Tutorial Using ACPYPE for GROMACS · alanwilter/acpype Wiki · GitHub

especially this bit:

# `#include "Ligand.itp"` has to be inserted right after
# `#include "amber99sb.ff/forcefield.itp"`
# line and before `Protein_*.itp` line in _Complex.top_.

PS: This tutorial may be outdated but the relevant parts still stand.