Issues with Pulling Protein Through a Pore: High Forces and Restraint Effects

Hello GROMACS community,

I am conducting a pulling simulation where one protein is being pulled through the pore of another protein. I have encountered several issues related to the forces experienced by the pulled protein and the movement of the pore protein. I would appreciate your insights and suggestions. Here are the details:

; Pull code
pull                    = yes
pull_ngroups            = 1
pull_group1_name        = ala_last_C_atom  ; Name of the atom group being pulled

pull_ncoords            = 1

; Define pull coordinates
pull-coord1-type        = umbrella
pull-coord1-groups      = 0 1  ; 0: Reference, 1: Pulled group
pull-coord1-geometry    = direction
pull-coord1-start       = yes
pull-coord1-vec         = 0 -1 0  ; Pulling direction along Y-axis
pull_coord1_rate        = 0.01  ; Pulling rate: 0.01 nm/ps
pull_coord1_k           = 10    ; Pulling force constant: 10 kJ/mol·nm²

Despite setting pull_coord1_k = 10 kJ/mol·nm², I observe much higher forces in the pullf.xvg file (e.g., 754 kJ/mol/nm).

@    title "Pull force"
@    xaxis  label "Time (ps)"
@    yaxis  label "Force (kJ/mol/nm)"
@TYPE xy
10772.4000  754.068
10772.5000  753.905

Question 1: Why am I seeing such high forces compared to the defined pulling force constant? Is this the force experienced by the pulled group?

Pore Protein Movement:

The entire protein containing the pore moves instead of remaining fixed during pulling. I applied positional restraints with a force constant of 1000 kJ/mol·nm² to the pore protein.
When applying retrained on the protein containing pore, the pulled protein doesn’t move effectively.

Question 2: How can I balance the restraints to keep the pore protein fixed while allowing the pulled protein to pass through? Should I reduce the restraint force in posre.itp, or adjust the pulling parameters differently?

Reference Structure File for -r Option:

For the following grompp command, I need to supply a reference file using the -r option:

gmx grompp -f md_pull1_7.mdp -c traj1_50_force_7.1.gro -t traj1_50_force_5.cpt -p topol2.top -r traj1_50_force_7.1.gro -n index.ndx -o traj1_50_force_7.1.tpr -maxwarn 3

Question 3: Should this reference file include the whole system (pore protein, pulled protein, water) or only the restrained atoms? What is the best practice for specifying the -r file in this context?

Thank you for your assistance!

Dear @com_gro,

A few points.

The structure file required for the restraints flag -r has to contain the whole system and has to have the same ordering, as that is the reference that GROMACS will use to compute the reference positions.

I think that the higher forces you are experiencing are due to the way the pulling is defined. If I understood correctly, basically you are putting a spring on the two centre of masses of the groups, and this spring is dragged with a constant speed (in your case 0.01 nm/ps). The force constant you pick is the spring force constant, that is, it defines how “strictly” your COMs have to follow the spring. You have a very low k value, which means that at the beginning the spring will be very gentle and will let the COMs of the groups to be at quite different position of the referenced spring. However, the force grows with the square of the distance, so after a while you start experiencing large forces because the COM of your groups is very far from the reference position of the spring which is being dragged at constant speed.

However, the main problem here to me seems the pull groups definition. Why are you using group 0 and not, for example, the channel and the protein? The group 0 is a bit tricky, I do not see a good reason here not to use the two proteins as two reference groups. This is also most likely why your proteins do move together. You pull one protein with respect to an absolute reference frame, and the protein follows your spring for a while, but then it goes into contact with the channel protein. There probably you do not exert enough force to drag it through and it gets stuck, staying behind wrt the spring and getting an increasing force on it. At this point there is no reason for the protein to go through the channel, but rather the new whole group defined by the two proteins will experience enough force (because of the first protein in contact with the second being far away from the reference spring) to be dragged together along the spring direction. I think you may solve most of this by defining better the pulling groups!

Thanks a lot!