Umbrella sampling opposite pull

Hi,

I have been performing Umbrella Sampling simulations. Regarding the stage of the steered molecular dynamics simulation, I would like to know how to pull a group along the z coordinate in the opposite direction.

I have two ligands for one I am able to pull out in the correct direction. But for the other ligand it is going in the opposite direction.

this is the mdp file

pull = yes
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group1_name = LIG
pull_group2_name = pocket
pull_coord1_type = umbrella ; harmonic potential
pull_coord1_geometry = distance ; simple distance increase
pull_coord1_dim = N N Y
pull_coord1_vec = 0 0 -1
pull_coord1_groups = 1 2
pull_coord1_start = yes ; define initial COM distance > 0
pull_coord1_rate = 0.01 ; 0.01 nm per ps = 10 nm per ns
pull_coord1_k = 1000 ; kJ mol^-1 nm^-2

Sincerely,

Mayank

What do you mean specifically? I think what the pull code does is to just increase the distance (with the distance geometry) between two groups, that is, one group will be pushed in one direction and the other group in the other opposite direction.

If you mean how you want now to pull in the other direction, i.e., having the groups come together, then you have to invert the velocities. You are using the distance as type of pulling geometry (pull_coord1_geometry = distance) which requires the definition of the dimensions along which you are pulling (you set pull_coord1_dim = N N Y, so I guess you want to pull along z). In theory the definition of the vector (this line in your mdp file pull_coord1_vec = 0 0 -1) is useless here, as the geometry distance will read only the pull_coord1_dim value (here in the manual is well documented). If you want the distance of the groups to decrease then you have to set a negative velocity, in your case pull_coord1_rate = -0.01.