Distance Restraints between different molecules

GROMACS version: 2019.4
GROMACS modification: Yes. With plumed.

I am simulating a system consisting of several protein chains and DNA. In total, it has 7 chains. pdb2gmx creates 7 distinct itp files, which are included in the topol.top. After running some trajectories, now I would like to restrain the distance between some CA pairs of chains 1 and 4 and chains 2 and 5. I know this can be done with a [ bonds ] section. The problem is that these bonds have to be set within the same molecule.

One solution I have thought is to merge itp of chains 1 and 4, and chains 2 and 5. But this implies reordering the atoms as well. Is there an automatic or semi-automatic way to do that? I don’t find this very satisfying because I have several scripts to analyze the trajectories which would need also to be tweaked.

Alternatively, is there another way to impose the distance restraints (or constraints) that does not need to alter the topology itp files?

Thanks for your time.

All the best,


You can select CA atoms to apply the restrain in both chains. Otherwise create the file manually combining it after obtaining for singe one.
I would also try to create initial PDB file with desired chains using any editing softwares.

Use the pull code to apply a harmonic restraint between any atoms you choose. With pull-rate1 = 0 you maintain the restraint distance.

That was simple and easy. Thanks Justin!