Covalent bond between protein and ligand (cobalamin)

Hi everyone,

I would like to run simulation on a protein that is covalently bound to a cobalamin ligand.
I can generate the starting structure with pdb2gmx by having the protein and the ligand in separate molecules, each described by a different .itp topology file.

But how can I define a covalent bond between an histidine of the protein and the cobalt atom of the cobalamin?
Does it make sense to define the cobalamin residue as a ‘Protein’ and include it in the same .itp file?

Thanks in advance for your help.


I just realized there is a ‘merge’ option in pdb2gmx.

This might actually work, as it generates a single molecule in the ‘’ file. Also the ‘gmx make_ndx’ is able to automatically make the distinction between the protein and the cobalamin.

I guess it shall work, but it does make the topology file quite messy, with everything in a same molecule.

Maybe it might be useful to have something to define bonds between different molecules in the future.
A syntax of the form?:

molecule_1:atom    molecule_2:atom     1


For future reference, or if -merge does not solve your problem, this is what the [ intermolecular_interactions ] section of the topology can be used for. See this and this for details.


Many thanks!
Don’t know how, I went through the reference but I completely missed this part.


Hi kpounot,

Can you please share how you made topology for the cobalamin? I would really appreciate your time and consideration.