[gmx-users] pull code with defined negative relative displacements
chris.neale at utoronto.ca
chris.neale at utoronto.ca
Sat Nov 14 15:21:39 CET 2009
Hello, I am re-running some of our gromacs 3 simulations using gromacs
4, and as far as I can tell the gromacs 4 pull code, while very nicely
enhanced from gromacs 3, has also lost some functionality.
I am calculating the PMF of a peptide across a bilayer and, to
simplify the issue, what I can't figure out how to do with gromacs 4
is to pull group1 to a position 1 nm more negative along the z-axis
than group 0 (the bilayer in this case) for some replicas and to 1 nm
more positive along the z-axis than group 0 in others. I'll focus on
the negative displacement here as it is the one that is giving me
problems.
This used to be possible with the following gromacs 3 pull.ppa options:
runtype = umbrella
reftype = com
pulldim = N N Y
reference_group = group0
group_1 = group1
K1 = 500
Pos1 = 0 0 -1.0
Sure, I could start group1 in the correct negative-z displacement from
group0 and use pull_init1=+1.0, but this will not work when, for
instance, I want to restrain it to -0.1 nm (using pull_init1=+0.1),
where the sampling will infrequently jump back and forth about z=0.
Just to be sure, I tried for gromacs 4 are the following pull code
.mdp options:
pull = umbrella
pull_geometry = distance
pull_dim = N N Y
pull_start = no
pull_ngroups = 1
pull_group0 = group0
pull_group1 = group1
pull_init1 = -1.0
pull_rate1 = 0
pull_k1 = 500.0
where mdrun complains:
"Pull reference distance for group 1 is negative (-1.000000)"
and it is pretty obvious why this doesn't work since it is asking for
a negative displacement. Nevertheless, I tried it and pull_init1
appears to get set to zero.
I also attempted the following.
pull = umbrella
pull_geometry = distance
pull_dim = N N Y
pull_start = no
pull_ngroups = 1
pull_group0 = group0
pull_group1 = group1
pull_init1 = 1.0
pull_rate1 = 0
pull_k1 = 500.0
pull_vec1 = 0 0 -1
where I would then use
pull_init1 = 1.0
pull_vec1 = 0 0 1
for the positive side of the bilayer.
However, when I look at the forces, I am getting the negative of what
I should get when pull_vec1 = 0 0 -1.
coord.xvg:
610.0000 4.9343 -1.02019
660.0001 4.91454 -0.949747
force.xvg:
610.0000 -10.0932
660.0001 25.1265
Although I am getting exactly what I should get when pull_vec1 = 0 0 1
(for intended positive displacements).
coord.xvg:
660.0001 4.9014 1.16304
force.xvg:
660.0001 -81.5201
Any ideas are greatly appreciated. I can probably mod the code for my
needs, but a standard gromacs binary is always preferable.
Thank you,
Chris.
More information about the gromacs.org_gmx-users
mailing list