Commands

The following is a description of the commands that can be accessed using the command line interface in tLEAP, or through the command line editor in xLEAP. Whenever an argument in a command line definition is enclosed in brackets ([arg]), then that argument is optional. When examples are shown, the command line is prefaced by "> ", and the program output is shown without this character preface.

add

add a b
UNIT/RESIDUE/ATOM a,b
Add the object b to the object a. This command is used to place ATOMs within RESIDUEs, and RESIDUEs within UNITs. This command will work only if b is not contained by any other object.
The following example illustrates both the add command and the way the tip3p water molecule is created for the LEAP distribution tape.

> h1 = createAtom H1 HW 0.417
> h2 = createAtom H2 HW 0.417
> o = createAtom O OW -0.834
>
> set h1 element H
> set h2 element H
> set o element O
>
> r = createResidue TIP3
> add r h1
> add r h2
> add r o
>
> bond h1 o
> bond h2 o
> bond h1 h2
>
> TIP3 = createUnit TIP3
>
> add TIP3 r
> set TIP3.1 restype solvent
> set TIP3.1 imagingAtom TIP3.1.O
>
> zMatrix TIP3 {
> { H1 O 0.9572 }
> { H2 O H1 0.9572 104.52 }
> }
>
> saveOff TIP3 water.lib
Saving TIP3.
Building topology.
Building atom parameters.

addAtomTypes

addAtomTypes { { type element hybrid } { ... } ... }
STRING type
STRING element
STRING hybrid
Define element and hybridization for force field atom types. This command for the standard force fields can be seen in the default leaprc files. The STRINGs are most safely rendered using quotation marks. If atom types are not defined, confusing messages about hybridization can result when loading PDB files.

addIons

addIons unit ion1 numIon1 [ion2 numIon2]
UNIT unit
UNIT ion1
NUMBER numIon1
UNIT ion2
NUMBER numIon2
Adds counterions in a shell around unit using a Coulombic potential on a grid. If numIon1 is 0, then the unit is neutralized. In this case, numIon1 must be opposite in charge to unit and numIon2 cannot be specified. Otherwise, the specified numbers of numIon1 numIon2 are If solvent is present, it is ignored in the charge and steric calculations, and if an ion has a steric conflict with a solvent molecule, the ion is moved to the center of said molecule, and the latter is deleted. (To avoid this behavior, either solvate _after_ addions, or use addIons2.) Ions must be monoatomic. This procedure is not guaranteed to globally minimize the electrostatic energy. When neutralizing regular-backbone nucleic acids, the first cations will generally be placed between phosphates, leaving the final two ions to be placed somewhere around the middle of the molecule.The default grid resolution is 1 Å, extending from an inner radius of ( ( maxIonVdwRadius + maxSoluteAtomVdwRadius ) ) to an outer radius 4 angstroms beyond. A distance-dependent dielectric is used for speed.

addIons

addIons unit ion1 numIon1 [ion2 numIon2]
UNIT unit
UNIT ion1
NUMBER numIon1
UNIT ion2
NUMBER numIon2
Same as addIons, except solvent and solute are treated the same.

addPath

addPath path
STRING path
Add the directory in path to the list of directories that are searched for files specified by other commmands. The following example illustrates this command.

> addPath /disk/howard
/disk/howard added to file search path.

After the above command is entered, the program will search for a file in this directory if a file is specified in a command. Thus, if a user has a library named "/disk/howard/rings.lib" and the user wants to load that library, one only needs to enter load rings.lib and not load /disk/howard/rings.lib.

addPdbAtomMap

addPdbAtomMap list
LIST list
The atom Name Map is used to try to map atom names read from PDB files to atoms within residue UNITs when the atom name in the PDB file does not match an atom in the residue. This enables PDB files to be read in without extensive editing of atom names. Typically, this command is placed in the LEAP start-up file, "leaprc", so that assignments are made at the beginning of the session. The LIST is a LIST of LISTs. Each sublist contains two entries to add to the Name Map. Each entry has the form:

{ string string }

where the first string is the name within the PDB file, and the second string is the name in the residue UNIT.

addPdbResMap

addPdbResMap list
LIST list
The Name Map is used to map RESIDUE names read from PDB files to variable names within LEAP. Typically, this command is placed in the LEAP start-up file, "leaprc", so that assignments are made at the beginning of the session. The LIST is a LIST of LISTs. Each sublist contains two or three entries to add to the Name Map. Each entry has the form:

{ double string string }

where double can be 0 or 1, the first string is the name within the PDB file, and the second string is the variable name to which the first string will be mapped. To illustrate, the following is part of the Name Map that exists when LEAP is started from the "leaprc" file included in the distribution tape:

ADE --> DADE
: :
0 ALA --> NALA
0 ARG --> NARG
: :
1 ALA --> CALA
1 ARG --> CARG
: :
1 VAL --> CVAL

Thus, the residue ALA will be mapped to NALA if it is the N-terminal residue and CALA if it is found at the C-terminus. The above Name Map was produced using the following (edited) command line:

> addPdbResMap {
> { 0 ALA NALA } { 1 ALA CALA }
> { 0 ARG NARG } { 1 ARG CARG }
: :
> { 0 VAL NVAL } { 1 VAL CVAL }
>
: :
> { ADE DADE }
: :
> }

alias

alias [ string1 [ string2 ] ]
STRING string1
STRING string2
This command will add or remove an entry to the Alias Table or list entries in the Alias Table. If both strings are present, then string1 becomes the alias to string2, the original command. If only one string is used as an argument, then this string is removed from the Alias Table. If no arguments are given with the command, the current aliases stored in the Alias Table will be listed.

The proposed alias is first checked for conflict with the LEAP commands and it is rejected if a conflict is found. A proposed alias will replace an existing alias with a warning being issued. The alias can stand for more than a single word, but also as an entire string so the user can quickly repeat entire lines of input.

The leaprc file that is found in the LEAP distribution tape creates the following aliases:

q quit
exit quit
e edit
a alias
? help
l loadOff
lp loadPdb
so saveOff
sap saveAmberParm
sp savePdb
ap loadAmberParams
lap loadAmberPrep
ai addIons
s source

The following line is an example of this command:

> alias q quit

alignAxes

alignAxes unit
UNIT unit
Translate the geometric center of unit to the origin and align the principle axes of the ATOMs within unit along the coordinate axes. This is done by calculating the moment of inertia of the UNIT using the identical mass for each ATOM, and then diagonalizing the resulting matrix and aligning the eigenvectors along the coordinate axes. This command modifies the coordinates of the UNIT.

The following example illustrates the alignAxes command. For the purposes of this manual, the CA ATOM of the all_amino94.lib UNIT GLY is described. The user should note the change in the CA Cartesian coordinates after alignment.

