<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>Just to be sure, the pull code is producing the correct results now?<br>The only problems should be in several analysis tools.<br><br>The analysis tools have been written only with analysis of molecules<br>or parts of molecules in mind. When you want to analyze groups<br>that cover two molecules or more there will be pbc problems.<br>These are not simple to fix. If the distances between all the atoms<br>in the group are less than half a box length there is a unique COM.<br>The procedure should be similar to what trjconv -pbc cluster does.<br><br>I can try to implement this for g_traj and g_dist.<br>Are there other tools that cause problems?<br><br>Berk<br><br>&gt; Date: Mon, 26 Jan 2009 17:46:26 -0500<br>&gt; From: fiedler@umich.edu<br>&gt; To: gmx-users@gromacs.org<br>&gt; Subject: Re: [gmx-users] Transition difficulties: version 3.3.3 to        4.0.3        regarding pull_geometry=distance<br>&gt; <br>&gt; Hi Chris,<br>&gt; <br>&gt; Your suggestions were helpful.  Due to the nature of this problem, there <br>&gt; were limitations in the application of the sequence of steps that you <br>&gt; recommended.  Specifically, the difference in the equilibrated structure <br>&gt; from version 3.3.x to the calculated reference center of mass from <br>&gt; version 4.0.x causes an unreasonable "jump" with constraint force <br>&gt; calculation.  Resultant bad contacts prohibit generation of a pull <br>&gt; output file.<br>&gt; <br>&gt; More generally though, I believe I understand your broader point: the <br>&gt; sensitive nature of the periodic box with respect to the pull code and <br>&gt; possible discrepancies in the pbc treatment by various utilities, may <br>&gt; cause confusion with the diagnostic process.   The test bilayer system I <br>&gt; created however, centered distantly from the x and y box edges, may <br>&gt; effectively remove this set of concerns.  For example, this <br>&gt; configuration is relatively unchanged upon "recentering", however it is <br>&gt; still susceptible to the problem that is the subject of this discussion.<br>&gt; <br>&gt; If I can reproduce this phenomenon with a publicly available topology <br>&gt; file, I can provide the necessary input files for inspection.<br>&gt; <br>&gt; Thank you again,<br>&gt; <br>&gt; Steve Fiedler<br>&gt; <br>&gt; <br>&gt; <br>&gt; chris.neale@utoronto.ca wrote:<br>&gt; &gt; Hi Steve,<br>&gt; &gt;<br>&gt; &gt; what I intended to suggest was actually something different (and much <br>&gt; &gt; easier).<br>&gt; &gt;<br>&gt; &gt; The idea is not that you need some special system to be able to <br>&gt; &gt; utilize the pull code, but that the pull code is correct whereas the <br>&gt; &gt; g_dist and g_traj programs are not as good at treating pbc in the way <br>&gt; &gt; that one desires.<br>&gt; &gt;<br>&gt; &gt; I suggest the following.<br>&gt; &gt;<br>&gt; &gt; 1. Take your original system and run the pull code for a very short <br>&gt; &gt; simulation. Use the last line of the output to calculate the relevant <br>&gt; &gt; displacement<br>&gt; &gt;<br>&gt; &gt; 2. Now use trjconv -b -e to get the last frame of the .xtc that <br>&gt; &gt; resulted from that short MD run as a .gro file, call it final.gro. I <br>&gt; &gt; suspect that your groups are not entirely in the same simulation box <br>&gt; &gt; in final.gro.<br>&gt; &gt;<br>&gt; &gt; 3. Now make a new .ndx file from that .gro and give it a single <br>&gt; &gt; residue that is near your binding pocket, call it R_1<br>&gt; &gt;<br>&gt; &gt; 4. Now apply trjconv -center -pbc mol -ur compact while selecting R_1 <br>&gt; &gt; for centering, call the new .gro file final_center.gro<br>&gt; &gt;<br>&gt; &gt; 5. Visualize final_center.gro and ensure that all of your relevant <br>&gt; &gt; atoms are in the same image in the way that puts the minimum distance <br>&gt; &gt; between them along a path that is entirely contained within the unit <br>&gt; &gt; cell. If not, go back to step 3 and try making a group R_2, etc.  <br>&gt; &gt; until this process works. NOTE: you might think that giving trjconv <br>&gt; &gt; -center the relevant groups that you use for pulling will be a good <br>&gt; &gt; idea here, but it is not. The problem there is that the atoms may be <br>&gt; &gt; "centered" by placing half on the left boundary and half on the right <br>&gt; &gt; boundary. I find using one logically selected residue or atom is the <br>&gt; &gt; best method here.<br>&gt; &gt;<br>&gt; &gt; 6. Assuming that you got what you wanted in step 5, now run g_traj and <br>&gt; &gt; g_dist on final_center.gro. In my case, I found that g_traj and g_dist <br>&gt; &gt; give the same answer as the pull code output when I am using <br>&gt; &gt; final_center.gro, but not always when I am using final.gro.<br>&gt; &gt;<br>&gt; &gt; *** I always laugh when these problems arise because, in an important <br>&gt; &gt; sense, the protein *did* jump out of the simulation box... at least as <br>&gt; &gt; far as g_traj and g_dist are concerned. This, we must hope, is <br>&gt; &gt; correctly treated in the pull code even though it is incorrectly (or <br>&gt; &gt; at least unintuitively) treated by g_traj and g_dist.<br>&gt; &gt;<br>&gt; &gt; Chris.<br>&gt; &gt;<br>&gt; &gt; -- original message --<br>&gt; &gt;<br>&gt; &gt; Hi,<br>&gt; &gt;<br>&gt; &gt; Thank you Berk and Chris for the suggestions.<br>&gt; &gt;<br>&gt; &gt; To address the possibility that this issue is related to periodic<br>&gt; &gt; boundaries, I used two approaches:<br>&gt; &gt; 1.  The pull group of interest (permeant) was centered in the x-y plane<br>&gt; &gt; of the box using Chris' approach.  I then used the genconf utility to<br>&gt; &gt; replicate my lipid box to a 9x9 grid in the x-y plane and removed all<br>&gt; &gt; but the center box.  This generated the coordinates for a bilayer system<br>&gt; &gt; with all lipid molecules inside a box and intact.  The discrepancy<br>&gt; &gt; between the grompp (version 4.0.3) output and distances as calculated by<br>&gt; &gt; g_traj (version 4.0.3) persist, 2.667 vs. 0.3996 nm.<br>&gt; &gt; 2.  I constructed a three atom system containing 2 reference atoms of<br>&gt; &gt; type A, and a "pull" atom of type B.  Proper output from grompp was<br>&gt; &gt; observed for all coordinates of both the reference and pulled atoms,<br>&gt; &gt; include coordinates for atoms moved outside the box in the x-y plane.<br>&gt; &gt; The coordinate, topology, and run control parameter file are given below.<br>&gt; &gt;<br>&gt; &gt; If there are additional suggestions, I would be greatly appreciative.<br>&gt; &gt;<br>&gt; &gt; Thank you,<br>&gt; &gt;<br>&gt; &gt;    Steve Fiedler<br>&gt; &gt;<br>&gt; &gt; -----------------<br>&gt; &gt; conf.gro<br>&gt; &gt; Three atoms<br>&gt; &gt;     3<br>&gt; &gt;     1AAA      A    1   1.500   1.500   1.000<br>&gt; &gt;     2AAA      A    2   0.500   1.500   1.000<br>&gt; &gt;     3BBB      B    3  -1.500   1.500   1.700<br>&gt; &gt;    3.00000   3.00000   3.00000<br>&gt; &gt; -----------------<br>&gt; &gt; index.ndx<br>&gt; &gt; [ System ]<br>&gt; &gt;    1    2    3<br>&gt; &gt; [ Ref ]<br>&gt; &gt;    1    2<br>&gt; &gt; [ Pulled ]<br>&gt; &gt;    3<br>&gt; &gt; -----------------<br>&gt; &gt; grompp.mdp<br>&gt; &gt; title                    = ThreeAtoms<br>&gt; &gt; integrator               = md<br>&gt; &gt; dt                       = 0.001<br>&gt; &gt; nsteps                   = 1<br>&gt; &gt; ns_type                  = grid<br>&gt; &gt; pbc                      = xyz<br>&gt; &gt; coulombtype              = shift<br>&gt; &gt; rlist                    = 1.4<br>&gt; &gt; rcoulomb                 = 1.4<br>&gt; &gt; rvdw                     = 1.4<br>&gt; &gt; tcoupl                   = no<br>&gt; &gt; pcoupl                   = no<br>&gt; &gt; constraint_algorithm     = shake<br>&gt; &gt; shake_tol                = 1e-4<br>&gt; &gt; gen-vel                  = no<br>&gt; &gt; gen-temp                 = 0<br>&gt; &gt;<br>&gt; &gt; nstxout                  = 1<br>&gt; &gt; nstvout                  = 0<br>&gt; &gt; nstfout                  = 0<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_init1 = 0.7<br>&gt; &gt; pull_group0 = Ref<br>&gt; &gt; pull_group1 = Pulled<br>&gt; &gt; pull_k1 = 10000<br>&gt; &gt; -----------------<br>&gt; &gt; topology.top<br>&gt; &gt; ; topology for two partially charged atoms<br>&gt; &gt;<br>&gt; &gt; [ defaults ]<br>&gt; &gt; ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ<br>&gt; &gt; 1     3     yes      0.125  0.5<br>&gt; &gt;<br>&gt; &gt; [ atomtypes ]<br>&gt; &gt; ;name     mass     charge ptype  sig           eps<br>&gt; &gt;    A   1000.0000    0.000  A     0.50000      9.90000<br>&gt; &gt;    B      9.0000    0.000  A     0.30000      9.00000<br>&gt; &gt;<br>&gt; &gt; [ nonbond_params ]<br>&gt; &gt;   ; i    j    func    sig          eps<br>&gt; &gt;<br>&gt; &gt; [ moleculetype ]<br>&gt; &gt; AAAA 1<br>&gt; &gt;<br>&gt; &gt; [ atoms ]<br>&gt; &gt; ;   nr   type  resnr residue  atom   cgnr  charge       mass<br>&gt; &gt;     1     A     1      AAA    A      1      0.000   1000.0000<br>&gt; &gt;<br>&gt; &gt; [ moleculetype ]<br>&gt; &gt; BBBB 1<br>&gt; &gt;<br>&gt; &gt; [ atoms ]<br>&gt; &gt; ;   nr   type  resnr residue  atom   cgnr  charge     mass<br>&gt; &gt;     1     B     1      BBB    B      1      0.000      9.00<br>&gt; &gt;<br>&gt; &gt; [ system ]<br>&gt; &gt; ; name<br>&gt; &gt; Three atoms<br>&gt; &gt;<br>&gt; &gt; [ molecules ]<br>&gt; &gt; ; name   number<br>&gt; &gt; AAAA      2<br>&gt; &gt; BBBB      1<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Chris Neale wrote:<br>&gt; &gt;&gt; I just checked similar simulations of mine and Berk's suggestion <br>&gt; &gt;&gt; accounts for similar discrepancies that I notice on a quick <br>&gt; &gt;&gt; evaluation where g_traj and g_dist fail to give me the same distance <br>&gt; &gt;&gt; as I obtain from the pull pos.xvg file. As Berk suggests, once I <br>&gt; &gt;&gt; first trjconv -center -pbc mol -ur compact (giving an appropriate <br>&gt; &gt;&gt; residue for centering that puts all relevant pulled atoms in the same <br>&gt; &gt;&gt; box) then g_traj and g_dist both give me the exact same answer as I <br>&gt; &gt;&gt; calculate based on pull pos.xvg. Chris -- original message -- Hi, <br>&gt; &gt;&gt; There could be a problem with periodic boundary conditions. Do you <br>&gt; &gt;&gt; have multiple molecules in a pull group, or broken molecules? In that <br>&gt; &gt;&gt; case the COM position of 3.3.3 and g_traj are both incorrect. The <br>&gt; &gt;&gt; pull code in 4.0 grompp and mdrun are (as far as I know) always <br>&gt; &gt;&gt; correct. Berk<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; &gt; http://www.gromacs.org/mailman/listinfo/gmx-users<br>&gt; &gt; Please search the archive at http://www.gromacs.org/search before <br>&gt; &gt; posting!<br>&gt; &gt; Please don't post (un)subscribe requests to the list. Use thewww <br>&gt; &gt; interface or send it to gmx-users-request@gromacs.org.<br>&gt; &gt; Can't post? Read http://www.gromacs.org/mailing_lists/users.php<br>&gt; &gt;<br>&gt; &gt;<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; Steve Fiedler, Ph.D.<br>&gt; Research Fellow<br>&gt; Department of Mechanical Engineering<br>&gt; The University of Michigan<br>&gt; 2024 G.G. Brown<br>&gt; 2350 Hayward St.<br>&gt; Ann Arbor, MI 48109-2125<br>&gt; <br>&gt; <br>&gt; _______________________________________________<br>&gt; gmx-users mailing list    gmx-users@gromacs.org<br>&gt; http://www.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 />What can you do with the new Windows Live? <a href='http://www.microsoft.com/windows/windowslive/default.aspx' target='_new'>Find out</a></body>
</html>