GEOMCALC (CCP4: Supported Program)
- molecular geometry calculations.
Read and store molecule, then do various geometry calculations,
according to commands.
- - fit subset of atoms to plane
- - calculate deviation of atoms from plane
- - calculate atom - atom distances
- - calculate bond angles
- - calculate torsion angles
Available keywords are:
The syntax of an atom-name is
i.e. with the 3 components separated by the delimiters | and
If either <chain-name> or <residue_number> are omitted,
to the previously used value (initially blank and 1 respectively).
Note that atom-specifiers are case-sensitive.
READ [<input file name>]
Read molecule from file & store. If the filename is not given,
the logical name XYZIN is used. Any previously stored molecule
will be overwritten. On entry to the program, it will always try
to read XYZIN.
PLANE [<plane_number>] [+]
<atom-names> | ALL
List atom names to define plane. If the first token is +, these
atoms will be added to a previously defined plane. Otherwise, a
PLANE command will replace a previously defined plane.
The direction of the plane normal is defined as approximately parallel
to the vector (xyz2-xyz1) x (xyz3-xyz1), where
xyz1, xyz2, xyz3 are the coordinates of atoms 1,2,3
If plane_number is given, then this command defines this plane
and makes it the current plane. If it is not set, the plane-number
defaults to 1.
If the keyword ALL is given instead of an atom list, all atoms
will be used. This may be useful for finding the principal directions
of a whole molecule.
FROMPLANE <atom-names> | POINT
<x> <y> <z>
Calculate perpendicular distance of listed atoms (or point) from
current plane (i.e. the last one defined, or the one set with
Calculate distance between the centres of two previously defined
planes. This is usually only sensible if the two planes are essentially
Print coordinates of specified atom
Calculate distance between named atoms
ANGLE <atom-name1> <atom-name2>
Calculate angle between named atoms, i.e. between the vectors 2 -> 1
and 2 -> 3.
<atom-name2> <atom-name3> <atom-name4>
Calculate torsion angle between named atoms
Transform all stored atoms into frame of previously defined plane,
i.e. put origin at centre of plane, with the major axis along
x and the
plane normal along z.
Note that all currently defined planes will also be transformed into
the new frame.
XAXIS <atom-name1> <atom-name2>
Redefine transformation for the current plane to put the plane normal
along z and the vector vx = <atom-name1> -> <atom-name2>
in the xz plane
(i.e. the projection of vx on the plane is put along x). This
be used for any subsequent TRANSFORM commands. It allows for a
frame definition for a series of related but different planes.
CENTRE <atom-name> | <x>
Redefine the centre of the current plane, either to the position of an
or to the given coordinates. This will shift the origin
of subsequent TRANSFORM operations, but will mangle future FROMPLANE
commands (unless the new centre lies in the plane).
WRITE [<output file name>]
Write out stored coordinates to file (normally after a TRANSFORM
If the filename is omitted, the logical name XYZOUT is used.
Define current plane number: this plane must have been previously
defined with a PLANE command.
Calculate angle between two previously defined planes.
TILT <atom-name1> <atom-name2> |
<dx> <dy> <dz>
Calculate angle between vector and the normal to the current plane.
The vector may be
defined either as <dx> <dy> <dz>, or as
<atom-name1> -> <atom-name2>
Phil Evans, MRC LMB, September 1995
Plane fit algorithm stolen from Judd Fermi