> desc GLY.GLY.CA
ATOM
Name: CA
Type: CT
Charge: 0.035
Element: C
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 3.970048, 2.845795, 0.000000
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
> alignAxes GLY
> desc GLY.GLY.CA
ATOM
Name: CA
Type: CT
Charge: 0.035
Element: C
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 0.124598, 0.610835, 0.000000
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.

bond

bond atom1 atom2 [ order ]
ATOM atom1
ATOM atom2
STRING order
Create a bond between atom1 and atom2. Both of these ATOMs must be contained by the same UNIT. By default, the bond will be a single bond. By specifying "-", "=", "#", or ":" as the optional argument, order, the user can specify a single, double, triple, or aromatic bond, respectively. (See the add command for an example of the bond command.)

bondByDistance

bondByDistance container [ maxBond ]
CONT container
NUMBER maxBond
Create single bonds between all ATOMs in container that are within maxBond angstroms of each other. If maxBond is not specified then a default distance will be used. This command is especially useful in building molecules. Example:

bondByDistance alkylChain

center

center container
UNIT/RESIDUE/ATOM container
Display the coordinates of the geometric center of the ATOMs within container. In the following example, the alanine UNIT found in the amino acid library has been examined by the center command:

> center ALA
The center is at: 4.04, 2.80, 0.49

charge

charge container
UNIT/RESIDUE/ATOM container
This command calculates the total charge of the ATOMs within container. The total charges for both standard and, where applicable, perturbed systems are displayed. In the following example, the alanine UNIT found in the amino acid library has been examined by the charge command:

> charge ALA
Total unperturbed charge: 0.00
Total perturbed charge: 0.00

check

check unit [ parms ]
UNIT unit
PARMSET parms
This command can be used to check the UNIT for internal inconsistencies that could cause problems when performing calculations. This is a very useful command that should be used before a UNIT is saved with saveAmberParm or its variants. Currently it checks for the following possible problems:

clearPdbAtomMap

Clear the atom Name Map (see the addPdbAtomMap command).

clearPdbResMap

Clear the residue Name Map (see the addPdbResMap command).

clearVariables

clearVariables [ list ]
LIST list
This command removes variables from LEAP. If the list argument is provided then only the variables in the LIST will be removed. If no argument is provided then all variables will be removed. Example:

> addPath /disk/howard/LeapTests/Ethane
/disk/howard/LeapTests/Ethane added to file search path.
> loadOff ETH.lib
Loading library: ETH.lib
Loading: ETH
> list
ETH
> desc ETH
UNIT name: ETH
Head atom: null
Tail atom: null
Contents:
R
> clearVariables { ETH }
> list
> desc ETH
"ETH"

combine

variable = combine list
object variable
LIST list
Combine the contents of the UNITs within list into a single UNIT. The new UNIT is placed in variable. This command is similar to the sequence command except it does not link the ATOMs of the UNITs together. In the following example, the input and output should be compared with the example given for the sequence command.

> tripeptide = combine { ALA GLY PRO }
Sequence: ALA
Sequence: GLY
Sequence: PRO
> desc tripeptide
UNIT name: ALA !! bug: this should be tripeptide!
Head atom: .R.A
Tail atom: .R.A
Contents:
R
R
R

copy

newvariable = copy variable
object newvariable
object variable
Creates an exact duplicate of the object variable. Since newvariable is not pointing to the same object as variable, changing the contents of one object will not alter the other object. Example:

> tripeptide = sequence { ALA GLY PRO }
> tripeptideSol = copy tripeptide
> solvateBox tripeptideSol WATBOX216 8 2

In the above example, tripeptide is a separate object from tripeptideSol and is not solvated. Had the user instead entered

> tripeptide = sequence { ALA GLY PRO }
> tripeptideSol = tripeptide
> solvateBox tripeptideSol WATBOX216 8 2

then both tripeptide and tripeptideSol would be solvated since they would both point to the same object.

createAtom

variable = createAtom name type charge
ATOM variable
STRING name
STRING type
NUMBER charge
Return a new and empty ATOM with name, type, and charge as its atom name, atom type, and electrostatic point charge. (See the add command for an example of the createAtom command.)

createParmset

variable = createParmset name
PARMSET variable
STRING name
Return a new and empty PARMSET with the name "name".

> newparms = createParmset pertParms

createResidue

variable = createResidue name
RESIDUE variable
STRING name
Return a new and empty RESIDUE with the name "name". (See the add command for an example of the createResidue command.)

createUnit

variable = createUnit name
UNIT variable
STRING name
Return a new and empty UNIT with the name "name". (See the add command for an example of the createUnit command.)

crossLink

crossLink res1 conn1 res2 conn2 [ order ]
RESIDUE res1
STRING connect1
RESIDUE res2
STRING connect2
STRING order
Create a bond between ATOMs at the connection point specified by conn1 and conn2. The user may also specify the bond order of the crosslink through the order option. By specifying "-", "=", "#", or ":" as the optional argument, order, the user can specify a single, double, triple, or aromatic bond, respectively. The arguments conn1 and conn2 can have the following values:

Name Alternative Names
connect0 nend firstend
connect1 cend lastend
connect2 send disulphide
connect3 -
connect4 -
connect5 -

Example:

> disulfide = sequence {
> ALA CYX ALA ALA ALA ALA CYX ALA
> }
> crosslink disulfide.2 connect2 disulfide.7 connect2
> desc disulfide.2.8
ATOM
Name: SG
Type: S
Charge: 0.824
Element: S
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 9.992386, 3.049907, -1.366045
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.

debugOff

debugOff filename
STRING filename
This command is a system debugging function. It turns off debugging messages from the source file filename. The default for all filenames is OFF. Command example:

> debugoff /disk/howard/debug
Messages will be displayed from the files:
------

debugOn

debugOn filename
STRING filename
This command is a system debugging function. It turns on debugging messages from the source file filename. The default for all filenames is OFF. Example:

> debugon /disk/howard/debug
Messages will be displayed from the files:
/disk/howard/debug
------

debugStatus

debugStatus [memory]
STRING memory
This command is a system debugging command. It displays various messages that describe LEAP's usage of system resources. The optional string, memory, can have the following values:

testMemoryOn Turn memory testing on
testMemoryOff Turn memory testing off

Command example:

> debugstatus
Current memory usage: 0 bytes
Memory testing on = FALSE

deleteBond

deleteBond atom1 atom2
ATOM atom1
ATOM atom2
Delete the bond between the ATOMs atom1 and atom2. If no bond exists, an error will be displayed.

