MAKE

MAKE.TEX 29-MAR-94

The command word order is important only for the first 2 command words (MAKE BOND ...). The remaining command words can follow in any order. Something is MADE from something else. For example a covalent BOND list is made from the TOPOLOGY library.

BOND

MAKE BOND FROM RESIDUES

                ZTABLE
                TOPOLOGY
                ATOM  atom-num1 iatom-num2  DROP
                                            APPEND
           APPEND
           INITIALIZE
           SELECT ... END

BONDS and CTABLE are only two different ways of the connection table presentation. By make BONDS covalent BONDS are created or their multiplicity (bond order) is modified. MAKE BOND makes or modifies the covalent BONDS of the SELECTED atoms

When after an ATOM definition DROP or APPEND is applied, the BOND order of that particular bond can be increased or decreased. The bond list can be INITIALIZED. By default the newly created BONDS are APPENDED to already existing ones.

CTABLE

BONDS and CTABLE are only two different ways of presentation of the connection table. So see MAKE BOND.

ZTABLE

MAKE ZTABLE FROM CTABLE / BONDS

                      TOPOLOGY
               (APPEND)
               INITIALIZE
               SELECT ... END (ALL)

ZTABLE records are parts of INTERNAL coordinates records. In the ZTABLE the reference atoms for the distance, angle and dihedral angle are stored.

The ZTABLE can be created from the CTABLE by a search through the neighbouring atoms. However, since the reference atoms, should have lower number than the atom they define, the order of the atoms influences the ZTABLE and can result in the ``holes'' in it. A hole in ZTABLE is, when an atom has less than 3 reference atoms. The holes can be corrected in the INTERNAL_COORDINATE module. The ZTABLE can be INITIALIZED or the new references can be APPENDED to already existing ones. The default SELECTION is the ALL.

PAIR

MAKES a PAIR list by adding a single pair (atom-num1/2) or the whole set of pairs.

Syntax


MAKE   PAIR   atom-num1 atom-num2
              INITIALIZE
              APPEND


              SELECT ... END    SELECT ... END
              SEQUENCE
              ATOM
              INVERT


              RAMACHANDRAN

INITIALIZE


... INITIALIZE

INITIALIZE the PAIR list (Sets the pair counter to zero).

APPEND


... APPEND ...

APPEND is the opposite from INITIALIZE. This is the default.

INVERT


... ... INVERT

INVERTS the second column of the PAIR list, so that the last in the column becomes the first one and so on.

SELECT ... END


... SELECT ... END

Usually 2 SELECTIONS have to be defined, since the PAIR generation pairs the first atom from the first SELECTION with the first from the second SELECTION, the second from the first selection with the second from the second selection and so on. The pair generation stops when no more atoms are found in the first or in the second selection.

SEQUENCE


... SEQUENCE

PAIRS only atoms that belong to the residues with the same SEQUENCE name.

ATOM


... ATOM

PAIRS ATOMS of a residue from the first SELECTION with a residue in the second SELECTION by matching the atoms according to their ATOM NAMES.

RAMACHANDRAN


... RAMACHANDRAN

Generates PAIRS of atoms so that their INTERNAL dihedral coordinates represent PHI and PSI dihedral angels of the peptide chain. Only one SELECTION is required. So generated pair list is necessary for displaying the RAMACHANDRAN plot with the GRAPH routines.

POINTS

Major purpose of the following conversions is to extract information from electron density MAPs, that can be used either for density maxima analyzes (in a map skeletonization cross vector verification or in identification for solvent sites) for correlation of atomic model with electron density (FROM ATOMS and BONDS).

The MAKE POINTS can serve also as intermediate storage of positions and density in conversions between ATOMS and MAP(S).

Syntax


MAKE POINT INITIALIZE
           APPEND
           FROM ATOMS MAP inte
                      SELECT ... END
                BONDS MAP inte
                      SELECT ... END
                      DIVISIONS   inte
                MAP inte LOCAL  inte
                         PICK   real2 real2  real3
                         WEIGHT real1 real2
                         RANGE  real1 real2
                         CUT
                         CENTER  (see SET CENTER)
                         RADII  real1 [real2]
                         BOX  6*inte

INITIALIZE


