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:


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:

Data Description
x Cartesian coordinates.
y
z
fx Force components.
fy
fz
q Atom charge.
m Mass.
chi Elecronegativity.
Data Description
dx Minimization direction.
dy
dz
vx Velocity components.
vy
vz
a Non-bond terms.
b
jaa Self coulomb term.

 

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.
PRINT   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  
   Number of iterations. If it's less then 1, one iteration only is performed.
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 Å:
  • Rx ≥ 0, Ry = 0, Rz = 0: spherical
  • Rx > 0, Ry > 0, Rz = 0: cylindrical
  • Rx > 0, Ry > 0, Rz > 0: ellipsoidal

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:
  
Term Description
abc Angle-correlated bond length (ABC input command required).
av5 Force tetrahedral atoms to be tetrahedral introducing some mixing between angles and bonds.
angle Harmonic angle.
bond Harmonic bond length.
box Reflecting box potential (MD only). The box dimension is controlled by bbox floating point variable.
cangle UFF cosine angle function.
debye Debye screened potentials.
fourd 4D non-bonded energy for embedding as implemented in CHARMM. It must be initialized with the INIT4D command.
hard Non-bonded potential with very short fixed cut-off. It's useful for big structures.
hoangle Homotopy angle (controlled by the lambda parameter).
hoav5 Homotopy av5 term (controlled by the lambda parameter).
hobond Homotopy bond (controlled by the lambda parameter).
hohybrid Homotopy pyramid hybrid (improper angle, out of plane angle).
honoel Homotopy noel term (controlled by the lambda parameter).
hybrid Pyramid hybrid (improper angle, out of plane angle).
mmangle MM3 angle function.
mmbond MM3 bond function.
morse Morse bond function (MORSE input command required)
noel Split harmonic distance constraint (see NOEL command).
nonbon Point atom electrostatics and Van der Waals terms.
none Reset the potential list.
periodic Non-bonded potential with periodic unit cell. The cell parameters must be placed in the acell, bcell and ccell floating point variables.
react Non-bond potential.
restrain Harmonic distance restraint (RESTRAIN input command required).
screen 1s distributed charge electrostatics.
shadow 4D non-bonded energy for embedding.
step Step distance (3 point noel, STEP input command required).
swarm Length potential (distance restrain, SWARM input command required).
tbond Table driven bond potential (see TABLE, TABLEENT, TBOND).
tether Harmonic position restraint (TETHER record required).
torsion Torsion angle.
trace Distance geometry potential (see TRACE command).
ttarget Torsion angle restrain (TTARGET input command required).

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.
  
Orbital Description
1 1 center 1s.
1o 1 center 1s arbitrary origin.
2 2 center (on a bond) 1s.
3 3 center (on an angle diagonal) 1s.
4s 4 center asymmetric (one sided) on a plane normal (e.g. nitrogen).
4p 4 center symmetric (one sided) on a plane normal.
m Multicentred on atoms (e.g. Pi-greco orbital for benzene).

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   3   (UINT)Atom1   (UINT)Atom2   (UINT)Atom3   (UINT)Osn   (FLOAT)Along   (FLOAT)X   (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 (\).
  
Sequence Hex code Character

Description

\a 0x07 BEL Audible bell
\b 0x08 BS Backspace
\f 0x0C FF Formfeed
\n 0x0A LF Newline (Linefeed)
\r 0x0D CR Carriage return
\t 0x09 HT Horizontal tab
\v 0x0B VT Vertical tab
\\ 0x5c \ Backslash
\' 0x27 ' Single quote (apostrophe)
\? 0x3F ? Question mark
\O   any O = a string up to three octal digits (e.g. \144)
\xH   any H = a string of hex digits (e.g. \x64)
\XH   any H = a string of hex digits (e.g. \X64)

 

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:

  

  

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