> dipeptide = sequence { ALA GLY }
Sequence: ALA
Sequence: GLY
Joining ALA - GLY
> desc dipeptide.1
RESIDUE name: ALA
RESIDUE sequence number: 1
Type: protein
Connection atoms:
Connect atom 0: A
Connect atom 1: A
Contents:
A
A
A
A
A
A
A
A
A
A
> desc dipeptide.1.9
ATOM
Name: C
Type: C
Charge: 0.616
Element: C
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 5.485541, 2.705207, -0.000004
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
> deleteBond dipeptide.1.9 dipeptide.2.1
> desc dipeptide.1.9
ATOM
Name: C
Type: C
Charge: 0.616
Element: C
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 5.485541, 2.705207, -0.000004
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.

deleteOffLibEntry

deleteOffLibEntry library entry
STRING library
STRING entry
Delete the entry from the library.

> loadOff ETH.lib
Loading library: ETH.lib
Loading: ETH
> listOff ETH.lib
Index of library: ETH.lib
ETH
> deleteOffLibEntry ETH.lib ETH
ETH was removed.
> listOff ETH.lib
Index of library: ETH.lib

deleteRestraint

deleteRestraint unit a b [ c [ d ] ]
UNIT unit
ATOM a
ATOM b
ATOM c
ATOM d
Delete a restraint bond, angle, or torsion from unit, depending on the number of ATOMs specified. (see the restrainBond command for an example of this command).

desc

desc variable
object variable
Print a description of the object. In the following example, the alanine UNIT found in the amino acid library has been examined by the desc command:

> desc ALA
UNIT name: ALA
Head atom: .R.A
Tail atom: .R.A
Contents:
R

Now, the desc command is used to examine the first residue (1) of the alanine UNIT:

> desc ALA.1
RESIDUE name: ALA
RESIDUE sequence number: 1
Type: protein
Connection atoms:
Connect atom 0: A
Connect atom 1: A
Contents:
A
A
A
A
A
A
A
A
A
A

Next, we illustrate the desc command by examining the ATOM n of the first residue (1) of the alanine UNIT:

> desc ALA.1.N
ATOM
Name: N
Type: N
Charge: -0.463
Element: N
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int - nmin- nbld-
Atom position: 3.325770, 1.547909, -0.000002
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.

Since the n ATOM is also the first atom of the ALA residue, the following command will give the same output as the previous example:

> desc ALA.1.1
ATOM
Name: N
Type: N
Charge: -0.463
Element: N
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int - nmin- nbld-
Atom position: 3.325770, 1.547909, -0.000002
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.

deSelect

deSelect object
CONT object
Clears the select flag on all ATOMs within object. (see the select command for additional information.)

> deSelect ALA.1.5

displayPdbAtomMap

Display the atom Name Map (see the addPdbAtomMap command).

displayPdbResMap

Display the residue Name Map (see the addPdbResMap command).

edit

edit unit
UNIT unit
In xleap this command creates a Unit Editor that contains the UNIT unit. The user can view and edit the contents of the UNIT using the mouse. The command causes a copy of the object to be edited. If the object that the user wants to edit is "null", then the edit command assumes that the user wants to edit a new UNIT with a single RESIDUE within it. In tleap this command prints an error message.

groupSelectedAtoms

groupSelectedAtoms unit name
UNIT unit
STRING name
Create a group within unit with the name, "name", using all of the ATOMs within the UNIT that are selected. If the group has already been defined then overwrite the old group. The desc command can be used to list groups. Example:

groupSelectedAtoms TRP sideChain

An expression like "TRP@sideChain" returns a LIST, so any commands that require LIST 's can take advantage of this notation. After assignment, one can access groups using the "@" notation. Examples:

select TRP@sideChain

center TRP@sideChain

The latter example will calculate the center of the atoms in the "sideChain" group. (see the select command for a more detailed example.)

help

help [string]
STRING string
This command prints a description of the command in string. If the STRING is not given then a list of help topics is provided. This command is illustrated with the following example:

> help quit
quit
Quit LEaP.

impose

impose unit seqlist internals
UNIT unit
LIST seqlist
LIST internals
The impose command allows the user to impose internal coordinates on the UNIT. The list of RESIDUEs to impose the internal coordinates upon is in seqlist. The internal coordinates to impose are in the LIST internals.

The command works by looking into each RESIDUE within the UNIT that is listed in the seqlist argument and attempts to apply each of the internal coordinates within internals. The seqlist argument is a LIST of NUMBERS that represent sequence numbers or ranges of sequence numbers. Ranges of sequence numbers are represented by two element LISTs that contain the first and last sequence number in the range. The user can specify sequence number ranges that are larger than what is found in the UNIT. For example, the range { 1 999 } represents all RESIDUEs in a 200 RESIDUE UNIT.

The internals argument is a LIST of LISTs. Each sublist contains a sequence of ATOM names which are of type STRING followed by the value of the internal coordinate. An example of the impose command would be:

impose peptide { 1 2 3 } {
{ N CA C N -40.0 }
{ C N CA C -60.0 }
}

This would cause the RESIDUE with sequence numbers 1, 2, and 3 within the UNIT peptide to assume an alpha helical conformation. The command

impose peptide { 1 2 { 5 10 } 12 } {
{ CA CB 5.0 } }

will impose on the residues with sequence numbers 1, 2, 5, 6, 7, 8, 9, 10, and 12 within the UNIT peptide a bond length of 5.0 angstroms between the alpha and beta carbons. RESIDUEs without an ATOM named CB (like glycine) will be unaffected.

Three types of conformational change are supported: bond length changes, bond angle changes, and torsion angle changes. If the conformational change involves a torsion angle, then all dihedrals around the central pair of atoms are rotated. The entire list of internals are applied to each RESIDUE.

list

List all of the variables currently defined. To illustrate, the following (edited) output shows the variables defined when LEAP is started from the leaprc file included in the distribution tape:

> list
A
ACE ALA
ARG ASN
: :
VAL W
WAT Y

listOff

listOff library
STRING library
List the UNITs/PARMSETs that are stored within the library. Command example:

> listOff all_amino94.lib
Index of library: all_amino94.lib
ALA
ARG
ASH
ASN
ASP
CYM
CYS
CYX
GLN
GLU
GLY
HID
HIE
HIP
ILE
LEU
LYS
MET
PHE
PRO
SER
THR
TRP
TYR
VAL

loadAmberParams

variable = loadAmberParams filename
PARMSET variable
STRING filename
Load an AMBER format parameter set file and place it in variable. All interactions defined in the parameter set will be contained within variable. This command causes the loaded parameter set to be included in LEAP 's list of parameter sets that are searched when parameters are required. General proper and improper torsion parameters are modified during the command execution with the LEAP general type "?" replacing the AMBER general type "X".

