Adding KCX residue to residuetypes.dat

GROMACS version: 2025.4
GROMACS modification: No

Dear Gromacs users,

I’m trying to perform a energy minimization routine following a paper that suggested using GROMACS. The procedure I want to do is as followed: “we routinely energy minimize our proteins using the CHARMM27 all-atom forcefield in GROMACS for 1 ps using the steepest decent method in implicit solvent and a 1 nm cutoff for electrostatic interactions.” (Chen and Makhatadze, 2015)

I’m using the Rubisco protein 1AA1, but it has non standart residues resulting in the following error:

The residues in the chain LYS21–LYS463 do not have a consistent type. The
first residue has type ‘Protein’, while residue KCX201 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.

The command used was gmx pdb2gmx -f 1AA1.pdb -ff charmm27 -water tip3p

I understand I need to add KCX residue to residuetypes.dat file, but I just started working with protein structures and it was not clear to me how to do it using this documentation.

I hope this is a simple procedure, but I found no tutorials on how to do it. I would really appreciate any advice, or recommendations for tutorials that explain how to properly add the carbamilated lysine residue (KCX) to perform the energy minimization routine.

Thanks in advance,

Gabriel

Chen, C.R., Makhatadze, G.I. ProteinVolume: calculating molecular van der Waals and void volumes in proteins. BMC Bioinformatics 16, 101 (2015).

The easiest way (assuming the template for that residue is already introduced in your .rtp/.hdb) is to create a local copy of residuetypes.dat from the Gromacs FF directory (typically /usr/share/gromacs/top) in the directory where you’re launching pdb2gmx, and make sure it has a line that reads:

KCX Protein

Gromacs reads local versions of configuration files such as residuetypes.dat preferentially, so this should fix your error.

1 Like

Thank you! I think everything went well now! My directory was slightly different, but I managed to find it in the end.

My biggest struggle was modifying the RTP file. For others with the same problem, my strategy for understanding this file was drawing ALA by hand and comparing it with the file structure. In the GROMACS documentation, it is well explained what the atoms and the bound section mean. But I only understood it after doing this drawing exercise. Then I was able to add the modifications at the Lysine structure, changing the atoms and bound sections.

I attached my Carbamylated Lysine RTP at the bottom of this question. For the charge column, I used the values I found for similar atoms for other amino acids, but I would like to check whether this was the right approach.

I’m also attaching at the bottom the HDB for my Carbamylated Lysine, as this could be useful for other users.

Thank you,
Gabriel

rtp structure

[ KCX ]
[ atoms ]
N NH1 -0.47 0
HN H 0.31 1
CA CT1 0.07 2
HA HB 0.09 3
CB CT2 -0.18 4
HB1 HA 0.09 5
HB2 HA 0.09 6
CG CT2 -0.18 7
HG1 HA 0.09 8
HG2 HA 0.09 9
CD CT2 -0.18 10
HD1 HA 0.09 11
HD2 HA 0.09 12
CE CT2 0.21 13
HE1 HA 0.05 14
HE2 HA 0.05 15
NZ NH2 -0.69 16
HZ H 0.31 17
CX C 0.51 18
OQ1 O -0.51 19
OQ2 O -0.51 20
C C 0.51 21
O O -0.51 22
[ bonds ]
CB CA
CG CB
CD CG
CE CD
NZ CE
N HN
N CA
C CA
C +N
CA HA
CB HB1
CB HB2
CG HG1
CG HG2
CD HD1
CD HD2
CE HE1
CE HE2
O C
NZ CX
NZ HZ
CX OQ1
CX OQ2
[ impropers ]
N -C CA HN
C CA +N O
[ cmap ]
-C N CA C +N

hdb strucutre

KCX 7
1 1 HN N -C CA
1 5 HA CA N C CB
2 6 HB CB CG CA
2 6 HG CG CD CB
2 6 HD CD CE CG
2 6 HE CE NZ CD
1 4 HZ NZ CE CX

Sure, creating the template is hard without visual cues, it’s doable for small modifications but still worthwhile to draw things explicitly.

Are you sure your carbamylated lysine ends in -COO and not in -CONH2? I see a lot of confusion around the terminology, I assume you double-checked that.

Either way, since now your side chain ends with a flat moiety, you should consider adding an improper dihedral to [ impropers ] to make sure it will be kept planar.

Regarding the assignments by similarity, I would think about that O type; Charmm carboxyl usually uses CC/OC, and Amber uses C/O2. C/O is reserved for amide carbonyl (would be fine for -CONH2).

Assigning charges by similarity is quite risky, there are usually good force field-specific protocols for getting at least consistent charges for new residues. From a quick check, your residue has a total charge of -0.58, which definitely shouldn’t be the case.

1 Like

I am sorry for the confusion with the terminology. I am sure it is -COO, I checked it directly in the PDB structure. The name “carbamylated lysine” appeared somewhere in the file and I assumed it was the correct term.

Regarding the impropers, should it be defined like this: NZ CX OQ1 OQ2? I am trying to follow the same logic used for the other impropers.

I will also update the atom types to CC and OC, thanks for pointing that out.

Finally, since I am new to this field, could you recommend any field-specific protocols for generating consistent charges?

Thank you,

Gabriel

If you got it from the PDB, all is fine - I just googled it out of curiosity and saw a few conflicting versions. Maybe worth looking up where the confusion comes from, in case there is some enzymatic or chemical dynamics taking place.

Regarding impropers, the logic is that the central sp² atom should come first - in your case, that would be CX.

In the case of Charmm FFs, you can try CGenFF - no need to transfer the types and parameters since this is a pretty standard arrangement, but at least the charges should be a decent guess.