[gmx-users] pull_pbcatom reporting strangely when set to 0
chris.neale at utoronto.ca
chris.neale at utoronto.ca
Mon Jun 21 00:54:13 CEST 2010
Dear gromacs users:
I am confused (again) about pull_pbcatom0. From this analysis, I am
questioning if the pbcatom reported from grompp and in the top of the
.log file is numerically defined *within* a group or in the context of
the entire .gro file.
Either way, I think that I have conclusively shown below that setting
pull_pbcatomN to 0 is not reported properly. My hunch is that it is
just a reporting problem and is working alright. For the reporting by
grompp and at the beginning of mdrun, I think that the pbcatom is
defined *within* a group, but that the selection of the pbcatom when
setting pbcatom=0 is incorrect (sometimes drastically).
I'm posting to the mailing list in the hopes that somebody can simply
take a look at the relevant code and see where the problem is.
Here, I have a .gro file that has protein, then lipid, then water. I
have the lipid as pull group 0 and the protein as pull group 1.
The protein has 14 atoms and the lipid group has 3456 atoms.
These tests have all been run with 4.0.7 (and also 4.0.5 gives
identical results).
If I specify pull_pbcatom0=10 in my .mdp, then:
grompp says:
Pull group natoms pbc atom distance at start reference at t=0
0 3456 10
1 14 7 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {14,...,3469}
weight: not available
pbcatom = 9
This makes me think that at this stage the pull_pbcatom0 is defined
within the group such that the accessible numebrs are [0,...,3455] --
If this was not the case, then pbcatom0 should be reported as 9+14
protein atoms = 25.
####################################################################################
Ok, so now I define pull_pbcatom0=0 in my .mdp, then:
grompp says:
Pull group natoms pbc atom distance at start reference at t=0
0 3456 1742
1 14 7 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {14,...,3469}
weight: not available
pbcatom = 1741
Which surprised me because 3456/2=1728 and 1728 -1 (use zero as first
#) +14 (protein atoms) = 1741
However, this suggests that at this stage the pull_pbcatom0 is defined
in the context of the entire .gro file, not only within the group.
This contradicts what I saw above.
####################################################################################
Next, I added a second protein (there are now 28 atoms of protein
before the lipid coordinates start) and left pull_pbcatom0=0, now:
grompp says:
Pull group natoms pbc atom distance at start reference at t=0
0 3456 1756
1 28 14 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {28,...,3483}
weight: not available
pbcatom = 1755
Where 1755 = 1741+14 so again it looks as if the pull_pbcatom0 is
defined (or at least decided) in the context of the entire .gro file.
####################################################################################
####################################################################################
####################################################################################
Now I reverse the order of the protein and the lipid, with only one
copy of the protein again.
Here, I specify pull_pbcatom0=10 (pull group 0 remains the lipid):
grompp says:
Pull group natoms pbc atom distance at start reference at t=0
0 3456 10
1 14 3463 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {0,...,3455}
weight: not available
pbcatom = 9
####################################################################################
Now I specify pull_pbcatom0=0
grompp says:
Pull group natoms pbc atom distance at start reference at t=0
0 3456 1728
1 14 3463 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {0,...,3455}
weight: not available
pbcatom = 1727
...
pull_group 1:
atom (14):
atom[0,...,13] = {3456,...,3469}
weight: not available
pbcatom = 3462
And from these last 2 I conclude that pull_pbcatom0 had better be
defined in the context of the entire file, or else the 14 atom peptide
having a pull_pbcatom of 3463 is going to be a real problem.
#####################################################################################
To test that, I removed all of the water so that the protein pbcatom
would go out of bounds if it was really #3462 as defined within the
group:
gromp says (the exact same as before):
Pull group natoms pbc atom distance at start reference at t=0
0 3456 1728
1 14 3463 -0.000 0.000 -0.001 0.000 0.000 0.000
and the .log file says:
pull_group 0:
atom (3456):
atom[0,...,3455] = {0,...,3455}
weight: not available
pbcatom = 1727
pull_group 1:
atom (14):
atom[0,...,13] = {3456,...,3469}
weight: not available
pbcatom = 3462
And it appears to be stable over 1000 steps of MD, so perhaps it's not
going out of bounds.
Thank you very much,
Chris.
More information about the gromacs.org_gmx-users
mailing list