The LEAP distribution contains "old" and "new" AMBER force field parameters in files "parm91X.dat" and "parm94.dat". One could build OFF libraries using the commands shown below; at some point this may become a standard conversion, but since it is easier to maintain the parameters in the AMBER format, this procedure is not used in the default setup. "parm91X.dat" is used instead of the "parm91.dat" in the AMBER dat/ tree because this file has corrections for LEAP 's method of applying improper torsions.

> parm91 = loadAmberParams parm91X.dat
> saveOff parm91 parm91.lib
Saving parm91.

loadAmberPrep

loadAmberPrep filename [ prefix ]
STRING filename
STRING prefix
This command loads an AMBER PREP input file. For each residue that is loaded, a new UNIT is constructed that contains a single RESIDUE and a variable is created with the same name as the name of the residue within the PREP file. If the optional argument prefix is provided it will be prefixed to each variable name; this feature is used to prefix UATOM residues, which have the same names as AATOM residues with the string "U" to distinguish them. Let us imagine that the following AMBER PREP input file exists:

0 0 2
Crown Fragment A
cra.res
CRA INT 0
CORRECT NOMIT DU BEG
0.0
1 DUMM DU M 0 0 0 0. 0. 0.
2 DUMM DU M 0 0 0 1.000 0. 0.
3 DUMM DU M 0 0 0 1.000 90. 0.
4 C1 CT M 0 0 0 1.540 112. 169.
5 H1A HC E 0 0 0 1.098 109.47 -110.0
6 H1B HC E 0 0 0 1.098 109.47 110.0
7 O2 OS M 0 0 0 1.430 112. -72.
8 C3 CT M 0 0 0 1.430 112. 169.
9 H3A HC E 0 0 0 1.098 109.47 -49.0
10 H3B HC E 0 0 0 1.098 109.47 49.0


CHARGE
0.2442 -0.0207 -0.0207 -0.4057 0.2442
-0.0207 -0.0207


DONE
STOP

This fragment can be loaded into LEAP using the following command:

> loadAmberPrep cra.in
Loaded UNIT: CRA

loadOff

loadOff filename
STRING filename
This command loads the OFF library within the file named filename. All UNITs and PARMSETs within the library will be loaded. The objects are loaded into LEAP under the variable names the objects had when they were saved. Variables already in existence that have the same names as the objects being loaded will be overwritten. Any PARMSETs loaded using this command are included in LEAP 's library of PARMSETs that is searched whenever parameters are required (The old AMBER format is used for PARMSETs rather than the OFF format in the default configuration). Example command line:

> loadOff parm91.lib
Loading library: parm91.lib
Loading: PARAMETERS

loadPdb

variable = loadPdb filename
STRING filename
object variable
Load a Protein Databank format file with the file name filename. The sequence numbers of the RESIDUEs will be determined from the order of residues within the PDB file ATOM records. This function will search the variables currently defined within LEAP for variable names that map to residue names within the ATOM records of the PDB file. If a matching variable name is found then the contents of the variable are added to the UNIT that will contain the structure being loaded from the PDB file. Adding the contents of the matching UNIT into the UNIT being constructed means that the contents of the matching UNIT are copied into the UNIT being built and that a bond is created between the connect0 ATOM of the matching UNIT and the connect1 ATOM of the UNIT being built. The UNITs are combined in the same way UNITs are combined using the sequence command. As atoms are read from the ATOM records their coordinates are written into the correspondingly named ATOMs within the UNIT being built. If the entire residue is read and it is found that ATOM coordinates are missing, then external coordinates are built from the internal coordinates that were defined in the matching UNIT. This allows LEAP to build coordinates for hydrogens and lone-pairs which are not specified in PDB files.

> crambin = loadPdb 1crn
Loading PDB file
Matching PDB residue names to LEaP variables.
Mapped residue THR, term: 0, seq. number: 0 to: NTHR.
Residue THR, term: M, seq. number: 1 was not
found in name map.
Residue CYS, term: M, seq. number: 2 was not
found in name map.
Residue CYS, term: M, seq. number: 3 was not
found in name map.
Residue PRO, term: M, seq. number: 4 was not
found in name map.
: : :
Residue TYR, term: M, seq. number: 43 was not
found in name map.
Residue ALA, term: M, seq. number: 44 was not
found in name map.
Mapped residue ASN, term: 1, seq. number: 45 to: CASN.
Joining NTHR - THR
Joining THR - CYS
Joining CYS - CYS
Joining CYS - PRO
: : :
Joining ASP - TYR
Joining TYR - ALA
Joining ALA - CASN

The above edited listing shows the use of this command to load a PDB file for the protein Crambin. Several disulphide bonds are present in the protein and these bonds are indicated in the PDB file. The loadPdb command, however, cannot read this information from the PDB file. It is necessary for the user to explicitly define disulphide bonds using the crossLink command.

loadPdbUsingSeq

loadPdbUsingSeq filename unitlist
STRING filename
LIST unitlist
This command reads a Protein Data Bank format file from the file named filename. This command is identical to loadPdb except it does not use the residue names within the PDB file. Instead the sequence is defined by the user in unitlist. For more details see loadPdb.

> peptSeq = { UALA UASN UILE UVAL UGLY }
> pept = loadPdbUsingSeq pept.pdb peptSeq

In the above example, a variable is first defined as a LIST of united atom RESIDUEs. A PDB file is then loaded, in this sequence order, from the file "pept.pdb".

logFile

logFile filename
STRING filename
This command opens the file with the file name filename as a log file. User input and all output is written to the log file. Output is written to the log file as if the verbosity level were set to 2. An example of this command is:

> logfile /disk/howard/leapTrpSolvate.log

matchVariables

variable = matchVariables string
LIST variable
STRING string
The matchVariables command is used to create a LIST of variables with names that match string. The argument string can contain the wildcard characters "?" and "*" to match a specific character or multiple characters, respectively.

> cTerminal = matchVariables C???
> desc cTerminal
List size=24
CALA: CARG: CASN: CASP: CCYS: CCYX: CGLN:
CGLU: CGLY: CHID: CHIE: CHIP:
CHIS: CILE: CLEU: CLYS: CMET: CPHE: CPRO:
CSER: CTHR: CTRP: CTYR: CVAL:
--End of list

measureGeom

measureGeom atom1 atom2 [ atom3 [ atom4 ] ]
ATOM atom1
ATOM atom2
ATOM atom3
ATOM atom4
Measure the distance, angle, or torsion between two, three, or four ATOMs, respectively.

In the following example, we first describe the RESIDUE ALA of the ALA UNIT in order to find the identity of the ATOMs. Next, the measureGeom command is used to determine a distance, simple angle, and a dihedral angle. As shown in the example, the ATOMs may be identified using atom names or numbers.