... INITIALIZE

INITIALIZES the POINT list. (Sets the POINT counter to zero.)

APPEND


... APPEND

APPENDS newly created points to the present ones. This is the default.

FROM


... FROM ...

POINTS will be created either from ATOMS, along covalent BONDS or at grid positions of a MAP. The word FROM is here to increase readability of the syntax.

ATOMS


... ATOMS SELECT ... END
         MAP inte

When ATOM is specified POINTS are created from the SELECTED atom positions and the density is calculated from the 8 closest MAP grid points by a linear interpolation algorithm. There is no default SELECTION or MAP.

BONDS


... BONDS SELECT ... END
         MAP inte
         DIVISON  inte

POINTS are calculated along the covalent BONDS between the SELECTED atoms. The 'inte' specifies the number of DIVISIONS (points) generated along each BOND. The density at each point is calculated from the chosen MAP by a linear interpolation algorithm from the 8 closest map grid points. There is no default SELECTION or MAP.

MAP


... MAP inte LOCAL  inte
             PICK   real2 real2  real3
             WEIGHT real1 real2
             RANGE  real1 real2
             CUT
             CENTER  (see SET CENTER)
             RADII  real1 [real2]
             BOX  6*inte
             AROUND 3*inte

POINTS are extracted from a MAP with a search algorithm. For description see below.

PICK


... PICK   real1 real2  real3 MAP ...

PICKS POINTS in a chosen MAP with a second order Polinomyal search around each grid point that has higher density than real1. Polinomyal coefficients are defined by a least square fit procedure from the 125 surrounding MAP grid points. POINTS that have lower calculated value than real2 and that are more than real3 of GRID in any direction away from the origin grid point are rejected. (This is a computationally slow procedure. Its use has been replaced by the WEIGHT option.)

WEIGHT


... WEIGHT (real1 real2)

Applies the WEIGHTING algorithm for the point search. Map grid points, which density values are in the specified range real1 real2 (RANGE can be specified with the RANGE or with the WEIGHT command), are transformed to POINTS so, that first the intervals of grid points laying along the X direction with the density values inside the range are found and then their WEIGHTING CENTER is calculated. Weights are the density values, and the generated point obtains the weighting center coordinates.

RANGE


... RANGE  real1 real2

From each MAP grid point with the density value in the specified density range, a density POINT is generated.

CUT


...

By default the points are generated anywhere in the space from the current (IMAGE) CENTER for the specified BOX sizes. With the CUT the points can be generated only within the MAP boundaries. The generation of points outside MAP boundaries is not performed.

CENTER


... CENTER ...

See SET CENTER for the CENTER definitions.

RADII


... RADII real1 [real2]

Defines the RADIUS of the sphere around the CENTER, inside which points are to be generated. When both RADII are specified then only the grid points at the distances between the specified RADII from the CENTER are chosen.

BOX


... BOX 6*int

The area for the point generation can be defined also exactly in the grid coordinates by the BOX command. The BOX is defined from the point (int1, int2, int3) to the point (int4, int5, int6). (CUT can modify the boundaries.) The default BOX is the whole map.

AROUND


... AROUND 3*int

The AROUND redefines the BOX by setting new limits. New BOX expands for specified number of grid points away from the CENTER position in all directions.

LOCAL


... LOCAL inte

POINTS are created at positions of the LOCAL maxima as found by a MAKE MAP LOCAL sentense, their density value is however taken from the MAP.

ATOMS

MAKE ATOMS SELECT ... END

            MERGE   DISTANCE  real
                    RESIDUE
! RING inte

            FROM  ATOMS
                  BONDS
                  COORDINATES  3*real
                  POINTS  REINDEX

MAKES ATOM(S) from POINTS, position (COORDINATES) or modifys the atoms by the ATOM MERGE procedures that on the base of connectivities rearranges the atom arrays. By default all atoms are selected.

POINTS


... POINTS   REINDEX

Makes ATOMS (as dummies with the ATOM NAME 'X ') in positions of all SELECTED POINTS. All newly created atom are joined within a single residue and segment. WEIGHT of the atom is filled with the point value. REINDEX is an option that, after an atom has been created at the current point position, modifies the point atom index to the newly created atom.

