Pull code error in Gromacs version 2019.6

GROMACS version: Error due to using pull code in Gromacs version 2019.6
GROMACS modification: Yes/No
Here post your question

Dear Gromacs users,

I am trying to perform MD simulation of short DNA sequence on a cluster (I am using 192 CPUs). In order to keep the terminal residue of DNA to be B-DNA like, I have used pull code to restrain terminal residues. With Gromacs version 2018.4 it works well, however, for Gromacs version 2019.6 I get the below error :


3 particles communicated to PME rank 32 are more than 2/3 times the cut-off
out of the domain decomposition cell of their charge group in dimension x.
This usually means that your system is not well equilibrated.


I am quite sure that there is nothing wrong with equilibrium. In addition, when I deactivate pull code from the .mdp file, the simulation goes well without any error. Seems something is wrong with using pull code. However, the exact simulation works for Gromacs 2018.4.

I also used pull code with and without new feature pull-pbc-ref-from-prev-step-com, but nothing changed and still I get this error message.

Unfortunately, I was not able to fix this error. I will appreciate if you could give me any possible feadback reagarding this issue.

The used pull code is:


pull = yes
pull_ncoords = 4 ; only one reaction coordinate
pull_ngroups = 8 ; two groups defining one reaction coordinate
pull_group1_name = A1
pull_group2_name = A2
pull_group3_name = A3
pull_group4_name = A4
pull_group5_name = B1
pull_group6_name = B2
pull_group7_name = B3
pull_group8_name = B4

pull_coord1_type = umbrella ; harmonic potential
pull_coord1_geometry = distance ; simple distance restraint
pull_coord1_dim = Y Y Y
pull_coord1_groups = 1 5
pull_coord1_start = yes ; define initial COM distance > 0
pull_coord1_rate = 0.0 ; restrain in place
pull_coord1_k = 200 ; kJ mol^-1 nm^-2
pull_coord2_type = umbrella ; harmonic potential
pull_coord2_geometry = distance ; simple distance restraint
pull_coord2_dim = Y Y Y
pull_coord2_groups = 2 6
pull_coord2_start = yes ; define initial COM distance > 0
pull_coord2_rate = 0.0 ; restrain in place
pull_coord2_k = 200 ; kJ mol^-1 nm^-2
pull_coord3_type = umbrella ; harmonic potential
pull_coord3_geometry = distance ; simple distance restraint
pull_coord3_dim = Y Y Y
pull_coord3_groups = 3 7
pull_coord3_start = yes ; define initial COM distance > 0
pull_coord3_rate = 0.0 ; restrain in place
pull_coord3_k = 200 ; kJ mol^-1 nm^-2
pull_coord4_type = umbrella ; harmonic potential
pull_coord4_geometry = distance ; simple distance restraint
pull_coord4_dim = Y Y Y
pull_coord4_groups = 4 8
pull_coord4_start = yes ; define initial COM distance > 0
pull_coord4_rate = 0.0 ; restrain in place
pull_coord4_k = 200 ; kJ mol^-1 nm^-2





I am trying to set a mdp file for pulling my molecule (calcein) to the other side of the membrane as it does not pass itself. I used the mdp file below. I am not sure if its a right setting for pulling that I intend to do. still I have errors with this mdp setting:

mdp file :

pull = yes
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group2_name = CAL4
pull_group1_name = DPPC
pull_coord1_type = umbrella; harmonic potential
pull-coord1-geometry = direction
pull-coord1-vec = 0.0 0.0 -1.0
pull-coord1-dim = N N Y
pull_coord1_groups = 1 2
;pull-coord1-pbcatom = 0
pull-pbc-ref-prev-step-com = yes
;pull_coord1_start = yes ; define initial COM distance > 0
pull-coord1-rate = 0.01
pull_coord1_k = -300 ; kJ mol^-1 nm^-2

error :

When the maximum distance from a pull group reference atom to other atoms
in the group is larger than 0.5 times half the box size a centrally
placed atom should be chosen as pbcatom. Pull group 1 is larger than that
and does not have a specific atom selected as reference atom.

Can someone help me with this? @jalemkul

Hi Samaneh,
How about defining the “pull-group1-pbcatom” and “pull-group2-pbcatom”? It might be helpful.
Or you can increase the size of the box, or decrease the time length of pulling.
Or you can relocate the initial position of your molecule in the box to optimize the simulation.

Hope it could be helpful.

I dont know how to specify ‘pull-group1-pbcatom’! I chose 0, but still have an error!
but It does not seems that the error is ecatly about the distance! because I chose lipid headgroup instead of tails this time, so it would be closer to the molecule, but still did not work.
about relocation, I need to minimize the energy forst before using pulling, so I can specify the molecule location myself.
I could not find a useful example of pulling mdp file for geometry ‘distance’! do you know any?


Hi Samaneh,
Dr. Lemkul did offer a very detailed tutorial of pulling along distance.
There’s an example of distance pulling parameters here.

I haven’t worked on the membrane yet, so I don’t know if there’s any difference.
We have another example of pulling along vector Oz.
We’re pulling Chain B away from Chain A. Defining and fixing a particular COM of each chain helped our simulation. Since the default pull-group1-pbcatom=0 means something else (There are 3 different ways to define the COM in GROMACS.). Details about the pbcatom were shown in the GROMACS manual.

Here’s our pulling parameters:
; Pull code → along z-direction, not along COM_A-COM_B vector
pull = yes
pull-coord1-geometry = direction
pull-coord1-vec = 0 0 1
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group1_name = Chain_A ; pull B away from A
pull_group2_name = Chain_B
pull-pbc-ref-prev-step-com = yes ; large pull group
pull-group1-pbcatom = 2000 ; COM_chain A
pull-group2-pbcatom = 5700 ; COM_chain B
pull_coord1_type = umbrella ; harmonic potential
pull-print-com = yes ; print the COMs for pull coordinates
pull-print-components = yes ; also print for X and Y
pull_coord1_dim = N N Y
pull_coord1_groups = 1 2
pull_coord1_start = yes ; define initial COM distance > 0
Hope it helps.

The parameters should include the k and the rate for pulling too.
Sorry that I missed copying it to the example.

hi samaneh, i have the very same issue but I don’t know how to calculate centre of mass for chain _a and chain_b?

pull-group1-pbcatom = 2000 ; COM_chain A
pull-group2-pbcatom = 5700 ; COM_chain B.Can u tell me how to do the same?