> desc ALA.ALA
RESIDUE name: ALA
RESIDUE sequence number: 1
Type: protein
Connection atoms:
Connect atom 0: A
Connect atom 1: A
Contents:
A
A
A
A
A
A
A
A
A
A
> measureGeom ALA.ALA.1 ALA.ALA.3
Distance: 1.45 angstroms
> measureGeom ALA.ALA.1 ALA.ALA.3 ALA.ALA.5
Angle: 111.10 degrees
> measureGeom ALA.ALA.N ALA.ALA.CA ALA.ALA.C ALA.ALA.O
Torsion angle: 0.00 degrees

quit

Quit the LEAP program.

remove

remove a b
CONT a
CONT b
Remove the object b from the object a. If b is not contained by a then an error message will be displayed. This command is used to remove ATOMs from RESIDUEs, and RESIDUEs from UNITs. If the object represented by b is not referenced by some variable name then it will be destroyed.

> dipeptide = combine { ALA GLY }
Sequence: ALA
Sequence: GLY
> desc dipeptide
UNIT name: ALA !! bug: this should be dipeptide!
Head atom: .R.A
Tail atom: .R.A
Contents:
R
R
> remove dipeptide dipeptide.2
> desc dipeptide
UNIT name: ALA !! bug: this should be dipeptide!
Head atom: .R.A
Tail atom: null
Contents:
R

restrainAngle

restrainAngle unit a b c force angle
UNIT unit
ATOM a
ATOM b
ATOM c
NUMBER force
NUMBER angle
Add a restraint angle to unit. A restraint is used to constrain atoms during molecular mechanics calculations. It causes the energy of the unit to increase as the deviation from the restraining internal coordinate increases. The restraint is between atoms a, b, and c. The force constant of the restraint is force (in kcal-mol$^{-1}$-deg$^{-1}$) and the equilibrium angle is angle (in degrees). (see the restrainBond command for an example of this command).

restrainBond

restrainBond unit a b force length
UNIT unit
ATOM a
ATOM b
NUMBER force
NUMBER length
Add a restraint bond to unit. A restraint is used to constrain atoms during molecular mechanics calculations. It causes the energy of the unit to increase as the deviation from the restraining internal coordinate increases. The restraint is between atoms a and b and has a force constant of force (in kcal/mol-Å2) and an equilibrium distance of length (in Å).

> desc GLY
UNIT name: GLY
Head atom: .R.A
Tail atom: .R.A
Contents:
R
> restrainBond GLY GLY.1.1 GLY.1.7 50 2.8
> restrainAngle GLY GLY.1.1 GLY.1.3 GLY.1.6 50 110
> restrainTorsion GLY GLY.1.2 GLY.1.1 GLY.1.3  
> GLY.1.6 50 0 2
> desc GLY
UNIT name: GLY
Head atom: .R.A
Tail atom: .R.A
Restraint BOND: .R.A - .R.A
Kr=50.000000 R0=2.800000
Restraint ANGLE: .R.A - .R.A -
Restraint TORSION: .R.A - .R.A -
Kt=50.000000 T0=0.000000 N=2.000000
Contents:
R
> removeRestraint GLY GLY.1.2 GLY.1.1 GLY.1.3 GLY.1.6
Removing restraint.
> removeRestraint GLY GLY.1.1 GLY.1.3 GLY.1.6
Removing restraint.
> removeRestraint GLY GLY.1.1 GLY.1.7
Removing restraint.
> desc GLY
UNIT name: GLY
Head atom: .R.A
Tail atom: .R.A
Contents:
R