COORDINATES


... COORDINATE 3*real

Only one atom at position 3*real (x,y,z) is created.

MERGE


... MERGE    SELECT ... END
             DISTANCE real
             RESIDUE

Reduces the number of atoms by MERGING the SELECTED atoms into each other.

DISTANCE


... DISTANCE real

When DISTANCE is specified, the atoms forming covalent BOND pairs that are closer than the specified DISTANCE, are MERGED together. The MERGED atom has coordinates of the arithmetic middle of the pair and keeps all covalent BOND connections to the rest of the atoms. Atoms are MERGED in many cycles so that finally there is not a single pair that could be MERGED accoridng to the specified DISTANCE criterion. However, a pair of atoms connected only to each other can not be MERGED.

RESIDUES


... RESIDUES

All atoms inside a covalent BONDING network are MERGED into a single ATOM placed at their arithmetic middle. No covalent bonds are kept.

MAP

The MAKE MAP inte command acts on the referenced MAP usually exploiting data present in the FROM map.

Each MAP has a header including cell constants, GRIDS and a BOX (or a layout) and array of density data (grid points). Data are stored in arrays of character*1 (CHARACTER), integer*2 (INTG*2), integer*4 (INTEGER), real*4 (REAL or NUMBER) and complex (COMPLEX) values. Full functionality can be exploited only with REAL*4 maps. The code does not fully support maps in integer*2, integer*4 or complex form so please stick to the examples.

A grid point is masked when its value is 255 (character*1 MAP) or greater than 9999.0 (of the real*4 MAP). A grid point is assumed to be empty when its value is 0 (character map) or smaller than -9999.0 (real*4) map. All values in between the masked and empty region are considered as electron density region.

Syntax


MAKE MAP  inte   FROM inte
                 INITIALIZE  inte
                 BOX   6 * inte
                 GRID inte inte inte
                 CHARACTER
                 NUMBER


                 LOCAL
                 AROUND inte
                 SET    inte  inte real
                 ZERO
                 COPY
                 ATOM  RADII
                       MASK real
                       CLEAR real
                       DENSITY
                       DISTANCE real
                       HIGHER
                       SYMMETRY  [inte]
                 SELECT ... END
                 FILL  inte
                 REMOVE  inte
                 EXPAND
                 SHRINK
                 ROTATE   MATRIX inte
                          RMS
                          CENTER  3*real
                 TRANSLATE    VECTOR   3* real   DISTANCE real
                              RMS
                 CENTER
                 ADD
                 OVER
                 MULTIPLY
                 SCALE   real
                 RESCALE
                 INVERT
                 MERGE  WEIGHTED real1 real2
                        HIGHER
                 CELL
                 CUT / DENSITY   real
                 RADII     real
                 WEIGHT   LINEAR
                          GAUSSIAN
                 ANALYZE  STEP  inte
                          RANGE real

CHARACTER

MAKE MAP 1 FROM 0 CHARACTER ...

A new CHARACTER*1 MAP is to be created.

NUMBER

MAKE MAP 1 FROM 0 NUMBER ...

A new real*4 MAP is to be created. NUMBER is synonym of REAL.

REAL

MAKE MAP 1 FROM 0 REAL ...

A new real*4 MAP is to be created. REAL is synonym of NUMBER.

COMPLEX

MAKE MAP 1 FROM 0 COMPLEX ...

A new COMPLEX map is to be created.

INTEGER

MAKE MAP 1 FROM 0 INTEGER ...

A new integer*4 map is to be created.

INTG*2

MAKE MAP 1 FROM 0 INTG2 ...

A new integer*2 map is to be created.

GRID


... GRID 3*inte

In the case when a new map is created FROM 0 MAP (no map), the number of grid points per unit cell length must be defined to build it. BOX has to be defined explicitly as well. The map cell constants are taken from the current MAIN cell constants. By default the cell constants are set to 1.0 A for the lengths and 90.0 degrees for the angles.

See also AUTO_GRID.

AUTO_GRID


... AUTO_GRID real

When AUTO_GRID is used, the number of grdi points along each unit cell axes are calculated from the used unit cell and resolution limits of the diffraction data used:


 ngrid = ucell / resol_max * auto_grid

