AMMP
Another Molecular Mechanics Program
VEGA edition printable manual
1. Introduction
AMMP is a modern full-featured molecular mechanics, dynamics
and modelling program. It can manipulate both small molecules and macromolecules
including proteins, nucleic acids and other polymers. In addition to standard
features, like numerically stable molecular dynamics, fast multipole method for
including all atoms in the calculation of long range potentials and robust
structural optimizers, it has a flexible choice of potentials and a simple yet
powerful ability to manipulate molecules and analyze individual energy terms.
One major advantage over many other programs is that it is easy to introduce
non-standard polymer linkages, unusual ligands or non-standard residues. Adding
missing hydrogen atoms and completing partial structures, which are difficult
for many programs, are straightforward in AMMP. It is written in C and has been
ported to many different computers. The source code is available under the GNU "copyleft"
so that it is easy to follow exactly what the program is doing. Another major
advantage over commercial software is that AMMP can be easily included in
another program to supply molecular mechanics function.
The main features implemented in AMMP are:
Fast long range electrostatics and non-bonded terms. AMMP runs without cutoffs in times comparable to or better than an 8 Angstrom cutoff in other programs.
Stable, numerically accurate, molecular dynamics. AMMP is stable with difficult problems such as parallel stranded DNA. (shown with its Na counterions below).
Flexible choice of potential functions. In addition to standard formulations, AMMP has non-point charges, explicit Debye screening, accurate polarization models, non-harmonic bond and angle formulations, and coupled bond-angle terms available.
Calculates partial charges for new molecules.
Embedding and homotopy methods for rapid model building.
Neural network polymer modeller (Kohonen neural network).
Self-contained, and can be embedded in other programs.
VEGA ZZ interface.
2. Installation
AMMP VEGA edition is included in VEGA ZZ for Windows package and in VEGA command line for Linux. It's also included the AmmpStart.exe program that is able to choose the more appropriate AMMP version. All these executables are placed in VEGA ZZ\Bin directory and they are included in the standard AMMP VEGA edition package (see the Mingw32 directory).
2.1 Linux installation
No installation is required for the Linux version: just place the executable in your command directory (e.g. /usr/local/bin) or in another directory placed in the command path. Please remember to change the file permissions typing the command:
chmod 755 ammp
The standard package includes four AMMP Linux versions: 32 bit for libc 6 (Linux_x86 directory), 64 bit for libc 6 (Linux_x64 directory), 64 bit for glibc 2.3 (Linux_x64_glibc_2.3 directory) and 32 bit ARM (Linux_ARM directory). If you need to rebuild the executable, follow the next section.
2.2 Unix installation
This manual section shows the steps needed to install AMMP VEGA edition package on Unix-like operating systems (e.g. IRIX, Linux, NetBSD, etc).
2.2.1 Building AMMP VEGA edition
The high portable source code allows to build the package virtually for any computer platform that has a standard ANSI C compiler and the Posix thread library (pthread). It's possible to find some minor compiling problems due to hardware differences. If you can't solve these problems, please contact the Authors.
As first step, you must unpack the Ammp_XX.tar.gz file, using the gzip command. If this command is not available in your system, you can download it from any GNU software archive (see: http://www.opensource.org). The correct syntax is:
gzip -d Ammp_XX.tar.gz
the unpacked file (Ammp_XX.tar) created by gzip must be dearchived with tar command:
tar -xvf Ammp_XX.tar
A directory called Ammp will be created. Alternatively, you could use the commad tar -zxvf skipping the gzip step.
After this operation, change the current directory to ...Ammp/Targets/Version, where Version can be BCB for Windows (Borland C/C++ Builder 6), BDS (Codegear RAD Studio XE), Linux_ARM for 32 bit ARM Linux, Linux_x64 for 64 bit Linux, Linux_x64_glibc_2.3 for 64 bit Linux, Linux_x86 for 32 bit Linux, Mingw32 for Windows x86, Mingw64 for Windows x64, Unix for generic Unix and Win64 for Windows x64 (VisualC compiler). If your operating system is not directly supported, choose the Unix directory and edit the Makefile, setting the CC variable to the compiler name (usually cc or gcc) and the CFLAGS variable for the best optimization (e.g. -O2).
In the command shell, type make and the AMMP executable will be compiled for your system.
2.2.2 Setting-up your Unix system
No installation is required for the Unix version: just place the executable in your command directory (e.g. /usr/local/bin) or in another directory placed in the command path.
3. Usage
AMMP can be started typing ammp in the command prompt or using the full-featured graphic user interface implemented in VEGA ZZ. No command options are available starting it from the shell:
AMMP 2.1.0 - (c) 1993-2023, Robert W. Harrison VEGA edition by Alessandro Pedretti
AMMP is now waiting for the commands. Please remember that it accepts the standard input and output redirection and so you are able to control the software using a command file and to capture the output in another file:
ammp < COMMAND_FILE.amp > OUTPUT_FILE.out
Another possibility is the use of the command file as first argument:
ammp COMMAND_FILE.amp
3.1 The AMMP language
AMMP understands its own language having an easy syntax:
command PARAMETER_1 PARAMETER_2 PARAMETER_3 ... ;
The first word is the command keyword followed by required parameters which number depends on the own command. The expression must always terminate with the semicolon character (;).
cngdel 2000 0 0.01;
The parameters can be explicit numbers (e.g. 1.00),
predefined variables (e.g. x), or indexed atomic parameters (e.g. i.x is the x
coordinate of the atom with serial number i and 1.q is the charge of the atom
with serial number 1).
The comments can be introduced in the command files using the # character and
they must be terminated by the semicolon:
# My comment;
The labels for loops and jumps can be specified using the colon (:) and the semicolon:
my_label:;
The atoms are assigned a unique integer serial number and referred to by this number. For polymers 100 * residue number + atom_number_in_the_residue is used. This makes it easy to convert between serial number and atomic residue. With 32 bits you will run out of memory well before you will run out of integers. The atom names are given by convention as residue.atom (e.g. ala.ca).
WARNING:
If these conventions are not followed then AMMP will run, but it will produce
incorrect PDB files and have difficulty referencing atoms by name.
The AMMP language is case-insensitive.
4. AMMP commands
AMMP interpret commands with this syntax:
COMMAND_NAME PARAMETER_1 PARAMETER_2 ... ;
The command name is case insensitive and the number of arguments is typical for each command. The arguments must be separated with one or more spaces and the command must terminated by a semicolon (;) character. As shown in the following table, an argument can be:
| Type | Description | |||||||||||||||||||||||||||||||||
| BOOL | Boolean value (1 = true, 0 = false). | |||||||||||||||||||||||||||||||||
| CHAR |
Character string. If it contains one or more spaces, you must use the single ' or double " quotes at the beginning and at the end of the string (e.g. "Hello World", or 'Hello World'). |
|||||||||||||||||||||||||||||||||
| FLOAT |
Floating point number with standard C syntax (the decimal separator must be a dot . and not a comma ,). |
|||||||||||||||||||||||||||||||||
| UFLOAT |
Unsigned float number. |
|||||||||||||||||||||||||||||||||
| INT |
Integer number. |
|||||||||||||||||||||||||||||||||
| LABEL | Label for the program flow control (e.g. conditional jumps and loops). The labels must have a colon (:) at the end. | |||||||||||||||||||||||||||||||||
| UINT |
Unsigned integer number. |
|||||||||||||||||||||||||||||||||
| VAR |
It could be a variable string name (integer or floating point), a constant (integer or floating point), an atomdata expression that could be:
Serial.data
where Serial is the atom serial number and Data is the atom data as reported in the following tables:
|
In order to interpret much easier the syntax of the commands present in this guide, for each argument is highlighted its type (CHAR, FLOAT, INT, etc).
4.1 Command index
| Command | Type | Description | ||
| ABC | Input | Define the angle - bond correlation. | ||
| ABUILD | Calc | Analytic geometry solver. | ||
| ACTIVE | Calc | Activate the atoms. | ||
| ADD | Math | Arithmetic sum between two terms. | ||
| ANALYZE | Calc | Evaluate the non-bond interaction energy. | ||
| ANGLE | Input | Define an angle. | ||
| ATOM | Input | Add a new atom. | ||
| AV5 | Input | Define a tetrahedral "volume" or centroid. | ||
| BELL | Calc | Iterative distance geometry optimizer using the Bellman - Ford - Fulkerson algorithm. | ||
| BFGS | Calc | BFGS quasi-Newton minimizer. | ||
| BINDUMP | Output | Dump the specified term in binary or in base64 mode. | ||
| BOND | Input | Define a bond. | ||
| CLONE | Calc | Copy the current coordinate set and the active atom flag to the memory. | ||
| CLOSE | Output | Close the file opened with OUTPUT. | ||
| CNGDEL | Calc | Poliak-Ribeire conjugate gradient minimizer. | ||
| CONFIRMEND | Output | Confirm the end of the command execution. | ||
| COS | Math | Cosine trigonometric function. | ||
| DGEOM | Calc | Standard distance geometry optimizer. | ||
| DIPOLE | Calc | Calculate the dipole moment. | ||
| DIV | Math | Arithmetic division. | ||
| DOUBLETIME | Calc | Double the time scale in molecular dynamics. | ||
| DSCF | Calc | Direct SCF orbital optimizer. | ||
| DUMP | Output | Dump the specified terms to the current file. | ||
| ECHO | Output | Turn on/off the message/command echo. | ||
| EXIT | Flow | Quit AMMP. | ||
| EXPAND | Input | Expand an orbital. | ||
| FIX | Math | Round down to an integer. | ||
| FLUSH | Output | Flush the output. | ||
| GDOCK | Calc | Genetic algorithm rigid docking. | ||
| GENETIC | Calc | Genetic algorithm minimizer. | ||
| GRASP | Calc | Torsion space optimizer. | ||
| GSDG | Calc | Gauss-Siedel distance geometry optimizer. | ||
| HPAC | Calc | Total energy constrained molecular dynamics. | ||
| HYBRID | Input | Define a hybrid (improper) angle. | ||
| INACTIVE | Calc | Inactivate the atoms. | ||
| INDEX | Math | Get the serial number of the specified atom number. | ||
| INIT4D | Input | Initialize the fourd 4D potential (w coordinate). | ||
| JE | Flow | Jump if equal. | ||
| JES | Flow | Check the atom name and if it's equal to the string, jump to the label. | ||
| JG | Flow | Jump if greater. | ||
| JL | Flow | Jump if less. | ||
| JNE | Flow | Jump if not equal. | ||
| JNES | Flow | Check the atom name and if it's not equal to the string, jump to the label. | ||
| KOHONEN | Calc | Kohonen neural network geometry search. | ||
| LINMIN | Math | Search the atom direction for a minimum. | ||
| LOOPF | Flow | Define a floating point loop. | ||
| LOOPI | Flow | Define an integer loop. | ||
| MAX | Math | Find the maximum of two values. | ||
| MIN | Math | Find the minimum of two values. | ||
| MOM | Calc | Perform the MoM atomic charge calculation. | ||
| MOMADD | Calc | Select the atoms for MoM charge calculation. | ||
| MOMPAR | Input | Define the electronegativity and the self coulomb terms. | ||
| MONITOR | Calc | Perform a single point energy evaluation. | ||
| MORSE | Input | Define a morse bond. | ||
| MOV | Math | Set a variable to another one. | ||
| MUL | Math | Multiplication. | ||
| NOEGEN | Input | Set the noels to the current geometry. | ||
| NOEL | Input | Define the noe distance restraint. | ||
| NOP | Math | Dump the value of a variable. | ||
| NORMAL | Calc | Calculate the normal modes. | ||
| NZINACTIVE | Calc | Inactivate the atoms which aren't located at the axis origin (0, 0, 0). | ||
| ORBIT | Input | Define an orbital for SCF calculation. | ||
| OUTPUT | Output | Open a file for writing redirecting the output to it. | ||
| PAC | Calc | Predict and correct the molecular dynamics. | ||
| PACPAC | Calc | Iterated predict and correct the molecular dynamics. | ||
| POLYTOPE | Calc | Polytope simplex minimizer. | ||
| PPAC | Calc | Constant pressure molecular dynamics. | ||
| Output | Print a message/variable to the current output stream. | |||
| PTPAC | Calc | Constant temperature and pressure molecular dynamics. | ||
| RANDF | Math | Pseudo-random number. | ||
| READ | Input | Read an AMMP command file. | ||
| RESET | Input | Reset all. | ||
| RESTORE | Calc | Copy a coordinate set and the active atom flag from the memory. | ||
| RESTRAIN | Input | Define a restraint between two atoms. | ||
| RICHARD | Calc | Thermodynamic path integrals using the Feynmann Weiner Kac approach. | ||
| RIGID | Calc | Polytope rigid body solver. | ||
| SERIAL | Math | Set a variable equal to the serial atom number given by the atom name. | ||
| SETF | Math | Define a floating point number variable. | ||
| SETI | Math | Define an integer number variable. | ||
| SIN | Math | Sine trigonometric function. | ||
| SQRT | Math | Square root. | ||
| STEEP | Calc | Steepest descent minimizer. | ||
| STEP | Input | Define a step distance (3 point noel). | ||
| SUB | Math | Subtraction. | ||
| SWARM | Input | Add a distance restrain to the mean distance. | ||
| TABLE | Calc | Create an empty sorted table for the table driven potential. | ||
| TABLEENT | Calc | Add a new element to the table. | ||
| TAILOR | Calc | Set, exclude, include the atoms from the non-bonded list. | ||
| TAN | Math | Tangent trigonometric function. | ||
| TBOND | Input | Define a bond which potential will be evaluated using the table method. | ||
| TETHER | Input | Tether an atom. | ||
| TGROUP | Calc | Define a torsion for the conformational search. | ||
| TIME | Math | Time for calculation speed measurement. | ||
| TJUMP | Calc | Boltzmann jump conformational search. | ||
| TMAP | Calc | Map two torsions rotating them systematically. | ||
| TMIN | Calc | Search the torsion angle. | ||
| TPAC | Calc | Predict and correct the molecular dynamics (constant temperature). | ||
| TRANDOM | Calc | Random conformational search. | ||
| TSEARCH | Calc | Systematic conformational search (grid scan). | ||
| TSET | Calc | Set the given torsion angle. | ||
| TRUNC | Calc | Truncated Newton method minimizer. | ||
| TRUST | Calc | Trust-region based minimizer. | ||
| TORSION | Input | Define a torsion angle. | ||
| TTARGET | Input | Define a torsion angle restrain. | ||
| USE | Calc | Select the force field terms for energy calculation. | ||
| V_MAXWELL | Calc |
Set the velocity distribution with a random Maxwell - Boltzmann distribution. |
||
| V_RESCALE | Calc | Rescale the velocities to a new temperature. | ||
| VELOCITY | Input | Set the velocity to the specified atom. | ||
| VERLET | Calc | Perform the leapfrogging molecular dynamics. |
| Calc | = Calculation commands. | |
| Flow | = Flow control commands. | |
| Input | = Input commands. | |
| Output | = Output commands. | |
4.2 Calculation commands
There are the commands to perform AMMP calculations.
ABUILD (UINT)Niter
(UINT)FirstAtom (UINT)LastAtom
Analytic geometry solver. It use resultants to build atoms based on three or
more distances and the distance/planarity to build based on one or two
distances. The maximum number of atoms is 800.
| Parameters: | ||
| Niter | Number of iterations. If it's less then 1, one iteration only is performed. | |
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. | |
Return message:
Build steps.
Example:
ABUILD 50 1 95;
See also:
BELL, DGEOM, GSDG,
KOHONEN.
ACTIVE
(UINT)FirstAtom (UINT)LastAtom
Activate the atoms for the next calculations. The inactive atoms aren't considered and they are kept fixed.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, LastAtom is the last atom in the molecule. | |
Return message:
None.
Example:
ACTIVE 1 1200;
See also:
INACTIVE, NZINACTIVE.
ANALYZE
(UINT)FirstAtom (UINT)LastAtom
Evaluate the non-bond interaction energy, showing the complete non-bonded and electrostatic energies for the specified atom range ( I-J ). This command is useful for determining the interaction energy of a protein/substrate complex.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, FirstAtom only is considered. | |
Return message:
AMMP shows the energy for each atom in the selection range:
Vnonbon internal lys.n 137 Eq -12.860423 E6 -1.397398 E12 2.191076 Vnonbon external lys.n 137 Eq 16.632879 E6 -5.806829 E12 9.177713 Vnonbon total lys.n 137 Eq 3.772456 E6 -7.204227 E12 11.368790
where internal is intramolecular energy, external is the intermolecular (interaction) energy, total is the sum of intramolecular and intermolecular energies, Eq is the electrostatic (coulombic) energy, E6 and E12 are the Lennard - Johnes terms. At the end of the atom dump, AMMP reports:
Vnonbon total internal 151.439880 Vnonbon total external 2.272158 Vnonbon total 153.712067 153.712067 non-bonded energy 153.712067 total potential energy
where Vnonbon total internal is the total intramolecular energy, Vnonbon total external is the total intermolecular (interaction) energy, Vnonbon total is the total non-bond interaction energy (it's the sum of Vnonbon total internal and Vnonbon total external). Non-bonded energy and total potential energy are self explaining.
Example:
ANALYZE 137 158;
See also:
DIPOLE, MONITOR.
BELL (UINT)Niter
(UINT)FirstAtom (UINT)LastAtom
Iterative distance geometry optimizer using the Bellman - Ford - Fulkerson algorithm.
| Parameters: | ||
| Niter | Number of iterations. If it's less then 1, one iteration only is performed. | |
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, the LastAtom is the last atom in the molecule. | |
Return message:
Build steps.
Example:
BELL 20 1;
See also:
ABUILD, DGEOM, GSDG,
KOHONEN.
BFGS (UINT)Niter
(UFLOAT)Toler
BFGS Quasi-Newton minimizer. If the available memory isn't enough, the minimization is automatically switched to CNGDEL.
| Parameters: | ||
| Niter | Number of iterations. | |
| Toler | Tolerance value. | |
Return message:
Minimization steps.
Example:
BFGS 100 1;
See also:
CNGDEL, GENETIC,
POLYTOPE, RIGID, STEEP,
TRUST.
CLONE (UINT)CloneID
Copy the current coordinate set and the active atom flag to the memory.
| Parameters: | ||
| CloneID | Identification number of the cloned coordinate set. It must be a positive number. | |
Return message:
None.
Example:
CLONE 1;
CNGDEL 100 0 0.01;
RESTORE 1;
It clones the current coordinate set, performs an energy minimization and, finally, restores the coordinate set from the clone ID 1. In this way, the energy minimization is performed without changing the starting atomic coordinates.
See also:
RESTORE.
CNGDEL (UINT)Niter
(UINT)Nreset (UFLOAT)Toler
AMMP uses the Poliak-Ribeire algorithm for conjugate gradients with an inexact line search. AMMP will only terminate conjugate gradients when the number of steps is exhausted, or the calculated gradients are not a descent direction.
| Parameters: | ||
| Niter | Number of iterations. | |
| Nreset | Number of iterations resetting to steepest descent (STEEP). | |
| Toler | It's the desired value of the l_inifinity norm for the force. | |
Return message:
During the iterations, AMMP prints the current potential, the l_inifinity norm
on the force, and the value of b which is the conjugate dot product. The
value for l_infinity will hop around as it is the magnitude of the maximum force
on any atom which can both increase and decrease.
The RMS force can be found by examining the value of the variable l2f (nop l2f;
or dump variable) which is the sum of the squares of the forces.
Example:
CNGDEL 100 0 0.01;
See also:
BFGS, GENETIC,
POLYTOPE, RIGID, STEEP,
TRUST.
DGEOM (UINT)Nstep
(UINT)Origin (FLOAT)Shift
Standard distance geometry optimizer implemented with the power method.
| Parameters: | ||
| Nstep | Number of steps. If it's less then 1, one iteration only is performed. | |
| Origin | It's the atom serial used as the key atom. | |
| Shift | Amount of eigenvalue shift. | |
Return message:
Build steps.
Example:
DGEOM 20 1 0.5;
See also:
ABUILD, BELL, GSDG,
KOHONEN.
DIPOLE
(UINT)FirstAtom (UINT)LastAtom
Calculate the dipole moment.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, LastAtom is the last atom in the molecule. | |
Return message:
Dipole moment:
Dipole warning, 1 10 sum charge is not zero -1.000002 Dipole 1 10 center of charge is 0.237469 -0.059340 -0.008954
Example:
DIPOLE 1;
See also:
MONITOR.
DOUBLETIME
(UINT)Nstep
(UFLOAT)Dlong (UFLOAT)Dshort (UFLOAT)Temper
Double the time scale in molecular dynamics, performing a non linear fit and extrapolation.
| Parameters: | ||
| Nstep | Number of iterations. | |
| Dlong | Time scale. | |
| Dshort | Time step in m/s (0.00001 for 1 fs time integration). | |
| Temper | Temperature in Kelvin (default 300K). | |
Return message:
MD steps.
Example:
DOUBLETIME 1000 2 0.00001
300;
See also:
HPAC, PAC, PACPAC,
PPAC, PTPAC, RICHARD,
TPAC,
V_MAXWELL, V_RESCALE,
VERLET.
DSCF
(CHAR)What
(UINT)Niter (UFLOAT)Toler
Direct SCF orbital optimizer.
| Parameters: | ||||
| What | It could be: ANA (report only), CHARGE, COEF (coefficients), EDMAP, EMPIR, EXPO (exponents), FRE (freeze), GAN (gang toghether), GEOM (orbital geometry), IGEOM, INDO, IPOLI, PHIMAP, POLI, THA (thaw), XYZ (atom center). | |||
| Niter |
|
|||
| Toler | Tolerance value. | |||
Return message:
Optimization step.
Example:
None.
See also:
EXPAND, ORBIT.
GDOCK (UFLOAT)Toler
(UINT)Ndeep (UINT)Niter (FLOAT)VarA
(FLOAT)VarX (UINT)FirstAtom
(UINT)LastAtom
Genetic algorithm rigid docking. The specified atom range is docked into the rest of the structure.
| Parameters: | ||
| Toler | It's the desired value of the l_inifinity norm for the force. | |
| Ndeep | Number of possible solutions (population). In the initialization phase of the genetic algorithm the starting population is generated rototranslating randomly the selected atoms using the VarA and VarX scale factors. The default value is 8. | |
| Niter | Number of iterations (default 1). | |
| VarA | Rotation scale factor used to generate the starting population (default 1.0). | |
| VarX | Translation scale factor used to generate the starting population (default 1.0). | |
| FirstAtom | First atom number (not serial) of the selection (default 1). | |
| LastAtom | Last atom number (not serial) of the selection (default last atom). | |
Return message:
Calculation steps steps.
Example:
GDOCK 1 10 100 1.0 1.0 145;
See also:
None.
GENETIC (UINT)Niter
(UINT)Ndeep (FLOAT)Sigma
(FLOAT)Target (UINT)NoptSteps
Genetic algorithm minimizer.
| Parameters: | ||
| Niter | Number of iterations. | |
| Ndeep | Number of possible solutions (population). In the initialization phase of the genetic algorithm the start population is randomly generated using the starting coordinates adding a random number (from 0 to 1) multiplied by the Sigma scale factor. | |
| Sigma | Scale factor used to generate the starting population. | |
| Target | When the population satisfies the Target value, the minimization is stopped. | |
| NoptSteps | Optimization steps with conjugate gradients method. (CNGDEL). | |
Return message:
Minimization steps.
Example:
GENETIC 1000 10 1.0 0.01
10;
See also:
BFGS, CNGDEL,
POLYTOPE, RIGID, STEEP,
TRUST.
GRASP (UINT)Niter
(UINT)NoptSteps (UINT)FirstAtom
(UINT)LastAtom (CHAR)Atom
Torsion space optimizer. It searches a space of torsions using the current potentials and greedy algorithms. At least four atoms are required in the selection range (FirstAtom - LastAtom).
| Parameters: | ||
| Niter | Number of iterations. | |
| NoptSteps | Optimization steps with conjugate gradients method. (CNGDEL). | |
| FirstAtom | First atom number (not serial) for selection (optional, default = first atom). | |
| LastAtom | Last atom number (not serial) for selection (optional, default = last atom). | |
| Atom | Atom name in the atom selection (optional). | |
Return message:
Minimization steps.
Example:
GRASP 100 10 1 100
c;
See also:
None.
GSDG (UINT)Niter
(UINT)FirstAtom (UINT)LastAtom
GSDG or Gauss-Siedel Distance Geometry is a hybrid Krylov solver for distance
geometry. It's related to the earlier Herman's minimizer used in programs like
FRODO and CHAIN, but is more robust and has a stronger theoretical background.
GSDG understands bond, angle, nonbon, and noel
potentials. It can work on any combination of these terms. It systematically,
one atom at a time, attempts to solve the distance equations. The non-bonded
exclusion target is set to 4.5 Ångstroms. This is too large and results in a
distorted structure when the non-bonded terms are used. However this distorted
structure is usually self-avoiding and readily corrected with conjugate
gradients (CNGDEL) to result in a structure with both good
geometry and self-avoidance.
GSDG is most useful for building simple small molecules, and adding moderate
sized chucks to a partial structure.
Only the number of cycles is required in which case all active atoms are
searched. If only one atom is specified then only it is searched. Otherwise the
range of atoms specified is searched. GSDG checks the atom range order and it
swap its terms if FirstAtom is greater than LastAtom.
| Parameters: | ||
| Niter | Number of iterations. If it's less then 1, one iteration only is performed. | |
| FirstAtom | First atom serial for selection (optional, default = first atom). | |
| LastAtom | Last atom serial for selection (optional, default = last atom). | |
Return message:
Build steps.
Example:
GSDG 50;
See also:
ABUILD,
BELL, DGEOM.
HPAC (UINT)Nstep
(FLOAT)Dtime (FLOAT)Energy
Total energy constrained molecular dynamics, performing Nstep PAC dynamics.
| Parameters: | ||
| Nstep | Number of steps. | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration). | |
| Energy | Kinetic energy. | |
Return message:
None.
Example:
HPAC 1000
0.00001 80.0;
See also:
DOUBLETIME, PAC, PACPAC,
PPAC, PTPAC, RICHARD,
TPAC,
V_MAXWELL, V_RESCALE,
VERLET.
INACTIVE
(UINT)FirstAtom (UINT)LastAtom
Inactivate the atoms for the next calculations. The inactive atoms aren't considered and they are kept fixed.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, LastAtom is the last atom in the molecule. | |
Return message:
None.
Example:
INACTIVE 34 132;
See also:
ACTIVE, NZINACTIVE.
KOHONEN (UINT)Niter
(UFLOAT)Radius (INT)Initialize (UFLOAT)Rx (UFLOAT)Ry (UFLOAT)Rz
Kohonen neural network to find the 3D space filling curve corresponding to the structure: the net links correspond to chemical bonds, angle distances, noel distances and eventually the distance update could also include the Van der Waals interactions and the chirality. The Kohonen algorithm implements a self-organizing neural network that possess an isometry with self-assembling physical systems. One particular system of interest is proteins and other polymers.
| Parameters: | ||
| Niter | Number of iterations. | |
| Radius | It's the sphere radius in Å used to initialize the starting coordinates (see Initialize). If it's a value less then 1.0 Å, it's automatically computed as square root of the number of atoms. | |
| Initialize | If it's 1, the neural network is initialized assigning
random coordinates for each active atom. The inactive atoms, if they are
present, are used to calculate the geometry centre of the molecule. If no
inactive atoms are available, the geometry centre is placed at 0, 0, 0. The
random coordinates are scaled to Radius in order to fill completely
the sphere that will contain the final structure. If the Initialize value is -1, the neural network isn't initialized and it continues the previous calculation. |
|
| Rx | Symmetry radii in Å:
The cylindrical and ellipsoidal symmetries ignore the Radius value, and the spherical symmetry uses Radius value. |
|
| Ry | ||
| Rz | ||
Return message:
Build steps.
Example:
KOHONEN 100 -1 1
0.0;
See also:
ABUILD,
BELL, DGEOM, GSDG.
MOM
(FLOAT)TotalCharge (UINT)Niter
Perform the MoM atomic charge calculation. The algorithm is based on the moments developed by Rappe and Goddard. The atoms must be selected with the MOMADD command before to start the MoM calculation.
| Parameters: | ||
| TotalCharge | Molecule total charge. | |
| Niter | Number of iterations. If it's less then 0, the default number of iterations is performed (20). | |
Return message:
Charge attribution steps with error value:
MoM : Initialization MoM 4: Error -1.440886e-01 MoM 8: Error -1.476538e-02
Example:
MOM -1.0 20;
See also:
MOMADD, MOMPAR.
MOMADD
(UINT)FirstAtom (UINT)LastAtom
Select the atoms for the MoM calculation. It can be called
more then one time and the selection is lost when MOM is
executed.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, LastAtom is the last atom in the molecule. | |
Return message:
None.
Example:
MOMADD 1 100;
See also:
MOM, MOMPAR.
MONITOR
Perform a single point energy evaluation. The USE command allows to select the energies to dump.
Parameters:
None.
Return message:
Dump of energies in Kcal/mol:
Energy: Bond................: 1.080161 Angle...............: 2.006297 Torsion.............: 7.762559 Non-bond............: 10.683147 Hybrid..............: 1.009054 Total potential.....: 22.541220 Total kinetic.......: 0.000000 Total energy........: 22.541220 Total action........: -22.541220
Example:
MONITOR;
See also:
DIPOLE,
USE.
NORMAL
(UFLOAT)Damp
Calculate the normal modes. This is useful for small molecules.
| Parameters: | ||
| Damp | Normal scale factor. If it's equal to 0, the eigenvalues are dumped only. If it's greater then 0, the structures are dumped in PDB multi-model format. The resulting file (see output command) is readable by VEGA ZZ or by other molecular modelling software supporting the PDB multi-model format. | |
Return message:
The computed Eigenvalues if Damp is less or equal to 0:
81 Eigenvalues found: 414.515198 kcal/A^2g 3126.659427 cm-1 412.284485 kcal/A^2g 3118.235021 cm-1 401.209595 kcal/A^2g 3076.068513 cm-1 400.785583 kcal/A^2g 3074.442639 cm-1 400.264404 kcal/A^2g 3072.442995 cm-1
Example:
NORMAL 0;
See also:
None.
NZINACTIVE
(UINT)FirstAtom (UINT)LastAtom
Inactivate the atoms which aren't located at the axis origin (0, 0, 0). The inactive atoms aren't considered and they are kept fixed.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. This is an optional argument. If it's omitted, LastAtom is the last atom in the molecule. | |
Return message:
None.
Example:
NZINACTIVE 20 78;
See also:
ACTIVE, INACTIVE.
PAC (UINT)Nstep
(FLOAT)Dtime
Perform the molecular dynamics, predicting the path given current velocity, integrating the force (Simpson's rule), predicting the final velocity and updating the position using trapezoidal correction.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration).The default value is 0.00001. | |
Return message:
None.
Example:
PAC 1000
0.00001;
See also:
DOUBLETIME, HPAC,
PACPAC, PPAC,
PTPAC, RICHARD, TPAC, V_MAXWELL,
V_RESCALE, VERLET.
PACPAC (UINT)Nstep
(FLOAT)Dtime
Perform the molecular dynamics, predicting the path given current velocity, integrating the force (Simpson's rule), predicting the final velocity and updating the position using trapezoidal correction. This is the more accurate version of PAC.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration). The default value is 0.00001. | |
Return message:
None.
Example:
PACPAC 1000
0.00001;
See also:
DOUBLETIME, HPAC, PAC,
PPAC,
PTPAC, RICHARD, TPAC, V_MAXWELL,
V_RESCALE, VERLET.
POLYTOPE
(UINT)FirstAtom (UINT)LastAtom (UINT)Niter
(UFLOAT)Vstart (UFLOAT)Vfinal
Perform a polytope simplex minimization on a selected range of atoms.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. If it's set to 0, LastAtom is the last atom in the molecule. | |
| Niter | Number of iterations. | |
| Vstart | Starting variance. It's the scale factor used to move the atom coordinates. | |
| Vfinal | Target (final) variance. | |
Return message:
Minimization steps.
Example:
POLYTOPE 1 0 100
0.5 0.01;
See also:
BFGS, CNGDEL, GENETIC,
RIGID, STEEP, TRUST.
PPAC (UINT)Nstep
(FLOAT)Dtime (UFLOAT)Press
Pressure constrained molecular dynamics. The volumes are not fully calibrated in this command. It is also necessary to slowly approach the desired conditions because this uses Andersen's demon for volume constraints. Andersen's demon is not fully stable and the system can explode.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration).The default value is 0.00001. | |
| Press | Pressure in kilopascal (101.325 kPa = 1.0 atm). | |
Return message:
None.
Example:
PPAC 1000
0.00001 101.325;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PTAC,
RICHARD, TPAC, V_MAXWELL,
V_RESCALE, VERLET.
PTPAC (UINT)Nstep
(FLOAT)Dtime (UFLOAT)Temp
(UFLOAT)Press
Temperature and pressure constrained molecular dynamics. The volumes are not
fully calibrated in this command. It is also necessary to slowly approach the
desired conditions because this uses Andersen's demon for volume constraints.
Andersen's demon is not fully stable and the system can explode.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration).The default value is 0.00001. | |
| Temp | Temperature in Kelvin. | |
| Press | Pressure in kilopascal (101.325 kPa = 1.0 atm). | |
Return message:
None.
Example:
PTPAC 1000
0.00001 310 101.325;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
RICHARD, TPAC, V_MAXWELL,
V_RESCALE, VERLET.
RESTORE
(UINT)CloneID
Copy a coordinate set and the active atom flag from the memory.
| Parameters: | ||
| CloneID | Identification number of the cloned coordinate set. It must be a positive number. | |
Return message:
If the clone ID is not available, an error message is shown.
Example:
RESTORE 1;
See also:
CLONE.
RICHARD
(CHAR)Who (UINT)Nstep
(FLOAT)MDparam1 (FLOAT)MDparam2 (FLOAT)MDparam3
Thermodynamic path integrals using the Feynmann Weiner Kac approach (Wiener version).
| Parameters: | ||
| Who | Clculation type. It could be: PAC, PACPAC, TPAC, HPAC, PTPAC, VERLET. | |
| Nstep | Number of steps (default 1). | |
| MDparam1 | Optional parameters required by the specified calculation type. For more information, see the appropriate command section. | |
| MDparam2 | ||
| MDparam3 | ||
Return message:
None.
Example:
RICHARD PAC 1000
0.00001;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
PTPAC, TPAC, V_MAXWELL,
V_RESCALE, VERLET.
RIGID (UINT)FirstAtom
(UINT)LastAtom (UINT)Niter
(UFLOAT)Vstart (UFLOAT)Vfinal
Polytope rigid-body optimization.
| Parameters: | ||
| FirstAtom | First atom serial for selection. | |
| LastAtom | Last atom serial for selection. If it's set to 0, LastAtom is the last atom in the molecule. | |
| Niter | Number of iterations. | |
| Vstart | Starting variance. It's the scale factor used to move the atom coordinates. | |
| Vfinal | Target (final) variance. | |
Return message:
Optimization steps.
Example:
RIGID 1 0 100 0.5
0.01;
See also:
BFGS, CNGDEL, GENETIC,
POLYTOPE, STEEP,
TRUST.
STEEP (UINT)Niter
(UFLOAT)Toler
Steepest descent minimizer. If it's unable to satisfy the Toler value,
the minimization is automatically stopped.
| Parameters: | ||
| Niter | Number of iterations. | |
| Toler | It's the desired value of the l_inifinity norm for the force. | |
Return message:
During the iterations, AMMP prints the current potential, the l_inifinity norm
on the force. The
value for l_infinity will hop around as it is the magnitude of the maximum force
on any atom which can both increase and decrease.
Example:
STEEP 100 1;
See also:
BFGS, CNGDEL, GENETIC,
POLYTOPE, RIGID, TRUST.
TGROUP (UINT)Id
(UINT)Atom1 (UINT)Atom2
(UINT)Atom3 (UINT)Atom4
(UFLOAT)Base (UINT)Steps
(UFLOAT)TorWin
Define a torsion for the conformational search.
| Parameters: | ||
| Id | Torsion identification number. It must be greater then 0. | |
| Atom1 | Atom serials defining the torsion. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Base | Base torsion value in degree (default 0°). It must be in the 0 - 360° range. | |
| Steps | Number of search steps (default 6) used in the systematic conformational search (TSEARCH). | |
| TorWin | Torsion window value in degree (default 360°) used in the random search. It must be in the 0 - 360° range. It causes a random rotation on the torsion in the range from 0 to its value during the Boltzmann jump and random conformational search (TJUMP, TRANDOM). When you perform a systematic conformational search (TSEARCH), this is the ending value assumed during the scan. | |
Return message:
Error message if an illegal parameter is present.
Example:
TGROUP 1
7 12 13 14 0.0 6
30.0;
See also:
TJUMP, TRANDOM, TSEARCH.
TJUMP (UINT)Niter
(UINT)MinIter
(UFLOAT)MinToler (UFLOAT)Temp (UFLOAT)Rmsd
Perform the Boltzmann jump conformational search rotating randomly
the active torsions. The amplitude of the torsion changes is defined by the torsion window
values (see TGROUP command). Base value defined
by TGROUP is ignored and so the random perturbation is done starting from the
original conformation. The number of the
torsions that can be used to generate the conformations is unlimited. At
the end of the conformational search, the memory contains the best conformation
found.
The Boltzmann jump method allows upward energy jumps: if the potential of the
new random generated conformer is lower than the previous one, it will be
selected as reference conformation, but if the potential is higher than the
previous one, a stochastic decision is requested. The probability of selecting
the new conformation is equal to the Boltzmann factor:
F = e-ΔE/RT
where ΔE is the potential difference between the two
conformers, R is the gas constant (1.987 cal · K-1 · mol
-1) and T is the temperature in Kelvin. A random number N
is generated in the range from 0 to 1 and if N > F, the conformation is
selected, otherwise (N < F) the conformation is rejected. The chances of
making an upward jump in energy are greater at a higher temperature (T)
or at a smaller energy difference (E).
The starting conformation undergoes a thermal perturbation in which the selected
torsion are randomly rotated and if the resulting conformation is of lower
energy, that's selected. If the perturbed conformation is of higher energy, the
stochastic decision is requested, as explained above, to select or reject the
new conformation. The random perturbation is carried out until the root mean
square deviation (RMSD) between the reference and the new conformation exceeds
the specified maximum RMSD value. When this condition is reached, the conjugate
gradients minimization is performed and the resulting conformation is selected
as new reference.
If the Boltzmann jump parameters are wrong, it's possible that the condition to
exit from the perturbation phase is never reached. To avoid this problem, the
MxPerIter variable sets the maximum number
of perturbation iteration over which the procedure is stopped and the generated
conformation is minimized.
| Parameters: | ||
| Niter | Number of random conformation that will be generated. | |
| MinIter | Number of conjugate gradients minimization steps. | |
| MinToler | It's the desired value of the l_inifinity norm for the force. | |
| Temp | Temperature in Kelvin (default 300 K). | |
| Rmsd | Root mean square difference (RMSD) value between the reference and the perturbed conformation over them the energy minimization is performed (default 60.0 degrees). | |
Return message:
AMMP shows the random search steps:
Starting Boltzmann jump search (100 steps, 2000.0 K, 60.00 perturbation RMSD)
Tjump 1: ps 1, vb 111.135, v 174.606, vmin 117.072 Tjump 2: ps 5, vb 111.135, v 64992120832.000, vmin 115.894 Tjump 3: ps 1, vb 111.135, v 4584.223, vmin 114.690 Tjump 4: ps 1, vb 111.135, v 688399360.000, vmin 113.482 Tjump 5: ps 8, vb 111.135, v 275.485, vmin 119.162 Tjump 6: ps 1, vb 111.135, v 1170.165, vmin 126.796 Tjump 7: ps 1, vb 111.135, v 1498841.500, vmin 122.223 Tjump 8: ps 1, vb 111.135, v 34582256.000, vmin 121.838 Tjump 9: ps 3, vb 111.135, v 161768.172, vmin 117.854 Tjump 10: ps 1, vb 111.135, v 8072.150, vmin 116.928 Tjump 11: ps 1, vb 111.135, v 573.954, vmin 125.318 ...
Best conformation selected (v 93.904305)
In each line is shown: the conformational search step, the
number of conformations generated during the thermal perturbation phase (ps),
the lowest potential found (vb), the
potential (v), and the
potential of the minimized conformer (vmin). This last value is not shown
if the conformer minimization is not performed or disabled (see the MinIter parameter).
The last line informs that the best conformer found is selected (its coordinates
are available in memory) and it shows its potential (v).
Example:
TJUMP 3000
20 0.0 500;
See also:
TGROUP, TMIN,
TRANDOM,
TSEARCH.
TMAP
(UINT)I1
(UINT)I2 (UINT)I3
(UINT)I4
(UINT)J1
(UINT)J2 (UINT)J3
(UINT)J4
(UINT)Isteps (UINT)Jsteps
Map two torsions rotating them systematically. It requires at least five atoms.
| Parameters: | ||
| I1 | Atom serials defining the first torsion. | |
| I2 | ||
| I3 | ||
| I4 | ||
| J1 | Atom serials defining the second torsion. | |
| J2 | ||
| J3 | ||
| J4 | ||
| Isteps | Number of search steps for the first torsion (default 12). | |
| Jsteps | Number of search steps for the second torsion (default 12). | |
Return message:
None.
Example:
TMAP 7
12 13 14 12 13 14
15 20 20;
See also:
TJUMP,
TMIN, TRANDOM,
TSEARCH, TSET.
TMIN
(UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (UINT)Steps
Minimize a torsion systematically rotating it.
| Parameters: | ||
| Atom1 | Atom serials defining the torsion. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Steps | Number of search steps (default 12). | |
Return message:
Show the torsion search steps and the final torsion value:
Starting the torsion minimizer (angle 91.845, steps 24) Tmin 1: angle 15.000, v 41.004, vb 41.004 Tmin 11: angle 165.000, v 28.959, vb 22.675 Tmin 21: angle 315.000, v 24.826, vb 22.675 Tmin 24: angle 360.000, v 34.080, vb 22.675 Best conformation selected (angle 105.000, v 22.674868)
Example:
TMIN 7
12 13 14 24;
See also:
TGROUP, TJUMP, TMAP,
TRANDOM,
TSEARCH, TSET.
TPAC (UINT)Nstep
(FLOAT)Dtime (UFLOAT)Temp
Temperature constrained molecular dynamics.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration).The default value is 0.00001. | |
| Temp | Temperature in Kelvin. | |
Return message:
None.
Example:
TPAC 1000
0.00001 300;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
PTPAC, RICHARD, V_MAXWELL,
V_RESCALE, VERLET.
TSET
(UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (FLOAT)TorVal
Set the torsion angle.
| Parameters: | ||
| Atom1 | Atom serials defining the torsion. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| TorVal | New torsion value in degree. | |
Return message:
The new torsion value:
Tset : Original 91.845497, delta 88.154503, final -180.000000
Example:
TSET 7
12 13 14 180.0;
See also:
TGROUP, TJUMP, TMAP, TMIN,
TRANDOM, TSEARCH.
TRUNC (UINT)Niter
(UFLOAT)Dtoler (UFLOAT)Toler
Truncated Newton method minimizer. It's based on the idea that an exact solution of the Newton equation at every step is unnecessary and can be computationally wasteful in the framework of a basic descent method. Any descent direction will suffice when the objective function is not well approximated by a convex quadratic and, as a solution to the minimization problem is approached, more effort in solution of the Newton equation may be warranted. Their appeal to scientific applications is their ability to exploit function structure to accelerate convergence.
| Parameters: | ||
| Niter | Number of iterations. | |
| Dtoler | Approximation to truncate the Newton equation. The default value is 0.001 and values less then 0.001 aren't allowed, resetting automatically to the default. | |
| Toler | It's the desired value of the l_inifinity norm for the force. | |
Return message:
During the iterations, AMMP prints the current potential, the l_inifinity norm
on the force, and the value of b which is the conjugate dot product. The
value for l_infinity will hop around as it is the magnitude of the maximum force
on any atom which can both increase and decrease.
The RMS force can be found by examining the value of the variable l2f (nop l2f;
or dump variable) which is the sum of the squares of the forces.
Example:
TRUST 3000 0.001 0.01;
See also:
BFGS, CNGDEL, GENETIC,
POLYTOPE, RIGID, STEEP,
TRUST.
TRUST (UINT)Niter
(UFLOAT)Dtoler (UFLOAT)Toler
Trust-region based minimizer. If it's unable to satisfy the Toler value, the minimization is automatically stopped. The theory is to move in a steepest descent direction until the disagreement between observed and calculated energies is too high.
| Parameters: | ||
| Niter | Number of iterations. | |
| Dtoler | Disagreement value between observed and calculated energies. The default value is 0.1 and values less then 0.001 aren't allowed, resetting automatically to the default. | |
| Toler | It's the desired value of the l_inifinity norm for the force. | |
Return message:
During the iterations, AMMP prints the current potential, the l_inifinity norm
on the force. The
value for l_infinity will hop around as it is the magnitude of the maximum force
on any atom which can both increase and decrease.
Example:
TRUST 1000 0.1 1.0;
See also:
BFGS, CNGDEL, GENETIC,
POLYTOPE, RIGID, STEEP.
TRANDOM (UINT)Niter
(UINT)MinIter
(UFLOAT)MinToler (BOOL)KeepPrev (BOOL)KeepMin
Perform the random conformational search rotating randomly the active torsions. The torsion starting value and the torsion windows are set by the TGROUP command. The torsion window is The number of the torsions that can be used to generate the conformations is unlimited. At the end of the conformational search, the memory contains the best conformation found.
| Parameters: | ||
| Niter | Number of random conformation that will be generated. | |
| MinIter | Number of conjugate gradients minimization steps performed for each conformation rotating systematically the active torsions defined by the TGROUP command. If it's zero, the minimization is not performed and the single-point energy is evaluated to choose the best rough conformation. | |
| MinToler | It's the desired value of the l_inifinity norm for the force. | |
| KeepPrev | If it's true (1), the random modifications are applied to the previous non-minimized conformation (default false, 0). | |
| KeepMin | If it's true (1) and MinIter is greater than zero, the random modifications are applied to the previous minimized conformation (default false, 0). | |
Return message:
AMMP shows the random search steps:
Starting random conformational search (100 steps)
Trandom 1: v 14123088896.000, vb 14123088896.000, vmin 113.733 Trandom 2: v 18819.949, vb 113.733, vmin 107.588 Trandom 3: v 307.890, vb 107.588, vmin 114.008 Trandom 4: v 136.162, vb 107.588, vmin 112.244 Trandom 5: v 17879676928.000, vb 107.588, vmin 118.615 Trandom 6: v 18261741568.000, vb 107.588, vmin 127.483 Trandom 7: v 161.983, vb 107.588, vmin 113.163 Trandom 8: v 685030.000, vb 107.588, vmin 109.987 Trandom 9: v 30623124.000, vb 107.588, vmin 1561.937 Trandom 10: v 159.711, vb 107.588, vmin 108.041 ... Best conformation selected (v 101.695412)
In each line is reported: the conformational search step, the
potential (v), the best potential found at that step (vb) and the
potential of the minimized conformer (vmin). This last value is not shown
if the conformer minimization is disabled (see the MinIter parameter).
The last line informs that the best conformer found is selected (its coordinates
are available in memory) and it shows its potential (v).
Example:
TRANDOM 1000
20 0.0 0 0;
See also:
TGROUP, TMIN,
TSEARCH.
TSEARCH (UINT)MinIter
(UFLOAT)MinToler
Perform the systematic conformational search (grid scan) rotating systematically the active torsions. The torsion starting value and the number of rotation steps are set by the TGROUP command. The number of the torsions that can be used to generate the conformations is unlimited. At the end of the conformational search, the memory contains the best conformation found.
| Parameters: | ||
| MinIter | Number of conjugate gradients minimization steps performed for each conformation rotating systematically the active torsions defined by the TGROUP command. If it's zero, the minimization is not performed and the single-point energy is evaluated to choose the best rough conformation. | |
| MinToler | It's the desired value of the l_inifinity norm for the force. | |
Return message:
AMMP shows the torsion search steps:
Starting systematic conformational search (6 steps)
Tsearch 1: v 142.206, vb 142.206, vmin 107.684 Tsearch 2: v 134.114, vb 107.684, vmin 108.797 Tsearch 3: v 138.397, vb 107.684, vmin 107.635 Tsearch 4: v 135.108, vb 107.635, vmin 111.325 Tsearch 5: v 141.933, vb 107.635, vmin 110.274 Tsearch 6: v 136.650, vb 107.635, vmin 106.573
Best conformation selected (v 106.573456)
In each line is reported: the conformational search step, the
potential (v), the best potential found at that step (vb) and the
potential of the minimized conformer (vmin). This last value is not shown
if the conformer minimization is disabled (see the MinIter parameter).
The last line informs that the best conformer found is selected (its coordinates
are available in memory) and it shows its potential (v).
Example:
TSEARCH 20
0.0;
See also:
TGROUP, TMIN,
TRANDOM.
USE
(CHAR)FFTerm
...
Select the force field terms for energy calculation. By the same command, you can select more then one term.
| Parameters: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| FFTerm |
Force field term. It could be:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Return message:
None.
Example:
USE none
bond angle torsion;
See also:
BFGS, CNGDEL, GENETIC,
POLYTOPE, RIGID, STEEP,
TRUST.
V_MAXWELL
(UFLOAT)Temp
(FLOAT)Dx (FLOAT)Dy
(FLOAT)Dz
Set the velocity distribution with a random Maxwell - Boltzmann distribution.
| Parameters: | ||
| Temp | Temperature in Kelvin. | |
| Dx | Starting velocity along the X axis (optional value, default 0). | |
| Dy | Starting velocity along the Y axis (optional value, default 0). | |
| Dz | Starting velocity along the Z axis (optional value, default 0). | |
Return message:
None.
Example:
V_MAXWELL
300.0;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
PTPAC, RICHARD, TPAC, V_RESCALE,
VERLET.
V_RESCALE
(UFLOAT)Temp
Rescale the velocities to a new temperature.
| Parameters: | ||
| Temp | Temperature in Kelvin. | |
Return message:
None.
Example:
V_RESCALE
300;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
PTPAC, RICHARD, TPAC, V_MAXWELL,
VERLET.
VERLET
(UINT)Nstep
(UFLOAT)Dtime
Perform the leapfrogging molecular dynamics. This is here for historical reasons and is occasionally useful.
| Parameters: | ||
| Nstep | Number of steps (default 1). | |
| Dtime | Time step in m/s (0.00001 for 1 fs time integration).The default value is 0.00001. | |
Return message:
None.
Example:
VERLET 1000
0.00001;
See also:
DOUBLETIME, HPAC,
PACPAC, PAC, PPAC,
PTPAC, RICHARD, TPAC, V_MAXWELL,
V_RESCALE.
4.3 Input commands
There are the commands to perform the AMMP input.
ABC (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(FLOAT)Theta (FLOAT)ThetaZero
(FLOAT)Dr (FLOAT)Dk1
(FLOAT)Dk2
Define the angle - bond correlation.
| Parameters: | ||
| Atom1 | Atom serials for angle selection. | |
| Atom2 | ||
| Atom3 | ||
| Theta | Angle value in degree. | |
| ThetaZero | Angle constant. | |
| Dr | Distance. | |
| Dk1 | Distance constant 1. | |
| Dk2 | Distance constant 2. | |
Return message:
None.
Example:
None.
See also:
ANGLE,
USE.
ANGLE (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(FLOAT)Kf (FLOAT)Theta
Define an angle.
| Parameters: | ||
| Atom1 | Atom serials for angle selection. | |
| Atom2 | ||
| Atom3 | ||
| Kf | Force constant. | |
| Theta | Angle value in degree. | |
Return message:
None.
Example:
ANGLE 11 10 33 48.622711
109.470001;
See also:
ATOM, BOND, HYBRID,
MOMPAR, TORSION,
USE.
ATOM (FLOAT)X
(FLOAT)Y
(FLOAT)Z (UINT)Serial
(CHAR)Name (FLOAT)Charge
(FLOAT)A (FLOAT)B
(UFLOAT)Mass
Add a new atom.
| Parameters: | ||
| X | Atom Cartesian coordinates. | |
| Y | ||
| Z | ||
| Serial | Atom serial number. | |
| Name | Atom name in residue.atom format. It must be in lower case. | |
| Charge | Atomic charge. | |
| A | Non-bond attractive and repulsive terms. | |
| B | ||
| Mass | Atom mass. | |
Return message:
None.
Example:
ATOM -5.186443 1.313206 -0.020967
1 unk.c -0.048661 26.171595
1056.904541 12.010700;
See also:
ANGLE, ATOM, BOND,
HYBRID, MOMPAR,
TORSION,
USE.
AV5 (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (FLOAT)Kf (FLOAT)Offset
Define a tetrahedral "volume" or centroid. This term forces tetrahedral atoms to be tetrahedral and introduces some mixing between angles and bonds.
| Parameters: | ||
| Atom1 | Atom serials defining the tetrahedral volume. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Kf | Force constant. | |
| Offset | Angle offset in degree. | |
Return message:
None.
Example:
None.
See also:
USE.
BOND (UINT)Atom1
(UINT)Atom2
(FLOAT)Length (FLOAT)Kf
(FLOAT)BondOrder
Define a bond.
| Parameters: | ||
| Atom1 | Atom serials for bond selection. | |
| Atom2 | ||
| Length | Bond length in Å. | |
| Kf | Force constant. | |
| BondOrder |
This is an optional field not used in the AMMP calculations, but useful to assign the correct bond order when the AMMP file is loaded. It's a floating point number in the 0 to 3 range where 0 is undefined bond order, 1.0 single, 1.5 partial double, 2.0 double and 3.0 triple. Bond orders less than 1.5 are considered single (e.g. 1.25) and bond orders greater than 1.5 but less or equal than 2.0 are considered double. |
|
Return message:
None.
Example:
BOND 10 11 1.489000 346.172668;
See also:
ANGLE, ATOM, HYBRID,
MOMPAR, TORSION,
USE.
EXPAND (UINT)Osn
(UINT)N
(FLOAT)A (FLOAT)R
...
Expand an orbital. The A and R parameters can be repeated up to six times.
| Parameters: | ||
| Osn | Orbital serial number. | |
| N | Number of terms. | |
| A | Weight for Gaussians. | |
| R | Radius for Gaussians. | |
Return message:
None.
Example:
None.
See also:
DSCF, ORBIT.
HYBRID (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (FLOAT)Kf (FLOAT)Theta
Define a hybrid (improper) angle.
| Parameters: | ||
| Atom1 | Atom serials for hybrid angle selection. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Kf | Force constant. | |
| Theta | Angle value in degree. | |
Return message:
None.
Example:
HYBRID 7 9 10 8
150.000000 0.000000;
See also:
ANGLE, ATOM, BOND,
MOMPAR, TORSION,
USE.
INIT4D (FLOAT)HowMuch
Initialize the 4D non-bonded energy for embedding as implemented in CHARMM, generating pseudo-random w coordinates.
| Parameters: | ||
| HowMuch | It's the scale value to generate the pseudo-random w coordinates (default 1.0). | |
Return message:
None.
Example:
INIT4D 1.0;
See also:
USE.
MOMPAR (UINT)Atom
(FLOAT)Chi (FLOAT)Jaa
Define the electronegativity and the self coulomb terms. It's useful to place this command after the corresponding atom record allowing the AMMP burst mode in the atom serial search.
| Parameters: | ||
| Atom | Atom serial. | |
| Chi | Elecronegativity. | |
| Jaa | Self coulomb term. | |
Return message:
None.
Example:
MOMPAR 9 8.241000 13.364000;
See also:
ANGLE, ATOM, BOND,
MOM, MOMADD,
HYBRID, TORSION,
USE.
MORSE (UINT)Atom1
(UINT)Atom2
(FLOAT)Kf (FLOAT)Order
Define a Morse bond. The Morse potential can be computed by the following equation:
V = Kf *(1 - exp ( - Order * (RAtom1, Atom2 - REAtom1, Atom2))2
where V is the potential, Kf is the bond force constant, RAtom1, Atom2 is the bond length, REAtom1, Atom2 is the bond length at equilibrium, Order control the width of the potential.
| Parameters: | ||
| Atom1 | Atom serials for bond selection. | |
| Atom2 | ||
| Kf | Force constant. | |
| Order | Control the width of the potential. | |
Return message:
None.
Example:
None.
See also:
BOND, USE.
NOEGEN (FLOAT)Di
(FLOAT)Dh
Set the noels to the current geometry.
| Parameters: | ||
| Dl | Low distance threshold in Å. | |
| Dh | High distance threshold in Å. | |
Return message:
None.
Example:
None.
See also:
NOEL,
USE.
NOEL (UINT)Atom1
(UINT)Atom2
(FLOAT)D (FLOAT)Dl
(FLOAT)Dh (FLOAT)Kl
(FLOAT)Kh
Noe distance restraint.
| Parameters: | ||
| Atom1 | Atom serials. | |
| Atom2 | ||
| D | Base distance in Å. | |
| Dl | Low distance threshold in Å. | |
| Dh | High distance threshold in Å. | |
| Kl | Force constant for low distance threshold. | |
| Kh | Force constant for high distance threshold. | |
When the noel is switched on (see USE), the potential (V) is calculated starting from the distance (R) between Atom1 and Atom2:
if R < Dl V = (R - (D - Dl))^2 * Kl
if R > Dh V = (R - (D + Dh))^2 * Kh
Return message:
None.
Example:
None.
See also:
NOEGEN,
STEP, SWARM,
USE.
ORBIT (CHAR)Type
(UINT)Atom1
[(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (UINT)Atom5] (UINT)Osn
[(FLOAT)Along
(FLOAT)X (FLOAT)Y
(FLOAT)Z] (INT)Spin
(INT)Pair
Define an orbital for SCF calculation.
| Parameters: | ||||||||||||||||||
| Type | Orbital type. It could be: 1, 1o,
2, 3, 4s, 4p, m.
The command can assume different arguments on the basis of the orbital type:
ORBIT 1 (UINT)Atom1 (UINT)Osn (INT)Spin (INT)Pair ORBIT 1o (UINT)Atom1 (UINT)Osn (FLOAT)Along (FLOAT)X (FLOAT)Y (FLOAT)Z (INT)Spin (INT)Pair ORBIT 2 (UINT)Atom1
(UINT)Atom2 (UINT)Osn (FLOAT)Along
(INT)Spin (INT)Pair ORBIT 4s (UINT)Atom1 (UINT)Atom2 (UINT)Atom3 (UINT)Atom4 (UINT)Osn (FLOAT)Along (INT)Spin (INT)Pair ORBIT 4p (UINT)Atom1 (UINT)Atom2 (UINT)Atom3 (UINT)Atom4 (UINT)Osn (FLOAT)Along (INT)Spin (INT)Pair ORBIT m (UINT)Atom1 (UINT)Atom2 (UINT)Atom3 (UINT)Atom4 (UINT)Atom5 (UINT)Atom6 (UINT)Osn (INT)Spin (INT)Pair |
|||||||||||||||||
| Atom1 | Atom serial numbers. | |||||||||||||||||
| Atom2 | ||||||||||||||||||
| Atom3 | ||||||||||||||||||
| Atom4 | ||||||||||||||||||
| Atom5 | ||||||||||||||||||
| Atom6 | ||||||||||||||||||
| Osn | Orbital serial number. | |||||||||||||||||
| Along | Direction. | |||||||||||||||||
| X | Origin Cartesian coordinates or X only (along2) for 3 orbital type. | |||||||||||||||||
| Y | ||||||||||||||||||
| Z | ||||||||||||||||||
| Spin | Spin. | |||||||||||||||||
| Pair | It can be 1 (singlet) or 2 (doublet, default). | |||||||||||||||||
Return message:
None.
Example:
None.
See also:
DSCF, EXPAND.
READ (CHAR)FileName
Read an AMMP command file.
| Parameters: | ||
| FileName | File name to load. | |
Return message:
None.
Example:
READ "MyFile.amp";
See also:
None.
RESET
Reset all clearing all variables and the atoms. The AMMP environment is reverted
to the empty status.
Parameters:
None.
Return message:
None.
Example:
RESET;
See also:
None.
RESTRAIN
(UNIT)Atom1 (UINT)Atom2
(UFLOAT)Length (UFLOAT)Kf
Define a restraint between two atoms.
| Parameters: | ||
| Atom1 | Atom serial numbers. | |
| Atom2 | ||
| Length | Distance length in Å | |
| Kf | Force constant. | |
Return message:
None.
Example:
RESTRAIN 12 15 3.0 280.0;
See also:
NOEL, TETHER.
STEP
(UNIT)Atom1 (UINT)Atom2
(UFLOAT)D1 (UFLOAT)D2 (UFLOAT)D3
(UFLOAT)Kf1 (UFLOAT)Kf2 (UFLOAT)Kf3
Define a step distance (3 point noel).
| Parameters: | ||
| Atom1 | Atom serial numbers. | |
| Atom2 | ||
| D1 | Distances in Å. | |
| D2 | ||
| D3 | ||
| Kf1 | Force constants. | |
| Kf2 | ||
| Kf3 | ||
Return message:
None.
Example:
None.
See also:
NOEL, SWARM,
USE.
SWARM
(UFLOAT)Kf
(UNIT)Atom1 [... (UINT)Atom8]
Add a distance restrain to the mean distance.
| Parameters: | ||
| Kf1 | Force constant. | |
| Atom1 | Atom serial numbers. | |
| ... | ||
| Atom8 | ||
Return message:
None.
Example:
None.
See also:
NOEL, STEP,
USE.
TABLE
(UINT)TableID
(UINT)N
Create an empty sorted table for the table driven bond potential. It's an alternative to the use of the standard bond potential. The table contains N sorted bond lengths (R, from the lowest to the highest value) and the correspondent N potential values (V, see TABLEENT to add them). To evaluate the Vb bond potential between the i, j atoms, the Rij bond length is calculated and it's compared with the bond lengths stored in the table:Each bond must be defined by the TBOND command that allow to specify the TableID to get the potential values
| Parameters: | ||
| TableID | Table identification number. | |
| N | Number of table bond lengths (max. 200). | |
Return message:
None.
Example:
TABLE 1 12;
See also:
TABLEENT, TBOND.
TABLENT
(UINT)TableID
(UINT)ElemNum (FLOAT)R
(FLOAT)V
Add a new element to the table.
| Parameters: | ||
| TableID | Table identification number. | |
| ElemNum | Element table number. | |
| R | Distance bond length in Å. | |
| V | Potential value. | |
Return message:
None.
Example:
None.
See also:
TABLE, TBOND.
TAILOR
(CHAR)KeyWord (UINT)Atom1
[(FLOAT)Q FLOAT)A
(FLOAT)B] or [(UINT)Atom2]
Set, exclude, include the atoms from the non-bonded list.
| Parameters: | ||
| KeyWord | It could be: qab to set the non-bond parameter, exclude to exclude an atom range in the non-bond calculation and include to include an atom range in the non-bond calculation. | |
| Atom1 | Atom serial number. Using the exclude and include keywords, it's the first atom in the selection. | |
| Atom2 | Atom serial number of the last atom in selection. Available with exclude and include keywords only. | |
| Q | Atomic charge (qab only). | |
| A | Attractive and repulsive non-bond terms (qab only). | |
| B | ||
Return message:
None.
Example:
TAILOR exclude 1 48;
TAILOR qab -0.244565 18.213057 631.409485;
See also:
ATOM.
TBOND (UINT)Atom1
(UINT)Atom2
(UINT)TableID (FLOAT)Scale
Define a bond which potential will be evaluated using the table method.
| Parameters: | ||
| Atom1 | Atom serials for bond selection. | |
| Atom2 | ||
| TableID | Table identification number. | |
| Scale | Potential scale factor. | |
Return message:
None.
Example:
TBOND 10 12 1 1.0;
See also:
TABLE, TABLEENT,
USE.
TETHER
(UINT)Serial (FLOAT)Kf FLOAT)X
(FLOAT)Y
(FLOAT)Z
Tether an atom to a position.
| Parameters: | ||
| Serial | Atom serial number. It could be All, tethering all atoms. | |
| Kf | Force constant. | |
| X | Reference position. These arguments are valid only if the serial number is specified. | |
| Y | ||
| Z | ||
Return message:
None.
Example:
TETHER 10 5.0 1.0 -2.0
1.0;
TETHER all 5.0;
See also:
ATOM, USE.
TORSION (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (FLOAT)Kf
(UINT)Mult (FLOAT)Offset
Define a torsion angle.
| Parameters: | ||
| Atom1 | Atom serials for torsion angle selection. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Kf | Force constant. | |
| Mult | Multiplicity. | |
| Offset | Angle value in degree. | |
Return message:
None.
Example:
TORSION 4 5 19 17
1.317616 3 180.000000;
See also:
ANGLE, ATOM, BOND,
HYBRID, MOMPAR,
USE.
TTARGET (UINT)Atom1
(UINT)Atom2 (UINT)Atom3
(UINT)Atom4 (FLOAT)Angle
(FLOAT)Kf
Define a torsion angle restrain.
| Parameters: | ||
| Atom1 | Atom serials for torsion angle selection. | |
| Atom2 | ||
| Atom3 | ||
| Atom4 | ||
| Angle | Angle value in degree. | |
| Kf | Force constant. | |
Return message:
None.
Example:
None.
See also:
TORSION.
VELOCITY
(UINT)Serial (FLOAT)Vx
(FLOAT)Vy
(FLOAT)Vz
Set the velocity to the specified atom.
| Parameters: | ||
| Serial | Atom serial number. | |
| Vx | X, Y, Z velocity components. | |
| Vy | ||
| Vz | ||
Return message:
None.
Example:
VELOCITY 12 0.0 0.0 0.0;
See also:
DOUBLETIME,
HPAC, PACPAC,
PAC, PPAC,
PTPAC, RICHARD,
TPAC, V_MAXWELL,
V_RESCALE,
VERLET.
4.4 Output commands
There are the commands to perform the AMMP output.
BINDUMP (CHAR)What
Dump the specified term in binary or in base64 mode. The default mode is binary with the endian of the system running AMMP. To know and / or set the endian, look dend system variable. To change the dump mode, see b64enc system variable. This command is used by host applications (e.g. VEGA ZZ) for fast data transfers from AMMP. Calling OUTPUT before BINDUMP, the data is written to the file.
| Parameters: | ||
| What | It can be: CHARGE (dump the atom charges), COORD (dump the atom coordinates). | |
Return message:
Dump the specified data.
Example:
BINDUMP COORD;
See also:
CLOSE, DUMP, OUTPUT.
CLOSE
Close the file opened by OUTPUT.
Parameters:
None.
Return message:
None.
Example:
CLOSE;
See also:
BINDUMP, DUMP,
OUTPUT.
CONFIRMEND
Confirm the end of the command execution.
Parameters:
None.
Return message:
When the next command execution is finished, #DONE message is shown.
Example:
CONFIRMEND;
See also:
None.
DUMP (CHAR)What1
(CHAR)What2 ...
(CHAR)WhatN
Dump the specified terms to the current file. Multiple dumps are allowed specifying more then one keyword.
| Parameters: | ||
| What1 | They could be: av5, abc, angle, atom, bond, force, hybrid, morse, noel, orbit, pdb, restrain, step, swarm, table, tbond, tether, tgroup, ttarget, torsion, variable, velocity. | |
| What2 | ||
| ... | ||
| WhatN | ||
Return message:
Dump the specified data.
Example:
DUMP Atom;
See also:
BINDUMP, CLOSE,
OUTPUT.
ECHO (CHAR)Switch
Turn on/off the message/command echo.
| Parameters: | ||
| Switch | It could be on or off. | |
Return message:
None.
Example:
ECHO off;
See also:
None.
FLUSH
Flush the output empting the buffers. This function is useful to synchronize the AMMP output with the host application. It doesn't have any effect is AMMP is running in stand alone mode.
Parameters:
None.
Return message:
None.
Example:
FLUSH;
See also:
None.
OUTPUT (CHAR)FileName
(UINT)Version
Open a file for writing redirecting the output to it.
| Parameters: | ||
| FileName | Full path file name. | |
| Version | File version number (optional). If it's specified, the file is created with the FileName.Version name. | |
Return message:
None.
Example:
OUTPUT "MyFile.txt";
See also:
BINDUMP, CLOSE, DUMP.
PRINT (CHAR
/ VAR)Arg
(INT)Flag
Print a message/variable to the current output stream set by OUTPUT or to the console.
| Parameters: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Arg | Argument to print. It could be: variable name, numeric
constant, string. The string can contain control characters as the standard
C string if they are proceeded by the backslash character (\).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Flag | If it's TRUE (1), the automatic line feed is omitted, if it's FALSE (0, default), a line feed is automatically printed out at and of string. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Return message:
The printed message.
Example:
PRINT "Result: \t" 1;
PRINT a;
See also:
BINDUMP, CLOSE, DUMP,
OUTPUT.
4.5 Math commands
There are the commands to use the AMMP math routines. The commands support the VAR type that combines the possibility to use variable names and float/integer constant. You must remember that 1 and 1.0 constants don't have the same meaning: the first one is an integer constant and the second one is a floating point constant.
ADD (VAR)Var1
(VAR)Var2
Arithmetic sum between two terms.
| Parameters: | ||
| Var1 | First addendum. If it's a variable name, the result is stored in it. | |
| Var2 | Second addendum. | |
Return message:
Result of the arithmetic operation.
Example:
ADD a 1;
See also:
DIV, MUL, SUB.
COS (VAR)Var
Cosine trigonometric function.
| Parameters: | ||
| Var | Angle in radians. | |
Return message:
Result of the trigonometric function.
Example:
COS 0.5;
See also:
SIN, TAN.
DIV (VAR)Var1
(VAR)Var2
Arithmetic division between two terms.
| Parameters: | ||
| Var1 | Dividend. If it's a variable name, the result (quotient) is stored in it. | |
| Var2 | Divisor. | |
Return message:
Result of the arithmetic operation.
Example:
DIV 1.0 3.0;
See also:
ADD, MUL, SUB.
FIX (VAR)Var
Round down to an integer.
| Parameters: | ||
| Var | Dividend. If it's a variable name, the result is stored in it. | |
Return message:
Result of the arithmetic operation.
Example:
FIX 1.5;
See also:
None.
INDEX (VAR)Var (UINT)AtmNum
Get the serial number of the specified atom number.
| Parameters: | ||
| Var | Variable name in which the serial number is stored. | |
| AtmNum | Atom number. | |
Return message:
Serial number.
Example:
INDEX n 10;
See also:
SERIAL.
LINMIN (VAR)Var
Search the atom direction for a minimum.
| Parameters: | ||
| Var | The variable name in which the result is stored.. | |
Return message:
The number of steps to reach the minimum.
Example:
LINMIN a;
See also:
None.
MAX (VAR)Var1
(VAR)Var2
Find the maximum of two values.
| Parameters: | ||
| Var1 | First term. If it's a variable name, the result is stored in it. | |
| Var2 | Second term. | |
Return message:
The maximum value.
Example:
MAX a 11.3;
See also:
MIN.
MIN (VAR)Var1
(VAR)Var2
Find the minimum of two values.
| Parameters: | ||
| Var1 | First term. If it's a variable name, the result is stored in it. | |
| Var2 | Second term. | |
Return message:
The minimum value.
Example:
MIN 2.0 11.3;
See also:
MAX.
MOV (VAR)Var1
(VAR)Var2
Set a variable to another one.
| Parameters: | ||
| Var1 | Destination variable. | |
| Var2 | Source variable. | |
Return message:
Result of the operation.
Example:
MOV a b;
See also:
NOP,
SETF, SETI.
MUL (VAR)Var1
(VAR)Var2
Arithmetic multiplication between two terms.
| Parameters: | ||
| Var1 | Multiplicand. If it's a variable name, the result is stored in it. | |
| Var2 | Multiplier. | |
Return message:
Result of the arithmetic operation.
Example:
MUL a 3.0;
See also:
ADD, DIV, SUB.
NOP (VAR)Var
Dump the value of a variable. To know the names of the system variables, click here.
| Parameters: | ||
| Var | Variable name. If it's undefined, the null value is returned. | |
Return message:
The variable value.
Example:
NOP a;
See also:
MOV,
SETF, SETI.
RANDF (VAR)Var
Generate a pseudo-random floating point number in the 0...1 range.
| Parameters: | ||
| Var | Variable in which the result is stored. | |
Return message:
Floating point random number.
Example:
RANDF a;
See also:
None.
SERIAL
(VAR)Var (CHAR)Res
(CHAR)Atom
Set a variable equal to the serial atom number given by the atom name.
| Parameters: | ||
| Var | Variable name in which the serial number is stored. | |
| Res | Residue number. | |
| Atom | Atom name. | |
Return message:
Serial number.
Example:
SERIAL n 100 ca;
See also:
INDEX.
SETF (VAR)Var
(FLOAT)Val
Define a floating point number variable. All variables are cleared calling the RESET command.
| Parameters: | ||
| Var | Variable name. | |
| Val | Floating point value. | |
Return message:
None.
Example:
SETF x 4.25;
See also:
NOP, MOV, SETI.
SETI (VAR)Var
(INT)Val
Define an integer number variable. All variables are cleared calling the RESET command.
| Parameters: | ||
| Var | Variable name. | |
| Val | Integer value. | |
Return message:
None.
Example:
SETI k 1;
See also:
NOP, MOV, SETF.
SIN (VAR)Var
Sine trigonometric function.
| Parameters: | ||
| Var | Angle in radians. | |
Return message:
Result of the trigonometric function.
Example:
SIN pi;
See also:
COS, TAN.
SQRT (VAR)Var
Perform the square root.
| Parameters: | ||
| Var | Square root argument. If it's a variable name, the result is stored in it. | |
Return message:
Result of the arithmetic operation.
Example:
SQRT 2.0;
See also:
None.
SUB (VAR)Var1
(VAR)Var2
Arithmetic subtraction between two terms.
| Parameters: | ||
| Var1 | Minuend. If it's a variable name, the result is stored in it. | |
| Var2 | Subtrahend. | |
Return message:
Result of the arithmetic operation.
Example:
SUB a 2.42;
See also:
ADD,
DIV, MUL.
TAN (VAR)Var
Tangent trigonometric function.
| Parameters: | ||
| Var | Angle in radians. | |
Return message:
Result of the trigonometric function.
Example:
TAN 2.23;
See also:
COS, SIN.
TIME (VAR)Var
Time for calculation speed measurement. In the Unix systems, it gives the number of seconds since the 00:00:00 UTC, January 1, 1970. In the Windows systems, it gives the number of seconds since the power on.
| Parameters: | ||
| Var | It's the floating point variable name in which the time is stored. | |
Return message:
The current time in floating point format.
Example:
TIME tm;
See also:
None.
4.5 Flow control
There are the commands to control the AMMP program flow.
EXIT
Quit AMMP, releasing all resources.
Parameters:
None.
Return message:
None.
Example:
EXIT;
See also:
None.
JE (VAR)Var1
(VAR)Var2 (LABEL)Label
Jump if equal.
| Parameters: | ||
| Var1 | Variables to compare. | |
| Var2 | ||
| Label | Label of a new program section. | |
Return message:
None.
Example:
JE a 1 MyLabel:;
...
MyLabel:;
...
See also:
JES, JG, JL,
JNE, JNES.
JES (UINT)Atom
(CHAR)Name (LABEL)Label
Check the atom name and if it's equal to the string, jump to the label.
| Parameters: | ||
| Atom | Atom serial number. | |
| Name | Atom name. | |
| Label | Label of a new program section. | |
Return message:
None.
Example:
JES 3 "ca" MyLabel:;
...
MyLabel:;
...
See also:
JE, JG, JL,
JNE, JNES.
JG (VAR)Var1
(VAR)Var2 (LABEL)Label
Jump if greater.
| Parameters: | ||
| Var1 | Variables to compare. | |
| Var2 | ||
| Label | Label of a new program section. | |
Return message:
None.
Example:
JG a 1 MyLabel:;
...
MyLabel:;
...
See also:
JE, JES, JL,
JNE, JNES.
JL (VAR)Var1
(VAR)Var2 (LABEL)Label
Jump if less.
| Parameters: | ||
| Var1 | Variables to compare. | |
| Var2 | ||
| Label | Label of a new program section. | |
Return message:
None.
Example:
JL a 1 MyLabel:;
...
MyLabel:;
...
See also:
JE, JES, JG,
JNE, JNES.
JNE (VAR)Var1
(VAR)Var2 (LABEL)Label
Jump if not equal.
| Parameters: | ||
| Var1 | Variables to compare. | |
| Var2 | ||
| Label | Label of a new program section. | |
Return message:
None.
Example:
JNE a 1 MyLabel:;
...
MyLabel:;
...
See also:
JE, JES, JG,
JL, JNES.
JNES (UINT)Atom
(CHAR)Name (LABEL)Label
Check the atom name and if it's not equal to the string, jump to the label.
| Parameters: | ||
| Atom | Atom serial number. | |
| Name | Atom name. | |
| Label | Label of a new program section. | |
Return message:
None.
Example:
JES 3 "ca" MyLabel:;
...
MyLabel:;
...
See also:
JE, JES, JG,
JL, JNE.
LOOPF (LABEL)Label
(FLOAT)Init (FLOAT)End
(FLOAT)Inc
Define a floating point loop.
| Parameters: | ||
| Label | Label of the loop end | |
| Init | Starting value. It could be a floating point variable. | |
| End | Ending value. | |
| Inc | Step increment (default 1.0). | |
Return message:
None.
Example:
SETF i 1.0;
LOOPF MyLabel:; i 10.0;
...
MyLabel:;
...
See also:
LOOPI.
LOOPI (LABEL)Label
(INT)Init (INT)End
(INT)Inc
Define an integer loop.
| Parameters: | ||
| Label | Label of the loop end | |
| Init | Starting value. It could be a floating point variable. | |
| End | Ending value. | |
| Inc | Step increment (default 1). | |
Return message:
None.
Example:
SETI i 0;
LOOPF MyLabel:; i 10 2;
...
MyLabel:;
...
See also:
LOOPF.
4.7 System variables
| Variable | Type | Unit | Read only | Description |
| acell | F | Å | N |
Cell parameter for non-bonded potential (USE periodic). |
| b64enc | I | N |
Use the Base64 encoding algorithm for the binary dump (see BINDUMP command). This function is useful to transfer raw data trough 7-bit terminals (e.g. by telnet protocol). |
|
| bbox | F | Å | N |
Box dimension used by box potential (USE box). |
| bcell | F | Å | N |
Cell parameter for non-bonded potential (USE periodic). |
| ccell | F | Å | N |
Cell parameter for non-bonded potential (USE periodic). |
| charge | F | Y |
Total charge. |
|
| cutoff | F | Å | N |
Cutoff radius for long-range non-bond energy calculation. AMMP is faster without cutoffs than with them. Cutoffs are also physically incorrect and should not be used except as a bad example. The typical values are 8.0 to 10.0 Å. The default value is 0.0 Å(= no cut-off). |
| dddr | F | - | N | Scale factor used in the react electrostatic potential (USE react). |
| dend | I | - | N |
Binary I/O endian (0 = little endian, 1 = big endian). See BINDUMP command. |
| dielect | F | F/m | N |
Dielectric constant. It must be equal or greater than 1.0. |
| hend | I | Y |
Hardware endian (0 = little endian, 1 = big endian). |
|
| kfourd | F | - | N |
Force constant used in 4D non-bonded energy evaluation (USE shadow). |
| l2f | F | - | Y | Return the l2 normal of the forces. |
| lamda | F | - | N |
Potential homotopy parameter (see USE command). The valid values are 0.0 ≤ lambda ≤ 1.0 (default 0). |
| lmaxf | F | - | Y | Return the maximum l2 metric of a force an a an atom. |
| mmbox | F | Å | N |
Enable the fast multipole algorithm (FMM) for long-range non-bond energy calculation setting it to a value greater than zero. 10 Å is the optimal compromise between accuracy and speed. The FMM is not worth using unless the system is larger than 1000 atoms or greater in size than 30 Å. |
| mxcut | F | - | N |
Cutoff value for short range electrostatic calculation. It must be greater then zero (default 6.0 Å). |
| mxdq | F | Å | N |
Update full non-bonded list when atomic displacement is greater than value in angstroms. Typical values are 0.5 to 0.75 Å. |
| mxperiter | I | - | N |
Maximum number of perturbation iteration performed by the Boltzmann jump conformational search. See TJUMP command. |
| nostep | I | - | N | Number of steps used in the line minimizer. |
| numatm | I | - | N | Number of atoms. |
| nupdat | I | - | N | Update frequency for the graphic interface. |
| occup | F | - | N | Occupancy value. See RICHARD command. |
| pi | F | - | Y |
Pi-greco constant. |
| rdebye | F | - | N |
Debye constant for Debye screened non-bond potentials (USE debye). It must be a positive number less then 1.0. |
| seed | I | - | N |
Seed for random number generation (default 0). |
| supdat | I | - | N |
Update frequency for energy print. |
| trace | F | - | N |
Distance potential scale factor used in the Gauss-Siedel distance geometry optimizer. See GSDG command. |
5. Examples
In this manual section are shown some examples explaining the AMMP use. You must remember that AMMP and VEGA ZZ packages include examples directory containing other examples.
5.1 Conjugate gradients minimization
5.2 Genetic algorithm minimization
5.3 Distance geometry optimizer
5.4 MoM charge calculation
5.5 Dipole moment evaluation
5.6 Genetic algorithm rigid docking
5.7 Evaluation of Interaction energy
5.8 Molecular dynamics
5.1 Conjugate gradients minimization
# Disable the command echo; echo off; # Set the atoms and the electronegativity terms; atom -0.850184 -0.005877 -0.043286 1 unk.c 0.117245 26.171595 1056.904541 12.010700; mompar 1 5.343000 10.126000; atom -1.551700 0.980789 0.182142 2 unk.o -0.301327 14.852336 450.281281 15.999400; mompar 2 8.241000 13.364000; atom 0.637317 0.007546 0.033391 3 unk.c2 -0.009123 26.171595 1056.904541 12.010700; mompar 3 5.343000 10.126000; atom 0.979426 -0.740195 0.790381 4 unk.h23 0.030297 7.130669 121.200447 1.007900; mompar 4 4.528000 13.890400; atom -1.302962 -0.984543 -0.323522 5 unk.h 0.102314 7.130669 121.200447 1.007900; mompar 5 4.528000 13.890400; atom 1.065112 -0.273145 -0.960361 6 unk.h21 0.030297 7.130669 121.200447 1.007900; mompar 6 4.528000 13.890400; atom 1.022991 1.015424 0.321254 7 unk.h22 0.030297 7.130669 121.200447 1.007900; mompar 7 4.528000 13.890400; # Bonds; bond 1 2 1.225000 640.000000; bond 1 3 1.489000 289.684265; bond 1 5 1.087000 314.000000; bond 3 6 1.112599 352.394226; bond 3 7 1.112599 352.394226; bond 3 4 1.112599 352.394226; # Angles; angle 2 1 3 98.000000 121.900002; angle 2 1 5 50.000000 124.500000; angle 3 1 5 40.926056 120.000000; angle 1 3 6 40.688461 109.470001; angle 1 3 7 40.688461 109.470001; angle 1 3 4 40.688461 109.470001; angle 6 3 7 41.660091 109.470001; angle 6 3 4 41.660091 109.470001; angle 7 3 4 41.660091 109.470001; # Torsion angles; torsion 2 1 3 6 1.666667 3 180.000000; torsion 2 1 3 7 1.666667 3 180.000000; torsion 2 1 3 4 1.666667 3 180.000000; torsion 5 1 3 6 1.666667 3 180.000000; torsion 5 1 3 7 1.666667 3 180.000000; torsion 5 1 3 4 1.666667 3 180.000000; # Hybrids; hybrid 2 3 5 1 150.000000 0.000000; echo on; # Set the force field terms; use none bond angle torsion hybrid nonbon; # Show the starting energy; monitor; # Update full non-bonded list when atomic displacement is # greater than 1.0 angstroms; setf mxdq 1.0; # Start the minimization (2000 steps, toler 0.01); cngdel 2000 0 0.01; # Show the final energy; monitor; # Dump the final structure in AMMP and PDB formats; echo off; output molecule_min.pdb; dump pdb; close; output molecule_min.amp; dump atom bond; close; echo on;
5.2 Genetic algorithm minimization
# Read the molecule from another file; echo off; read molecule.amp; echo on; # Set the force field terms; use none bond angle torsion nonbon; # Update full non-bonded list when atomic displacement is # greater than 1.0 angstroms; setf mxdq 1.0; # Start the minimization (1000 steps, population of 10 subjects, 1.0 sigma; # scale factor for starting population generation, 0.01 target value; # 10 minimization steps of conjugate gradients; genetic 1000 10 1.0 0.01 10; # Dump the final structure in AMMP format; echo off; output molecule_min.amp; dump atom bond; close; echo on;
5.3 Distance geometry optimizer
# Read the molecule that have all atoms at; # (0.0, 0.0, 0.0); echo off; read molecule.amp; echo on; # Start dgeom (20 steps, key atom 1, shift 0.5); # It builds the molecule using the power method; dgeom 20 1 0.5; # Dump the final structure in PDB format; echo off; output molecule_min.pdb; dump pdb; close; echo on;
5.4 MoM charge calculation
# Read the molecule; echo off; read molecule.amp; echo on; # Select the atoms (from 1 to last atom); momadd 1; # Start mom (20 steps, total charge +1.0); mom 1.0 20; # Dump the final charges in AMMP format; echo off; output molecule_out.amp; dump atom; close; echo on;
5.5 Dipole moment evaluation
# Read the molecule; echo off; read molecule.amp; echo on; # Calculate the dipole moment (from 1 to last atom); dipole 1;
5.6 Genetic algorithm rigid docking
# Read file containing the ligand and the target molecule; # (e.g. receptor protein); echo off; read complex.amp; echo on; # Set the force field terms; use none bond angle torsion nonbon; # Update full non-bonded list when atomic displacement is # greater than 1.0 angstroms; setf mxdq 1.0; # Start the docking (1.0 toler, 10 Ndeep, 100 iterations,; # 1.0 VarA, 1.0 VarX, 145 first atom); gdock 1.0 10 100 1.0 1.0 145; # Dump the final structure in AMMP format; echo off; output complex_dock.amp; dump atom bond; close; echo on;
5.7 Evaluation of Interaction energy
# Read the file containing the complex between the ligand and; # the receptor; echo off; read molecule.amp; # Set the force field terms; use none nonbon; # Update full non-bonded list when atomic displacement; # greater than 0.75 angstroms; setf mxdq 0.75; # Enable the multipole algorithm; setf mmbox 10.0; # Start the analysis (the 9173 - 9231 atom range is the ligand); echo on; analyze 9173 9231; # Vnonbond total external is the interaction energy;
5.8 Molecular dynamics
echo off;
# Set the number of steps (1 step = 1 ps);
seti steps 100; # 100 ps;
# Trajectory update (every 10 ps);
seti refresh 10;
# Read the molecule;
read molecule.amp;
# Set the force field terms;
use none bond angle torsion hybrid nonbon;
# Update full non-bonded list when atomic displacement;
# greater than 0.75 angstroms;
setf mxdq 0.75;
# Set the temperature to 300 Kelvin;
setf temp 300;
# Initialize atomic velocities with a boltzmann distribution;
v_maxwell temp;
# Check the energies prior to MD run;
echo on;
monitor;
echo off;
# Run the molecular dynamics;
seti n 0;
seti r 0;
div steps refresh;
echo off;
loopi end1: r steps;
seti i 0;
loopi end2: i refresh;
tpac 1000 0.00001 temp;
add n 1;
end2:;
echo on;
nop n;
monitor;
echo off;
# Save the frame;
output molecule_md.amp n;
dump atom bond angle hybrid torsion nonbon velocity;
close;
end1:;
6. Force field
AMMP uses a molecular mechanics potential or force field. This is a classical potential and as such is limited in its physical significance. However, it is possible to relate such a classical potential to a power series expansion about a stationary solution of a quantum problem. This relationship is derived via the Feynmann-Hellman theorem which relates the expectation value of the derivative of an operator with its stationary approximation.
We can write Schrodingers equation as:
E<p|p> = <p| H |p>
where E is the energy, H the Hamiltonian operator and the wave function. The molecular mechanics approximation to the energy is given by the Taylor expansion about a given solution:
E(a) = E0 + dE/da (Delta a) +1/2 d2/da2 (Delta a)2.
where is an arbitrary parameter such as the x coordinate value.
The derivatives of E are required for this expansion. Formally:
dE<p|p>/da = d<p| H |p> /da.
This can be expanded as:
dE<p|p>/da = <dp/da | H |p> +<p|d H/da, |p> +<p| H |dp/da>
However, the assumption of a stationary point is simply dp/da = 0 so that the resulting expansion is:
dE/da = <p|d H/da, |>/<p|p>
This expression can be continued, ad infinitum, to produce the necessary derivatives. This Taylor series is NOT infinitely convergent.
Large differences in positions will violate the assumption of a stationary wave function. Electronic transitions are not stationary by definition, and this expansion cannot treat them (nor does it treat non-differentiable problems like spin). However, in the limit of small displacements along bond and geometry, this expansion can be surprisingly good. Interactions between distant atoms, such as Van der Waals and electrostatic interactions are well treated by this approximation because these are relatively weak interactions and the stationary approximation for the wave function is valid.
7. History
8. Copyright and disclaimers
All trademarks and software directly or indirectly referred
in this document, are copyrighted from legal owners. AMMP - Another Molecular
Mechanics Program is a freeware program and can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of these programs accept no responsibility for hardware/software damages resulting from the use of this package.
No warranty is made about the software or its performance.
Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:
The copyright notice and this entire notice are included intact and prominently carried
on all copies and supporting documentation.
No fees or compensation are charged for use, copies, or access to this software. You may
charge a nominal distribution fee for the physical act of transferring a copy, but you may
not charge for the program itself.
If you want include the AMMP package into a commercial file collection, you must send a
written request. The Authors can accept or deny the request on their own decision.
If you change the source code to improve the AMMP performances,
please contact the Authors to add your modifications in the official package.
Any work distributed or published that in whole or in part contains or is a derivative of this software or any part thereof is subject to the terms of this agreement. The aggregation of another unrelated program with this software or its derivative on a volume of storage or distribution medium does not bring the other program under the scope of these terms.
AMMP - Another Molecular Mechanics Program
is a software developed in 1993-2021
by Robert W. Harrison
All rights reserved.
Robert W. Harrison
Department of Computer Science
Georgia State University
34 Peachtree Street - Suite 1450
Atlanta, GA 30303
E-Mail: rharrison@cs.gsu.edu
WWW:
http://www.cs.gsu.edu/~cscrwh/ammp/ammp.html
AMMP VEGA Edition
is a software developed in 2006-2021
by Alessandro Pedretti & Giulio Vistoli
All rights reserved.
Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
Facoltà di Scienze del Farmaco
Università degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359
E-Mail: info@vegazz.net
WWW: http://www.vegazz.net