In the above example, we illustrate several commands for adding and removing restraints to the "lib/all_amino94.lib" UNIT GLY. (Don't try this at home or you might alter the "lib/all_amino94.lib". In general, we would not suggest modifying any standard libraries, rather, one should create a new UNIT for practice.)

restrainTorsion

restrainTorsion unit a b c d force phi multiplicity
UNIT unit
ATOM a
ATOM b
ATOM c
ATOM d
NUMBER force
NUMBER phi
NUMBER multiplicity
Add a restraint torsion to unit. A restraint is used to constrain atoms during molecular mechanics calculations. It causes the energy of the unit to increase as the deviation from the restraining internal coordinate increases. The restraint is between atoms a, b, c, and d, and has a force constant of force (in kcal/mol-deg2), an equilibrium torsion angle of (in degrees), and a periodicity of multiplicity (see the restrainBond command for an example of this command).

saveAmberParm

saveAmberParm unit topologyfilename coordinatefilename
UNIT unit
STRING topologyfilename
STRING coordinatefilename
Save the AMBER/SPASMS topology and coordinate files for the UNIT into the files named topologyfilename and coordinatefilename respectively. This command will cause LEAP to search its list of PARMSETs for parameters defining all of the interactions between the ATOMs within the UNIT. This command produces topology files and coordinate files that are identical in format to those produced by AMBER PARM and can be read into AMBER and SPASMS for calculations. The output of this operation can be used for minimizations, dynamics, and thermodynamic perturbation calculations.

In the following example, the topology and coordinates from the all_amino94.lib UNIT ALA are generated:

> saveamberparm ALA ala.top ala.crd
Building topology.
Building atom parameters.
Building bond parameters.
Building angle parameters.
Building proper torsion parameters.
Building improper torsion parameters.
Building H-Bond parameters.

saveAmberParmPol

saveAmberParmPol unit topologyfilename coordinatefilename
UNIT unit
STRING topologyfilename
STRING coordinatefilename
Like saveAmberParm, but includes atomic polarizabilities in the topology file for use with IPOL=1 in Sander. The polarizabilities are according to atom type, and are defined in the 'mass' section of the parm.dat or frcmod file. Note: charges are normally scaled when polarizabilities are used - see scaleCharges for an easy way of doing this.

saveAmberParmPert

saveAmberParmPert unit topologyfilename coordinatefilename
UNIT unit
STRING topologyfilename
STRING coordinatefilename
This command is the same as saveAmberParm, except a perturbation topology file is written instead of a plain minimization/dynamics one.

Save the AMBER/SPASMS topology and coordinate files for the UNIT into the files named topologyfilename and coordinatefilename respectively. This command will cause LEAP to search its list of PARMSETs for parameters defining all of the interactions between the ATOMs within the UNIT. This command produces topology files and coordinate files that are identical in format to those produced by AMBER PARM and can be read into AMBER gibbs and SPASMS for perturbation calculations.

> saveAmberParmPert pert pert.leap.top pert.leap.crd
Building topology.
Building atom parameters.
Building bond parameters.
Building angle parameters.
Building proper torsion parameters.
Building improper torsion parameters.
Building H-Bond parameters.

saveAmberParmPolPert

saveAmberParmPolPert unit topologyfilename coordinatefilename
UNIT unit
STRING topologyfilename
STRING coordinatefilename
Like saveAmberParmPert, but includes atomic polarizabilities in the topology file for use with IPOL=1 in Gibbs. The polarizabilities are according to atom type, and are defined in the 'mass' section of the parm.dat or frcmod file. Note: charges are normally scaled when polarizabilities are used - see scaleCharges for an easy way of doing this.

saveOff

saveOff object filename
object object
STRING filename
The saveOff command allows the user to save UNITs and PARMSETs to a file named filename. The file is written using the Object File Format (off) and can accommodate an unlimited number of uniquely named objects. The names by which the objects are stored are the variable names specified in the argument of this command. If the file filename already exists then the new objects will be added to the file. If there are objects within the file with the same names as objects being saved then the old objects will be overwritten. The argument object can be a single UNIT, a single PARMSET, or a LIST of mixed UNITs and PARMSETs. (See the add command for an example of the saveOff command.)

savePdb

savePdb unit filename
UNIT unit
STRING filename
Write UNIT to the file filename as a PDB format file. In the following example, the PDB file from the "all_amino94.lib" UNIT ALA is generated:

> savepdb ALA ala.pdb

scaleCharges

scaleCharges container scale_factor
UNIT/RESIDUE/ATOM container
NUMBER scale_factor
This command scales the charges in the object by _scale_factor_, which must be > 0. It is useful for building systems for use with polarizable atoms, e.g.
> x = copy solute
> scaleCharges x 0.8
> y = copy WATBOX216
> scalecharges y 0.875
> solvatebox x y 10
> saveamberparmpol x x.top x.crd

select

select object
CONT object
Sets the select flag on all ATOMs within object (see the deSelect command). In the following example, the side chain of the amino acid ALA has been selected. The center and charge of the selected atoms is compared with those of the entire ALA RESIDUE. We have also described one of the ATOMs in ALA, ALA.1.5, before and after selection in order that the user could see the output when a select flag is set.

> center ALA
The center is at: 4.04, 2.80, 0.49
> charge ALA
Total unperturbed charge: 0.00
Total perturbed charge: 0.00
> desc ALA.1
RESIDUE name: ALA
RESIDUE sequence number: 1
Type: protein
Connection atoms:
Connect atom 0: A
Connect atom 1: A
Contents:
A
A
A
A
A
A
A
A
A
A
> desc ALA.1.5
ATOM
Name: CB
Type: CT
Charge: -0.098
Element: C
Atom flags: 20000|posfxd- posblt- posdrn- sel- pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 3.576965, 3.653838, 1.232143
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
> select ALA.1.5
> select ALA.1.6
> select ALA.1.7
> select ALA.1.8
> desc ALA.1.5
ATOM
Name: CB
Type: CT
Charge: -0.098
Element: C
Atom flags: 20001|posfxd- posblt- posdrn- sel+ pert-
notdisp- tchd- posknwn+ int- nmin- nbld-
Atom position: 3.576965, 3.653838, 1.232143
Atom velocity: 0.000000, 0.000000, 0.000000
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
Bonded to .R.A by a single bond.
> groupSelectedAtoms ALA sideChain
Added 4 atoms.
> center ALA@sideChain
The center is at: 3.51, 3.80, 1.45
> charge ALA@sideChain
Total unperturbed charge: 0.02
Total perturbed charge: 0.02

sequence

variable = sequence list
UNIT variable
LIST list
The sequence command is used to create a new UNIT by combining the contents of a LIST of UNITs. The first argument is a LIST of UNITs. A new UNIT is constructed by taking each UNIT in the sequence in turn and copying its contents into the UNIT being constructed. As each new UNIT is copied, a bond is created between the tail ATOM of the UNIT being constructed and the head ATOM of the UNIT being copied, if both connect ATOMs are defined. If only one is defined, a warning is generated and no bond is created. If neither connection ATOM is defined then no bond is created. As each RESIDUE is copied into the UNIT being constructed it is assigned a sequence number which represents the order the RESIDUEs are added. Sequence numbers are assigned to the RESIDUEs so as to maintain the same order as was in the UNIT before it was copied into the UNIT being constructed. This command builds reasonable starting coordinates for all ATOMs within the UNIT; it does this by assigning internal coordinates to the linkages between the RESIDUEs and building the external coordinates from the internal coordinates from the linkages and the internal coordinates that were defined for the individual UNITs in the sequence.

> tripeptide = sequence { ALA GLY PRO }
Sequence: ALA
Sequence: GLY
Joining ALA - GLY
Sequence: PRO
Joining GLY - PRO
> desc tripeptide
UNIT name: ALA !! bug: this should be tripeptide!
Head atom: .R.A
Tail atom: .R.A
Contents:
R
R
R

set

set container parameter object
CONT container
STRING parameter
object object
This command sets various parameters associated with container. Please see the "Concepts" section for an extended discussion of the UNIT, RESIDUE, and ATOM parameters that may be altered for each type of object. (See the add command for an example of the set command.) The following parameters can be set within LEAP:

For ATOMs:

name

A unique STRING descriptor used to identify ATOMs.
type

This is a STRING property that defines the AMBER force field atom type.
charge

The charge property is a NUMBER that represents the ATOM's electrostatic point charge to be used in a molecular mechanics force field.
position

This property is a LIST of NUMBERS containing three values: the (X, Y, Z) Cartesian coordinates of the ATOM.
pertName

The STRING is a unique identifier for an ATOM in its final state during a Free Energy Perturbation calculation.
pertType

The STRING is the AMBER force field atom type of a perturbed ATOM.
pertCharge

This NUMBER represents the final electrostatic point charge on an ATOM during a Free Energy Perturbation.

For RESIDUEs:

connect0

This defines an ATOM that is used in making links to other RESIDUEs. In UNITs containing single RESIDUEs, the RESIDUEsS connect0 ATOM is usually defined as the UNIT's head ATOM.
connect1

This is an ATOM property which defines an ATOM that is used in making links to other RESIDUEs. In UNITs containing single RESIDUEs, the RESIDUEsS connect1 ATOM is usually defined as the UNIT's tail ATOM.
connect2

This is an ATOM property which defines an ATOM that can be used in making links to other RESIDUEs. In amino acids, the convention is that this is the ATOM to which disulphide bridges are made.
connect3

This is an ATOM property which defines an ATOM that can be used in making links to other RESIDUEs.
connect4

This is an ATOM property which defines an ATOM that can be used in making links to other RESIDUEs.
connect5

This is an ATOM property which defines an ATOM that can be used in making links to other RESIDUEs.
restype

This property is a STRING that represents the type of the RESIDUE. Currently, it can have one of the following values: "undefined", "solvent", "protein", "nucleic", or "saccharide".
name

This STRING property is the RESIDUE name.

For UNITs:

head

Defines the ATOM within the UNIT that is connected when UNITs are joined together: the tail ATOM of one UNIT is connected to the head ATOM of the subsequent UNIT in any sequence.
tail

Defines the ATOM within the UNIT that is connected when UNITs are joined together: the tail ATOM of one UNIT is connected to the head ATOM of the subsequent UNIT in any sequence.
box

The property defines the bounding box of the UNIT. If it is defined as null then no bounding box is defined. If the value is a single NUMBER then the bounding box will be defined to be a cube with each side being NUMBER of angstroms across. If the value is a LIST then it must be a LIST containing three numbers, the lengths of the three sides of the bounding box.
cap

The property defines the solvent cap of the UNIT. If it is defined as null then no solvent cap is defined. If the value is a LIST then it must contain four numbers, the first three define the Cartesian coordinates (X, Y, Z) of the origin of the solvent cap in angstroms, the fourth NUMBER defines the radius of the solvent cap in angstroms.

setBox

setBox unit [ buffer OR buffer_xyz_list ]
UNIT unit
The setBox command adds a periodic box to the UNIT, turning it into a periodic system for the simulation programs. It does not add any solvent to the system, but otherwise works the same way as the solvateBox command. See that command for a description of the buffer variable, which determines how far away the box boundaries are from the atoms of the unit.

solvateBox

solvateBox solute solvent buffer [ iso ] [ closeness ]
UNIT solute
UNIT solvent
object buffer
NUMBER closeness
The solvateBox command creates a solvent box around the solute UNIT. The solute UNIT is modified by the addition of solvent RESIDUEs.

The user may want to first align long solutes that are not expected to tumble using alignAxes, in order to minimize box volume.

The normal choice for a TIP3 _solvent_ UNIT is WATBOX216. Note that constant pressure equilibration is required to bring the artificial box to reasonable density, since Van der Waals voids remain due to the impossibility of natural packing of solvent around the solute and at the edges of the box.

The solvent UNIT is copied and repeated in all three spatial directions to create a box containing the entire solute and a buffer zone defined by the buffer argument. The buffer argument defines the distance, in angstroms, between the wall of the box and the closest ATOM in the solute. If the buffer argument is a single NUMBER, then the buffer distance is the same for the x, y, and z directions, unless the 'iso' option is used to make the box cubic, with the shortest box clearance = buffer. If the buffer argument is a LIST of three NUMBERS, then the NUMBERs are applied to the x, y, and z axes respectively. As the larger box is created and superimposed on the solute, solvent molecules overlapping the solute are removed.

The optional closeness parameter can be used to control how close, in angstroms, solvent ATOMs can come to solute ATOMs. The default value of the closeness argument is 1.0. Smaller values allow solvent ATOMs to come closer to solute ATOMs. The criterion for rejection of overlapping solvent RESIDUEs is if the distance between any solvent ATOM to the closest solute ATOM is less than the sum of the ATOMs VANDERWAAL distances multiplied by the closeness argument.

This command modifies the _solute_ UNIT in several ways. First, the coordinates of the ATOMs are modified to move the center of a box enclosing the Van der Waals radii of the atoms to the origin. Secondly, the UNIT is modified by the addition of _solvent_ RESIDUEs copied from the _solvent_ UNIT. Finally, the box parameter of the new system (still named for the _solute_) is modified to reflect the fact that a periodic, rectilinear solvent box has been created around it.

In this example, it is assumed that the file water.lib, containing WATBOX216, has been loaded already (as is done by the default leaprc):

>> mol = loadpdb my.pdb
>> solvateBox sol WATBOX216 10
Solute vdw bounding box: 7.512 12.339 12.066
Total bounding box for atom centers: 27.512 32.339 32.066
Solvent unit box: 18.774 18.774 18.774
Total vdw box size: 30.995 35.538 35.416 angstroms.
Total mass 14470.768 amu, Density 0.616 g/cc
Added 785 residues.

Again, note that the density of 0.601 g/cc points to the need for constant pressure equilibration. (See the discussion of equilibration in the Q&A section of the amber web.)

solvateCap

solvateCap solute solvent position radius [ closeness ]
UNIT solute
UNIT solvent
object position
NUMBER radius
NUMBER closeness
The solvateCap command creates a solvent cap around the solute UNIT. The solute UNIT is modified by the addition of solvent RESIDUEs. The solvent box will be repeated in all three spatial directions to create a large solvent sphere with a radius of radius angstroms.

The position argument defines where the center of the solvent cap is to be placed. If position is a UNIT, RESIDUE, ATOM, or a LIST of UNITs, RESIDUEs, or ATOMs, then the geometric center of the ATOMs within the object will be used as the center of the solvent cap sphere. If position is a LIST containing three NUMBERS, then the position argument will be treated as a vector that defines the position of the solvent cap sphere center.

The optional closeness parameter can be used to control how close, in angstroms, solvent ATOMs can come to solute ATOMs. The default value of the closeness argument is 1.0. Smaller values allow solvent ATOMs to come closer to solute ATOMs. The criterion for rejection of overlapping solvent RESIDUEs is if the distance between any solvent ATOM to the closest solute ATOM is less than the sum of the ATOMs VANDERWAAL's distances multiplied by the closeness argument.

This command modifies the solute UNIT in several ways. First, the UNIT is modified by the addition of solvent RESIDUEs copied from the solvent UNIT. Secondly, the cap parameter of the UNIT solute is modified to reflect the fact that a solvent cap has been created around the solute.

>> mol = loadpdb my.pdb
>> solvateCap mol WATBOX216 mol.2.CA 8.0 2.0
Added 3 residues.

solvateDontClip

solvateDontClip solute solvent buffer [ closeness ]
UNIT solute
UNIT solvent
object buffer
NUMBER closeness
This command is identical to the solvateBox command except that the solvent box that is created is not clipped to the boundary of the buffer region. This command forms larger solvent boxes than does solvateBox because it does not cause solvent that is outside the buffer region to be discarded. This helps to preserve the periodic structure of properly constructed solvent boxes, preventing hot-spots from forming.

>> mol = loadpdb my.pdb
>> solvateDontClip mol WATBOX216 10
Solute vdw bounding box: 7.512 12.339 12.066
Total bounding box for atom centers: 27.512 32.339 32.066
Solvent unit box: 18.774 18.774 18.774
Total vdw box size: 41.120 40.899 41.075 angstroms.
Total mass 30595.088 amu, Density 0.735 g/cc
Added 1680 residues.

Note the larger number of waters added, compared to solvateBox; in the case of this solute and choice of buffer, the overall box size is increased by about 10 angstroms in each direction.

solvateOct

solvateOct solute solvent buffer [iso] [ closeness ]
UNIT _solute_
UNIT _solvent_
object _buffer_
NUMBER _closeness_
The solvateOct command is the same as solvateBox, except the corners of the box are sliced off, resulting in a truncated octahedron, which typically gives a more uniform distribution of solvent around the solute. In solvateOct, when a LIST is given for the buffer argument, four numbers are given instead of three, where the fourth is the diagonal clearance. If 0.0 is given as the fourth number, the diagonal clearance resulting from the application of the x,y,z clearances is reported. If a non-0 value is given, this may require scaling up the other clearances, which is also reported. If the 'iso' option is used, the isometric truncated octahedron is rotated to an orientation used by the sander PME code.

solvateShell

solvateShell solute solvent thickness [ closeness ]
UNIT solute
UNIT solvent
NUMBER thickness
NUMBER closeness
The solvateShell command adds a solvent shell to the solute UNIT. The resulting solute/solvent UNIT will be irregular in shape since it will reflect the contours of the solute. The solute UNIT is modified by the addition of solvent RESIDUEs. The solvent box will be repeated in three directions to create a large solvent box that can contain the entire solute and a shell thickness angstroms thick. The solvent RESIDUEs are then added to the solute UNIT if they lie within the shell defined by thickness and do not overlap with the solute ATOMs. The optional closeness parameter can be used to control how close solvent ATOMs can come to solute ATOMs. The default value of the closeness argument is 1.0. Please see the solvateBox command for more details on the closeness parameter.

>> mol = loadpdb my.pdb
>> solvateShell mol WATBOX216 8.0
Solute vdw bounding box: 7.512 12.339 12.066
Total bounding box for atom centers: 23.512 28.339 28.066
Solvent unit box: 18.774 18.774 18.774
Added 147 residues.

source

source filename
STRING filename
This command executes commands within a text file. To display the commands as they are read, see the verbosity command. The text within the source file is formatted exactly like the text the user types into LEAP. If a file named "paths.cmd" contains the following lines:

addPath /disk/howard/LeapTests
addPath /disk/howard/LeapTests/Cholesterol
addPath /disk/howard/LeapTests/Ethane
addPath /disk/howard/LeapTests/Solvents
addPath /disk/howard/LeapTests/Trp

"source"ing it will produce the output listing shown below.

> source paths.x
>> addPath /disk/howard/LeapTests
/disk/howard/LeapTests added to file search path.
>> addPath /disk/howard/LeapTests/Cholesterol
/disk/howard/LeapTests/Cholesterol added to file search path.
>> addPath /disk/howard/LeapTests/Ethane
/disk/howard/LeapTests/Ethane added to file search path.
>> addPath /disk/howard/LeapTests/Solvents
/disk/howard/LeapTests/Solvents added to file search path.
>> addPath /disk/howard/LeapTests/Trp
/disk/howard/LeapTests/Trp added to file search path.

transform

transform atoms, matrix
CONT atoms
LIST matrix
Transform all of the ATOMs within atoms by the ( 3 3 ) or ( 4 4 ) matrix represented by the nine or sixteen NUMBERS in the LIST of LISTs matrix. The general matrix looks like:

r11 r12 r13 -tx
r21 r22 r23 -ty
r31 r32 r33 -tz
0 0 0 1

The matrix elements represent the intended symmetry operation. For example, a reflection in the (x, y) plane would be produced by the matrix:

1 0 0
0 1 0
0 0 -1

This reflection could be combined with a six angstrom translation along the x-axis by using the following matrix.

1 0 0 6
0 1 0 0
0 0 -1 0
0 0 0 1

In the following example, wrB is transformed by an inversion operation:

transform wrpB {
{ -1 0 0 }
{ 0 -1 0 }
{ 0 0 -1 }
}

translate

translate atoms direction
CONT atoms
LIST direction
Translate all of the ATOMs within atoms by the vector defined by the three NUMBERS in the LIST direction.

Example:

translate wrpB { 0 0 -24.53333 }

verbosity

verbosity level
NUMBER level
This command sets the level of output that LEAP provides the user. A value of 0 is the default, providing the minimum of messages. A value of 1 will produce more output, and a value of 2 will produce all of the output of level 1 and display the text of the script lines executed with the source command. The following line is an example of this command:

> verbosity 2
Verbosity level: 2

zMatrix

zMatrix object zmatrix
CONT object
LIST matrix
The zMatrix command is quite complicated. It is used to define the external coordinates of ATOMs within object using internal coordinates. The second parameter of the zMatrix command is a LIST of LISTs; each sub-list has several arguments:

{ a1 a2 bond12 }

This entry defines the coordinate of a1 by placing it bond12 angstroms along the x-axis from ATOM a2. If ATOM a2 does not have coordinates defined then ATOM a2 is placed at the origin.

{ a1 a2 a3 bond12 angle123 }

This entry defines the coordinate of a1 by placing it bond12 angstroms away from ATOM a2 making an angle of angle123 degrees between a1, a2 and a3. The angle is measured in a right hand sense and in the x-y plane. ATOMs a2 and a3 must have coordinates defined.

{ a1 a2 a3 a4 bond12 angle123 torsion1234 }

This entry defines the coordinate of a1 by placing it bond12 angstroms away from ATOM a2, creating an angle of angle123 degrees between a1, a2, and a3, and making a torsion angle of torsion1234 between a1, a2, a3, and a4.

{ a1 a2 a3 a4 bond12 angle123 angle124 orientation }

This entry defines the coordinate of a1 by placing it bond12 angstroms away from ATOM a2, making angles angle123 between ATOMs a1, a2, and a3, and angle124 between ATOMs a1, a2, and a4. The argument orientation defines whether the ATOM a1 is above or below a plane defined by the ATOMs a2, a3, and a4. If orientation is positive then a1 will be placed in such a way so that the inner product of (a3-a2) cross (a4-a2) with (a1-a2) is positive. Otherwise a1 will be placed on the other side of the plane. This allows the coordinates of a molecule like fluoro-chloro-bromo-methane to be defined without having to resort to dummy atoms.

The first arguments within the zMatrix entries ( a1, a2, a3, a4 ) are either ATOMs or STRINGS containing names of ATOMs within object. The subsequent arguments are all NUMBERS. Any ATOM can be placed at the a1 position, even those that have coordinates defined. This feature can be used to provide an endless supply of dummy atoms, if they are required. A predefined dummy atom with the name "*" (a single asterisk, no quotes) can also be used.

There is no order imposed in the sub-lists. The user can place sub-lists in arbitrary order, as long as they maintain the requirement that all atoms a2, a3, and a4 must have external coordinates defined, except for entries that define the coordinate of an ATOM using only a bond length. (See the add command for an example of the zMatrix command.)

 


[Contents] [Previous] [Next]
Updated on January 5, 2000. Comments to case@scripps.edu