The default AUTO_GRID multiplier is 3.05 but you can provide your own value.

CELL


... CELL

Fills the map by the values of grid points of the reference (FROM) map applying all crystal symmetry operations. The CELL MAP should at the beginning be INITIALIZED to an empty map, since only the points different from 0(character map) and smaller than -9999 in the real map are overwritten by the program.

When CELL is used within the same command as INITIALIZE then, it only defines a unit cell BOX.

FROM


... FROM inte

Assigns the FROM inte MAP as the reference MAP. When the reference map does not exist (the FROM inte is 0), then a new map can be created only if the GRIDS, BOX or AROUND and INITIALIZE options of the MAKE MAP are specified. It is recommended to have read the CELL constants, since their default values are 1.0 1.0 1.0 and 90.0, 90.0, 90.0.

INITIALIZE


... INITIALIZE inte

Creates and INITIALIZES a map. The reference (FROM) MAP is required. By default the new map is filled with zeros [0]. If some other value is desired it should be specified by the inte.

SET


... SET inte inte real

SETs all grid points stored inside the specified integer interval to the real value.

When combined with the BOX command it is possible to limit the SET command to a ceratin map region (BOX).

By character maps the integer numbers [0-255] refer to the internal program presentation of density values and not to the real density values themselves.

ZERO

Sets the whole map to ZERO regardles of a map grid point value. This command was added because sometimes intervals specified through a SET command were not enough.

SELECT


... SELECT ... END

A SELECTION is applied by ATOM mask or density generation, or when the boundaries (BOX) of the INITIALIZED map are defined indirectly AROUND an atom SELECTION. For the syntax see SELECT.

BOX


... BOX 6* inte

BOX defines the positioning of the new map in grdi oordinates. By default (when no BOX or AROUND SELECTION are specified) the map size is copied from the reference (FROM) map. The first 3 inte define the origin point of the new map (the lowest grid point coordinates), whereas the last 3 inte define the highest grid point coordinates.

BOX can be used also in combination with the SET command. CELL command word with INITIALIZE generates a unit cell BOX.

AROUND


... AROUND inte

Sets the new MAP boundaries AROUND the SELECTED atoms with a boundary of inte grid points. The inte can be also a negative number. It works only when a map is INITIALIZED.

FILL

MAKE MAP int1 FROM int2 FILL int3

FILLS the holes in the MAKE MAP mask, when the number of grid points from an empty grid point to the masked region along the X, Y or Z axes on both sides is smaller than the specified int3. The MAP int1 and the referenced FROM map are assumed to be equal by size and content at the beginning of the procedure.

It is an opposite of MAKE MAPE REMOVE.

REMOVE

MAKE MAP int1 FROM int2 REMOVE int3

REMOVES grid points from the MAKE MAP mask, when along the X, Y or Z axes an all sides in the range of int3 grid points an empty grid point in the masked region is found. The MAP int1 and the referenced FROM map are assumed to be equal by size and content at the beginning of the procedure.

It is a kind of contrary of MAKE MAPE FILL.

EXPAND


... EXPAND

EXPANDS a masked region for one grid point. Any grid point whose neighbor is at least one masked point is turned to a mask.

SHRINK

SHRINK a masked region for one grid point. Any MASKED point that has at least one neighbor point not masked becomes empty.

COPY


... COPY

Copies the density values from the reference (FROM inte) map to the masked map (MAKE MAP inte) grid points. See also MAKE MAP INVERT.

SCALE


... SCALE real

SCALES all density points of a MAKE MAP by a real number.

RESCALE


... RESCALE

RESCALE modifies a MAKE MAP first by subtracting its average value from each density grid point and then dividing by its sigma value. A new average value of the grid points that are either not masked or empty becomes zero, and their standard deviation 1.

SHIFT


... SHIFT real

Shifts a map grid point values for the specified real.

RESHIFT


... RESHIFT

Shifts a map so that its average density region value is RESHIFTED to zero.

INVERT


... INVERT

INVERT is similar to the COPY command, it however allows to combine the COPY with SHIFT, RESHIFT, SCALE and RESCALE of the map. To be used for solvent regions flipping (Abrahams, Act. Crys. D52, 30-42) with SCALE -1.0 and RESHIFT.

