<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi,<br><br>pull_init should be 1, not 4.75, if you want group1 to be 1 nm below group0.<br>Alternatively you can have vec = 0 0 1 and pull_init = -1.<br><br>Berk<br><br>&gt; Date: Sat, 14 Nov 2009 14:54:54 -0500<br>&gt; From: chris.neale@utoronto.ca<br>&gt; To: gmx-users@gromacs.org<br>&gt; Subject: [gmx-users] pull code with defined negative relative displacements<br>&gt; <br>&gt; Hi Justin, (comment to Berk below)<br>&gt; <br>&gt; thanks for pointing out the g_wham problem. I am personally ok here as  <br>&gt; I use a non-gromacs wham program.<br>&gt; <br>&gt; Hi Berk,<br>&gt; <br>&gt; unless I misunderstood, your suggestion does not yield the gromacs 3  <br>&gt; behaviour that I am trying to reproduce with gromacs 4.<br>&gt; <br>&gt; If I simply misunderstood your suggestion, can you please be a little  <br>&gt; more explicit? What I want to do is to harmonically restrain the COM  <br>&gt; of group 1 to be X nm more negative along Z than the COM of group 0.  <br>&gt; It is important that this still works when the value for X is smaller  <br>&gt; than the standard deviation of the sampled values such that the  <br>&gt; distribution does not become bimodal.<br>&gt; <br>&gt; Here is the test using pull_geometry=direction, and I note that this  <br>&gt; is exactly the same behaviour that I observed and posted in my last  <br>&gt; email while using pull_geometry=distance in combination with pull_vec.<br>&gt; <br>&gt; pull                     = umbrella<br>&gt; pull_geometry            = direction<br>&gt; pull_dim                 = N N Y<br>&gt; pull_start               = no<br>&gt; pull_nstxout             = 10<br>&gt; pull_nstfout             = 10<br>&gt; pull_ngroups             = 1<br>&gt; pull_group0              = POPC<br>&gt; pull_pbcatom0            = 0<br>&gt; pull_group1              = Protein<br>&gt; pull_pbcatom1            = 0<br>&gt; pull_init1               = 4.75<br>&gt; pull_rate1               = 0<br>&gt; pull_k1                  = 500.0<br>&gt; pull_vec1               = 0 0 -1<br>&gt; <br>&gt; <br>&gt; coord.xvg:<br>&gt; 1669.4000       4.97979 -4.68988<br>&gt; force.xvg:<br>&gt; 1669.4000       30.0622<br>&gt; Where the force should be -30.062 (assuming that I understand  <br>&gt; everything correctly).<br>&gt; <br>&gt; coord.xvg:<br>&gt; 2.9600  5.16151 -5.14321<br>&gt; force.xvg<br>&gt; 2.9600  -196.603<br>&gt; Where the force should be +196.603 (assuming that I understand  <br>&gt; everything correctly).<br>&gt; <br>&gt; pull                     = umbrella<br>&gt; pull_geometry            = direction<br>&gt; pull_dim                 = N N Y<br>&gt; pull_start               = no<br>&gt; pull_nstxout             = 10<br>&gt; pull_nstfout             = 10<br>&gt; pull_ngroups             = 1<br>&gt; pull_group0              = POPC<br>&gt; pull_pbcatom0            = 0<br>&gt; pull_group1              = Protein<br>&gt; pull_pbcatom1            = 0<br>&gt; pull_init1               = 4.75<br>&gt; pull_rate1               = 0<br>&gt; pull_k1                  = 500.0<br>&gt; pull_vec1               = 0 0 1<br>&gt; <br>&gt; coord.xvg:<br>&gt; 0.5200  5.17421 5.00621<br>&gt; force.xvg:<br>&gt; 0.5200  -128.107<br>&gt; Where this is what I intend to occur (i.e. working as I desire it to).<br>&gt; <br>&gt; coord.xvg:<br>&gt; 1649.4000       4.99895 4.69239<br>&gt; force.xvg:<br>&gt; 1649.4000       28.807<br>&gt; Where this is what I intend to occur (i.e. working as I desire it to).<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; Thank you,<br>&gt; Chris.<br>&gt; <br>&gt; --- original message --<br>&gt; <br>&gt; Hi,<br>&gt; <br>&gt; You should use pull_geometry=direction.<br>&gt; distances don't get negative.<br>&gt; <br>&gt; Berk<br>&gt; <br>&gt; &gt; Date: Sat, 14 Nov 2009 09:21:39 -0500<br>&gt; &gt; From: chris.neale at utoronto.ca<br>&gt; &gt; To: gmx-users at gromacs.org<br>&gt; &gt; Subject: [gmx-users] pull code with defined negative relative displacements<br>&gt; &gt;<br>&gt; &gt; Hello, I am re-running some of our gromacs 3 simulations using gromacs<br>&gt; &gt; 4, and as far as I can tell the gromacs 4 pull code, while very nicely<br>&gt; &gt; enhanced from gromacs 3, has also lost some functionality.<br>&gt; &gt;<br>&gt; &gt; I am calculating the PMF of a peptide across a bilayer and, to   <br>&gt; &gt; simplify the issue, what I can't figure out how to do with gromacs 4  <br>&gt; &gt;  is to pull group1 to a position 1 nm more negative along the z-axis  <br>&gt; &gt;  than group 0 (the bilayer in this case) for some replicas and to 1  <br>&gt; &gt; nm  more positive along the z-axis than group 0 in others. I'll  <br>&gt; &gt; focus on  the negative displacement here as it is the one that is  <br>&gt; &gt; giving me  problems.<br>&gt; &gt;<br>&gt; &gt; This used to be possible with the following gromacs 3 pull.ppa options:<br>&gt; &gt;<br>&gt; &gt; runtype   = umbrella<br>&gt; &gt; reftype   = com<br>&gt; &gt; pulldim   = N N Y<br>&gt; &gt; reference_group = group0<br>&gt; &gt; group_1   = group1<br>&gt; &gt; K1        = 500<br>&gt; &gt; Pos1      = 0 0 -1.0<br>&gt; &gt;<br>&gt; &gt; Sure, I could start group1 in the correct negative-z displacement from<br>&gt; &gt; group0 and use pull_init1=+1.0, but this will not work when, for<br>&gt; &gt; instance, I want to restrain it to -0.1 nm (using pull_init1=+0.1),<br>&gt; &gt; where the sampling will infrequently jump back and forth about z=0.<br>&gt; &gt;<br>&gt; &gt; Just to be sure, I tried for gromacs 4 are the following pull code   <br>&gt; &gt; .mdp options:<br>&gt; &gt;<br>&gt; &gt; pull                     = umbrella<br>&gt; &gt; pull_geometry            = distance<br>&gt; &gt; pull_dim                 = N N Y<br>&gt; &gt; pull_start               = no<br>&gt; &gt; pull_ngroups             = 1<br>&gt; &gt; pull_group0              = group0<br>&gt; &gt; pull_group1              = group1<br>&gt; &gt; pull_init1               = -1.0<br>&gt; &gt; pull_rate1               = 0<br>&gt; &gt; pull_k1                  = 500.0<br>&gt; &gt;<br>&gt; &gt; where mdrun complains:<br>&gt; &gt; "Pull reference distance for group 1 is negative (-1.000000)"<br>&gt; &gt;<br>&gt; &gt; and it is pretty obvious why this doesn't work since it is asking for<br>&gt; &gt; a negative displacement. Nevertheless, I tried it and pull_init1<br>&gt; &gt; appears to get set to zero.<br>&gt; &gt;<br>&gt; &gt; I also attempted the following.<br>&gt; &gt;<br>&gt; &gt; pull                     = umbrella<br>&gt; &gt; pull_geometry            = distance<br>&gt; &gt; pull_dim                 = N N Y<br>&gt; &gt; pull_start               = no<br>&gt; &gt; pull_ngroups             = 1<br>&gt; &gt; pull_group0              = group0<br>&gt; &gt; pull_group1              = group1<br>&gt; &gt; pull_init1               = 1.0<br>&gt; &gt; pull_rate1               = 0<br>&gt; &gt; pull_k1                  = 500.0<br>&gt; &gt; pull_vec1                = 0 0 -1<br>&gt; &gt;<br>&gt; &gt; where I would then use<br>&gt; &gt; pull_init1 = 1.0<br>&gt; &gt; pull_vec1  = 0 0 1<br>&gt; &gt; for the positive side of the bilayer.<br>&gt; &gt;<br>&gt; &gt; However, when I look at the forces, I am getting the negative of  <br>&gt; &gt; what  I should get when pull_vec1 = 0 0 -1.<br>&gt; &gt;<br>&gt; &gt; coord.xvg:<br>&gt; &gt; 610.0000        4.9343        -1.02019<br>&gt; &gt; 660.0001        4.91454        -0.949747<br>&gt; &gt;<br>&gt; &gt; force.xvg:<br>&gt; &gt; 610.0000        -10.0932<br>&gt; &gt; 660.0001        25.1265<br>&gt; &gt;<br>&gt; &gt; Although I am getting exactly what I should get when pull_vec1 = 0 0  <br>&gt; &gt; 1  (for intended positive displacements).<br>&gt; &gt;<br>&gt; &gt; coord.xvg:<br>&gt; &gt; 660.0001        4.9014        1.16304<br>&gt; &gt;<br>&gt; &gt; force.xvg:<br>&gt; &gt; 660.0001        -81.5201<br>&gt; &gt;<br>&gt; &gt; Any ideas are greatly appreciated. I can probably mod the code for my<br>&gt; &gt; needs, but a standard gromacs binary is always preferable.<br>&gt; &gt;<br>&gt; &gt; Thank you,<br>&gt; &gt; Chris.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; http://lists.gromacs.org/mailman/listinfo/gmx-users<br>&gt; Please search the archive at http://www.gromacs.org/search before posting!<br>&gt; Please don't post (un)subscribe requests to the list. Use the <br>&gt; www interface or send it to gmx-users-request@gromacs.org.<br>&gt; Can't post? Read http://www.gromacs.org/mailing_lists/users.php<br>                                               <br /><hr />Express yourself instantly with MSN Messenger! <a href='http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/' target='_new'>MSN Messenger</a></body>
</html>