[gmx-users] pull code with defined negative relative displacements

chris.neale at utoronto.ca chris.neale at utoronto.ca
Sat Nov 14 20:54:54 CET 2009


Hi Justin, (comment to Berk below)

thanks for pointing out the g_wham problem. I am personally ok here as  
I use a non-gromacs wham program.

Hi Berk,

unless I misunderstood, your suggestion does not yield the gromacs 3  
behaviour that I am trying to reproduce with gromacs 4.

If I simply misunderstood your suggestion, can you please be a little  
more explicit? What I want to do is to harmonically restrain the COM  
of group 1 to be X nm more negative along Z than the COM of group 0.  
It is important that this still works when the value for X is smaller  
than the standard deviation of the sampled values such that the  
distribution does not become bimodal.

Here is the test using pull_geometry=direction, and I note that this  
is exactly the same behaviour that I observed and posted in my last  
email while using pull_geometry=distance in combination with pull_vec.

pull                     = umbrella
pull_geometry            = direction
pull_dim                 = N N Y
pull_start               = no
pull_nstxout             = 10
pull_nstfout             = 10
pull_ngroups             = 1
pull_group0              = POPC
pull_pbcatom0            = 0
pull_group1              = Protein
pull_pbcatom1            = 0
pull_init1               = 4.75
pull_rate1               = 0
pull_k1                  = 500.0
pull_vec1               = 0 0 -1


coord.xvg:
1669.4000       4.97979 -4.68988
force.xvg:
1669.4000       30.0622
Where the force should be -30.062 (assuming that I understand  
everything correctly).

coord.xvg:
2.9600  5.16151 -5.14321
force.xvg
2.9600  -196.603
Where the force should be +196.603 (assuming that I understand  
everything correctly).

pull                     = umbrella
pull_geometry            = direction
pull_dim                 = N N Y
pull_start               = no
pull_nstxout             = 10
pull_nstfout             = 10
pull_ngroups             = 1
pull_group0              = POPC
pull_pbcatom0            = 0
pull_group1              = Protein
pull_pbcatom1            = 0
pull_init1               = 4.75
pull_rate1               = 0
pull_k1                  = 500.0
pull_vec1               = 0 0 1

coord.xvg:
0.5200  5.17421 5.00621
force.xvg:
0.5200  -128.107
Where this is what I intend to occur (i.e. working as I desire it to).

coord.xvg:
1649.4000       4.99895 4.69239
force.xvg:
1649.4000       28.807
Where this is what I intend to occur (i.e. working as I desire it to).




Thank you,
Chris.

--- original message --

Hi,

You should use pull_geometry=direction.
distances don't get negative.

Berk

> Date: Sat, 14 Nov 2009 09:21:39 -0500
> From: chris.neale at utoronto.ca
> To: gmx-users at gromacs.org
> Subject: [gmx-users] pull code with defined negative relative displacements
>
> 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