ROTATE


... ROTATE   MATRIX inte
         RMS
         CENTER  3*real


... TRANSLATE    VECTOR   3* real   [real]
                 RMS

Each masked point is translated and rotated by the specified TRANSLATION and ROTATION parameters as defined below into the FROM map electron density. Density at a masked point is then defined by interpolation from the corresponding 8 surrounding points of the reference map. WAKE UP, this place is a very common source of error, since it appears somehow 'self-evident', that density is rotated into the mask, and not vice versa (as the program actually operates).

The order in which TRANSLATION and ROTATION operators are specified is also important. When TRANSLATION is defined before ROTATION then it is also applied before and vice versa. Points are translated for the specified vector. The fourth real is optional, when it is specified then the vector gives only the direction, the length of translation is specified by the fourth number. RMS takes the translation vector obtained from the RMS fit routine. ROTATION parameter MATRIX inte defines the rotation matrix (1 to 8 ). RMS takes rotational parameters from the last RMS fit calculation. The CENTER redefines the center of rotation. By default it is set to the origin (0.0, 0.0, 0.0). When there is NO TRANSLATION, the translation vector should be specified anyway by the VECTOR 0.0 0.0 0.0 syntax.

TRANSLATE


... TRANSLATE    VECTOR   3* real   [real]
                 RMS

See MAKE MAP ROTATE.

ADD


... ADD

Two maps can be ADDED within MAIN. When a larger set of character*1 maps have to be averaged, the maps should be written as files to a disk and averaged by the program AVEMAP. For real*4 maps there are no limitations. You have to remember that only the density points are ADDED together and that empty and masked points remain unchanged. ADDING of a density point with an empty or masked point results in an empty point, thus removing the inconsistant points from different molecular envelopes.

MULTIPLY


... MULTIPLY

Two real*4 maps can be MULTIPLIED within MAIN. It should be remembered that only the density points are MULTIPLIED together and that empty and masked points remain unchanged. MULTIPLYING of a density point with an empty or masked grid point results in an empty point.

MERGE


... MERGE WEIGHT real1 real2
          HIGHER

MERGES density values at the same grid points of a unit cell FROM the specified MAP and the MAKE MAP together and writes the result into the MAKE MAP. When a grid points in a FROM map is empty or masked, the MAKE MAP is not influenced. When a grid point in a MAKE MAP is empty or masked, the value from a FROM map is copied into the corresponding MAKE MAP grid point. In the case when the MAKE MAP is a CHARACTER*1 map, value of a grid point is simply copied from the FROM map.

The WEIGHTED alternative premultiplies values of each merging points from the FROM (real1) and MAKE MAP (real2) map and then add them together, while by HIGHER option the FROM map replaces the point values of the MAKE MAP only when they both have the same sign and the FROM map has more extreme values. (Used is a density combination application.)

CUT

MAKE MAP 2 FROM 1 CUT real

CUT and DENSITY are synonyms that define the density threshold below which no grid points from the FROM map will contribute to the total density sum in a sphere defined with RADIUS real. The sum of electron density will be WEIGHTED by the distance if required and written to the specified MAP. The WEIGHTED sum corresponds to the standard solvent flattening procedure described by Wang (Wang et. al., 1985). After this the summed map is to be ANALYZED, and afterwards a proper envelope with a specified portions of the density can be chosen.

RADIUS

MAKE MAP 2 FROM 1 RADIUS real

See MAKE MAP ... CUT.

WEIGHT


... WEIGHT  LINEAR
            GAUSSIAN real

Uses the distance WEIGHTING when summing density points within a sphere. Either LINEAR or GAUSSIAN weights within the specified RADIUS are used. MAKE MAP FROM WEIGHT LINEAR RADIUS real CUT 0.0 is the standard real space solvent flattening (Wang 1985, Meth. Enzym. 115). Resulting map is then used for envelope calculation based on map histogram (MAKE MAP ANALYZE).

GAUSSIAN gives better results.

RMS


... RMS LINEAR
        GAUSSIAN real

Is essentially the same as the WEIGHTed procedure. The difference is that here the weighted RMS deviations of the local density is summed instead of the density by itself. (the idea originates from Abrahams and Leslie, 1996, Acta Cryst. D52)

