|
Yammp
is a batch-oriented program and a module of the Yup
package. It is designed for computationally
intensive simulations and as such does not have
many interactive features.
This
name refers to two different objects. The
yammp
module (all lower-case) is a component of the Yup
package. This module is used by the YammpScripter
application. You can access this module directly if
you wish, by direct scripting. For more information
on scripting see the YammpScript item of the
Technical Documentation. The
Yammp
program (capitalized) is a small script that
imports the yammp module for you and is a more
convenient access point. You can set up a
simulation by using YammpScripter (see the Scripter
item in this manual) to generate a script. There is
no need for direct scripting unless you want very
fine control over your calculation.
Input
There
are two input files: a descriptor file and an
archive file. Both are binary files. The descriptor
contains the parameters of the force field. The
archive file contains one or more records
containing coordinates, velocities or other
vectors. One coordinate set will be read from the
archive file which will be used as a starting
conformation for the simulation. The last record of
the archive file will be used unless you specify a
different record number.
It
is possible to create a descriptor by hand but Taro
offers easier and better ways to do this. Taro can
also generate simple starting conformations or
convert a PDB file to an archive file.
Calculations
The
potential energy function is the central equation
in Yammp. It is specified by parameters that are
read from the descriptor file. See the Energy item
in the Technical Documentation for
details.
Yammp
provides three main molecular mechanics methods:
the Metropolis Monte Carlo method, three varieties
of Energy Minimizers and two Molecular Dynamics
methods. Two of the energy minimizers can be
customized with one of three linesearch methods.
You can use any or all of these methods in any
order and in any proportion. For more on methods
see the Methods item in the Technical
Documentation.
The
usual approach is to modify a method to change the
settings for your particular simulation and then
perform the simulation.
The
energy minimizers are used to obtain low energy
structures. (That is, low potential or internal
energies not free energies.) Starting conformations
that are far from the optimum geometry must be
cleaned up and energy minimization methods can
help. Even then, for very poor structures you may
have to use a very conservative energy minimization
method like Steepest Descent. This is a safe method
but it is non-convergent. A method with better
convergence is CGPR but this method is not stable
with poor conformations.
Molecular
Dynamics methods are used to generate trajectories,
to study the dynamic behavior of molecules.
Starting structures must be close to the energy
minimum; energy minimization can be used to achieve
this. The system must also be brought up to the
simulation temperature gradually. The Berendsen
heat bath is a good way to do this.
Yammp
implements a simple Monte Carlo method that moves
one particle at a time. A Monte Carlo step or sweep
consists of as many trial moves as the number of
atoms in the system. The atoms are picked at random
so not all atoms are moved in each sweep but with a
large number of sweeps all atoms will be moved at
some point. The trial moves are typically of a
magnitude so that they pass and fail with equal
chances, i.e., an acceptance rate of 50%. It is
efficient as far as particle-based methods go but
it is not well suited for conformation sampling.
However, there are two good uses of Monte Carlo.
First, as a method of last resort for energy
minimization. A very poor conformation can be put
through a suitable number of Monte Carlo sweeps. If
the system cannot be minimized after extensive
treatment with the Monte Carlo method, the system
is too large or the potential energy description is
defective or the starting conformation is much too
far from the optimum. A second use for Monte Carlo
is to prepare a molecule for molecular dynamics. A
molecule can be plunged into a heat bath using
Monte Carlo without observing the usual precautions
necessary with molecular dynamics (step size and
temperature gradient). A disadvantage though is
that this method does not generate a corresponding
set of velocities.
A
simulation may therefore require more than a single
application of a single method. Some calculation
sequences are carried out many times with different
systems. Such sequences can be packaged as modules.
See the YammpScripter item of the Technical
Documentation for examples.
Output
The
output consists of reports that appear in two
streams. The kinetic energy and the components of
the potential energy are written to the standard
output stream. Information and warning messages are
written to the standard error stream. Normally, the
two output streams are written to the same device,
the screen or a file. You can separate the two
streams if you like using file redirection. This is
a shell capability so you need to consult the
documentation for your shell.
You
can save new conformations (and velocities) at
nearly any point in your simulation with an
explicit command. You can also set an interval for
each molecular mechanics method at which new
conformations (and velocities) is written to the
archive file. The conformations are appended to the
archive file specified as input archive file. You
can also name a new archive file to be used for
this purpose. If you name a new archive file
without specifying the record number, it is assumed
that your starting conformation will be the first
record (instead of the last) of the input
archive.
|