Seemingly unresolvable PBC problem on protein complex

GROMACS version: 2019.4
GROMACS modification: No

Dear All,
I have a protein complex on which I ran some REMD and I want to solve PBC issues before analysis.
However, no matter what I tried, one of the proteins still jumps out of the box.
Firstly I make the system whole with:
$gmx trjconv -f md.xtc -s nvt_298.15.tpr -pbc whole -o whole -n index.ndx
This makes the molecules whole, although both proteins in the complex “jump around”.

I have then centered the system on an interfacial residue of one of the complex partners with:
$gmx trjconv -f whole.xtc -o whole_center.xtc -s firstframe.gro -center yes -n index.ndx (the first frame is whole with the complex bound).
I have now one of the partners in the center of the box (the one for which I have centered the interfacial residue) while the other jumps occasionally across.

At this stage, no matter what I try, I cannot solve the second protein from jumping.
I can center (as done in the previous stage) on an interfacial residue belonging to the second protein but this just reverses the problem (with the first one jumping across).

How to reimage the second protein, while keeping the coordinates of the first binding partner that is centered? I have tried clustering, as well as clustering+re-centering…

-pbc nojump ( $gmx trjconv -f whole_center.xtc -s firstframe.gro -pbc nojump -o whole_center_nj.xtc -n index.ndx) makes a mess; with atoms displaced all over the place - but maybe there is something else I can do?

Any help will be greatly appreciated. Thank you in advance for your time.

Best Regards,


You can try the steps below in order (omitting those not required)

  1. First make your molecules whole if you want them whole.
  2. Cluster your molecules/particles if you want them clustered.
  3. If you want jumps removed, extract the first frame from the trajectory to use as reference, and then use trjconv -pbc nojump with that first frame as reference
  4. Center your system using some criterion. Doing so shifts the system, so don’t use trjconv -pbc nojump after this step.
  5. Perhaps put everything in some box with the other trjconv -pbc or -ur options.
  6. Fit the resulting trajectory to some (other) reference structure (if desired), and don’t use any PBC related option afterwards.

With point three, the issue is that trjconv removes the jumps from the first frame using the reference structure provided with -s. If the reference structure (run input file) is not clustered/whole, trjconv -pbc nojump will undo steps 1 and 2.

Kind regards

1 Like


I recently made a script to fix this:

It uses voxels and some graph theory to work out the PBC corrections for densities. Custom selections are allowed for the densities and systems with millions of points can be handled near real time on a laptop.



Hi Davide,

How did you solve your issue? I followed Alessandra’s suggestions but for my multimeric complex even though I have a reference structure which is whole, step 3 breaks the molecules and creates long bonds across the box.