ANALYZE

MAKE MAP 2 ANALYZE STEP inte

                    RANGE real

After a map has been ANALYZED with an ANALYZE MAP command sentence, its grid points have been counted for each density interval. This list can be accessed either by the STEP command, where the density values below the STEP are set to a CLEAR area, and values above the STEP are set to a MASKED area. RANGE values can be defined between 0.0 and 1.0, where a STEP closest to the specified RANGE of the map interval histogram is chosen. 0.0 means no points are cut away into the CLEAR area and 1.0 means that all points are CLEARED. See also MAKE MAP CUT.

ATOM


... ATOM RADII
         MASK    real
         CLEAR   real
         DENSITY
         HIGHER
         SYMMETRY inte
         FUNCTION   GAUSSIAN
                    LINEAR

Uses atoms to create MASK, CLEAR density or generate electron density in a map also by applying symmetry operations.

RADII

Instead of a fix number, the current atomic RADII settings (SET RADII command) are used. Use this option when trying to avoid overlap between local and crystal symmetry related molecules. (See: SET RADII OVERLAP real real SELECT ... END SELECT ... END)

MASK


... MASK real   SELECT ... END

Defines a MASK: sets values of grid points that are closer than the specified real radius (in Angstroems) to any SELECTED atom. If RADII has been specified, then atomic radia are taken from the atomic radii settings. The character MAP grid points are set to 255 and the real MAP grid points to 9999.

CLEAR


... CLEAR real   SELECT ... END

CLEARS a map region: sets values of grid points that are closer than the specified real (in Angstroems) to any SELECTED atom. If RADII has been specified, then atomic radia are taken from the atomic radii settings. The character MAP grid points are set to 0 and the real MAP grid points to -9999.

DENSITY


... DENSITY  SELECT ... END

Adds a gaussian approximation of electron density of an atom to the grid points of a map region. Works only for real*4 maps. Use it in combination with ATOM SYMMETRY [int1 int2]. Consequent usage of MAKE MAP RESCALE is recommended.

SYMMETRY


... SYMMETRY [int1 int2]

Acts only in combination with ATOM DENSITY commands. Spacegroup symmetry operations can be applied to generate electron density throughout the whole unit cell. By default all crystal symmetry operations are applied, however you may select only a particular one or a range of symmetry oparations by specifying only one or a two numbers. Numbers are the consecutive symmetry operations.

DISTANCE


... DISTANCE real

See FUNCTION.

FUNCTION


... FUNCTION real LINEAR
                  GAUSSIAN real

Instead of the 5 GAUSSIAN approximations (from crystallographic TABLES), LINEAR or a single GAUSSIAN density function is used. With LINEAR the grid points within the specified RADIUS (the first real) around the atom obtain the values according to their distance from the atom (1.0 - DIST/ RAD ). With GAUSSIAN density is distribution is calculated with a (exp(-dist**2/ sigma) so that the second real tells how many sigmas fall into the specified radius.

HIGHER


... HIGHER

By default density of an atom is added to the value at the grid point. THE HIGHER option replaces the old value with the new one when the new one is HIGHER than the old one. To be used with iterative map skeletonisation procedures as part of density manipulation procedures, where atoms are not regularly distributed along a skeleton.

OVER

The OVER flag is effective only in combination with a map INITIALIZation (generation) when no MAP number was explicitly specified. The created map will replace the last map. It is an opposite to NEW which places the newly created map after the last currently present.

NEW

The NEW flag is effective only in combination with a map INITIALIZation (generation) when no MAP number was explicitly specified. The newly created map will be appended to the current number of maps. It is an opposite to OVER which places the newly created map on the place of the last map.

SEGMENT

MAKE SEGMENT SELECT ... END

             FROM    ATOM
                     RESIDUES

Reorganizes the SEGMENT structure.

Using the FROM ATOM option (it is the default), each network of covalently bound atoms is reorganized so that they form a new SEGMENT. Each created SEGMENT consist of only one RESIDUE. The residue structure of SELECTIONs is destroyed.

With the FROM RESIDUE option, all residues, connected with the next residue in the row via a covalent BOND are joined within a single SEGMENT name.