[MMTK] Solvation example
Michiel Jan Laurens de Hoon
mdehoon at ims.u-tokyo.ac.jp
Tue Oct 14 19:51:14 CEST 2003
I am hoping to use MMTK to calculate protein interactions, and following
an earlier explanation from Konrad, I am now looking at solvation
effects first. A couple of questions came up when I tried to run the
example script solvation.py:
1) The solvation is done by scaling up the universe, adding water
molecules at random, and slowly scaling it back to its original size. Is
there a reason for this, other than that it is easier to avoid
overlapping water molecules when placing them randomly? I may just be
missing some basic molecular modeling background here. Does anybody know
any good textbooks on these kind of things?
2) If I try to view the universe after running solvation.py, I get the
error message "Universe version numbers do not agree" (complete
traceback is printed below). For some reason, if I remove the lines
universe.thermostat = NoseThermostat(temperature)
universe.barostat = AndersenBarostat(pressure, 0.1*Units.ps)
and remove the line with BarostatReset in the call to the integrator, I
can view the universe. But I have no idea why the thermostat and
barostat would affect the ability to view the universe.
3) If I then view the universe, I noticed that the protein usually ends
up off to one side or in a corner (so one side of the protein does not
have water but the vacuum around it). This is also the case if I
increase the size of the box so I have lots of water (269 molecules). I
was hoping to find the protein somewhere in the bulk of the water. Is
something going wrong here? What is the function of solvation if the
protein doesn't see most of the water?
Many thanks in advance,
Michiel, U Tokyo.
Traceback of universe.view():
30 water molecules will be added
Solvent molecules have been added, now shrinking universe...
Universe has been compressed, now equilibrating...
Traceback (most recent call last):
File "solvation.py", line 97, in ?
line 359, in view configuration)
745, in contiguousObjectConfiguration
return conf + offset
py", line 330, in __add__
value = ParticleVector.__add__(self, other)
py", line 95, in __add__
return self._arithmetic(other, Numeric.add)
py", line 82, in _arithmetic
return_class, a2 = self._checkCompatibility(other, allow_scalar)
py", line 54, in _checkCompatibility
raise ValueError, "Universe version numbers do not agree"
ValueError: Universe version numbers do not agree
Michiel de Hoon, Assistant Professor
University of Tokyo, Institute of Medical Science
Human Genome Center
4-6-1 Shirokane-dai, Minato-ku
More information about the mmtk