How to include Ni ions in gromacs simulation

GROMACS version: gromacs-2019.2
GROMACS modification: No
Here post your question

Dear all,

I am trying to do MD simulation on a protein containing calcium and nickel ions with charmm36-mar2019.ff. In charmm36 force field, the calcium ion is written as “CAL”, and I have changed the “CA” for the calcium ion to “CAL” in the PDB file. The PDB file now reads like:


ATOM 3008 CB ILE A 469 1.045 38.857 -7.517 1.00 69.15 C
ATOM 3009 CG1 ILE A 469 1.866 39.908 -8.270 1.00 72.17 C
ATOM 3010 CG2 ILE A 469 -0.305 38.627 -8.194 1.00 68.40 C
ATOM 3011 CD1 ILE A 469 2.796 39.322 -9.316 1.00 72.26 C
TER
HETATM 3012 CAL CAL A 510 2.104 13.097 12.348 1.00 32.98 Ca
HETATM 3013 NI NI A 511 0.000 0.000 17.210 1.00 41.76 Ni
HETATM 3014 O HOH S 1 6.366 46.967 12.661 1.00 24.43 O
HETATM 3015 O HOH S 2 -2.321 27.369 27.732 1.00 22.96 O
HETATM 3016 O HOH S 3 -0.690 30.121 22.589 1.00 19.87 O

(Please note that the atoms 3012 and 3013 are the calcium and nickel ions, respectively)

In the atomtypes.atp file in the charmm36-mar2019.ff directory, there is a line reads:
NI 58.69340 ; Nickel metal (HH et al. 2008)
So I thought the “NI” in the pdb file can be recognized by gromacs.

However, when I run the pdb2gmx, I get the following error:
Fatal error:
The residues in the chain CAL510–NI511 do not have a consistent type. The
first residue has type ‘Ion’, while residue NI511 is of type ‘Other’. Either
there is a mistake in your chain, or it includes nonstandard residue names
that have not yet been added to the residuetypes.dat file in the GROMACS
library directory. If there are other molecules such as ligands, they should
not have the same chain ID as the adjacent protein chain since it’s a separate
molecule.

I tried to add a line “NI Ion” at the end of the residuetypes.dat (/home/sunyp/software/build/gromacs-2019.2/share/top/residuetypes.dat), but the same error was given.

So how to deal with such a circumstance?

With many thanks.

The residue name is “NIM” (nickel, metal). The .atp file only tells you available atom types, it does not tell you what residue syntax is. That’s in the .rtp file.

Hi, jalemkul,

Thank you for your response. I have changed the residue name “NI” to “NIM”, now the PDB file reads as:

ATOM 3010 CG2 ILE A 469 -0.305 38.627 -8.194 1.00 68.40 C
ATOM 3011 CD1 ILE A 469 2.796 39.322 -9.316 1.00 72.26 C
TER
HETATM 3012 CAL CAL A 510 2.104 13.097 12.348 1.00 32.98 Ca
HETATM 3013 NI NIM A 511 0.000 0.000 17.210 1.00 41.76 Ni
HETATM 3014 O HOH S 1 6.366 46.967 12.661 1.00 24.43 O

However, pdb2gmx gives the similar error now:

Fatal error:
The residues in the chain CAL510–NIM511 do not have a consistent type. The
first residue has type ‘Ion’, while residue NIM511 is of type ‘Other’. Either
there is a mistake in your chain, or it includes nonstandard residue names
that have not yet been added to the residuetypes.dat file in the GROMACS
library directory. If there are other molecules such as ligands, they should
not have the same chain ID as the adjacent protein chain since it’s a separate
molecule.

It seems the “NIM” can still not be recognized. There is only a merged.rtp file in the chamm36 force field directory, and in this merged.rtp file, there is a block which reads:

[ NIM ]
[ atoms ]
NI NI 0.000 0

If gromcas reads this rtp file, then it should not give the error, so I guess gromacs does not read it, but some other rtp file?

So could you tell me where can I find the rtp file define the residue type for NI ion?
And the error information mentioned a “residuetypes.dat”. Where does this file located? Do I have to modify this .dat file too? (Actually I have tried to add a line “NIM Ion” at the end of my ~/software/build/gromacs-2019.2/share/top/residuetypes.dat file, but it doesn’t work.)

Thank you,

Best

There is no problem at all related to the .rtp file. The message you are getting is that some species are recognized as having a given type in residuetypes.dat while others don’t. Just edit the PDB file to indicate breaks the in chain (which really isn’t a useful thing for ions, anyway):

ATOM 3011 CD1 ILE A 469 2.796 39.322 -9.316 1.00 72.26 C
TER
HETATM 3012 CAL CAL A 510 2.104 13.097 12.348 1.00 32.98 Ca
TER
HETATM 3013 NI NIM A 511 0.000 0.000 17.210 1.00 41.76 Ni
TER
HETATM 3014 O HOH S 1 6.366 46.967 12.661 1.00 24.43 O

Hi Jalemkul,

After adding “TER” to the pdb file, the pdb2gmx gets through, but the nickel ion is recognized as “other” in stead of ion. I get the “topol_Other_chain_A3.itp” and “posre_Other_chain_A3.itp” files for the ni ion. So how to make the gromacs recognize the “ni” as ion?

Thanks!

You can add it to residuetypes.dat as an Ion type, but functionally it’s irrelevant.

As I mentioned, I have added a line “NIM Ion” to the residuetypes.dat, which now looks as:


CS Ion
F Ion
CL- Ion
BR Ion
I Ion
OH Ion
Cal Ion
IB+ Ion
NIM Ion

But Ni is still recognized as “Other” type. And in the .itp file for Ni produced by pdb2gmx reads:
[ moleculetype ]
; Name nrexcl
Other_chain_D3 3

[ atoms ]
; nr type resnr residue atom cgnr charge mass typeB chargeB massB
; residue 511 NIM rtp NIM q 0.0
1 NI 511 NIM NI 1 0 58.6934 ; qtot 0
It shows that the charge of Ni is 0. I think the charge of Ni ion is not 0, so this itp file may be wrong.

Does the problem not lie in the residuetypes.dat file?

Best,

The .itp file is correct - sorry I’ve lost this in the details but as I mentioned above (and as the comment in the .atp file indicates, CHARMM supports nickel metal not the ion. There are parameters published for it that may be compatible but they are not core CHARMM parameters so we do not distribute them.

Hi, Jalemkul,

I think the “NI” atom in my PDB file should be an ion, coming from like NiSO4 in the crystallization reagents. It makes no sense that there is a “metal” with 0 charge in the protein crystal structure.

Certainly, that makes sense, but if it’s just a crystallization co-solvent, is it relevant for performing a simulation?

I hope that the Ni ion is relevant for the simulation, so I have deleted it.
Thank you.