DESCRIPTION OF INPUT COMMANDS
Appendix A contains a listing of the new features that are available for the
current version of the program. Appendix B contains example inputs.
All input commands to the program are keyword-based and free-formatted.
The input parser converts lower case characters to upper case
so the program commands are not case dependent (though the program keeps
the cases of the file names and the title unchanged).
Each input line can contain at most 80 characters.
The following characters are recognized as delimiters between
words -- a space, a comma, a tab, and an equal sign. More delimiters can
be implemented by inserting them in the array SPACER in subroutine PARSER
(and change the variable NSP at the same time).
Comments in the input can be introduced by using the COMMent command or
using the special character ``!'' --- in the input parser, all characters
in the input line beginning at the ``!'' are ignored.
Presently, the program uses five logical I/O units, labelled by the
variables LIN, LOG, LPRT, LOBS, and LSCRCH, which are initialized to be
5, 6, 3, 1, and 2, respectively.
(The default values of most of the input variables are initialized in
subroutine INITSS). All input commands are read from unit LIN.
The output of the program will be written to unit LPRT. A name can be
specified for this print file by using the PRINt command.
The reflection data (if any) are read from unit LOBS. This unit is also used
internally to read and/or write rotation function map files.
The scratch file on unit LSCRCH is used for echoing
the input commands at the end of the output file.
Program messages are written to unit LOG. They are informational messages,
warning error messages (*Warning*), or fatal error messages (*Fatal*). Each
message is preceded by the name of the subroutine that produced it.
What follows is a description of the input commands that are
currently supported by
the program. A new command can be incorporated by
inserting the command name in array COMMND, in subroutine INITSS, and by
inserting a segment in subroutine INTPRT that defines the input parameters
(if any) of the
command. The program identifies each command by its first four letters,
although more can be input for readability. In the following listing, the
four-letter command keyword will be given in bold face, the names
of input variables associated with the command will be given in UPPER case.
The expected length of the character variables are also
given (for example, ORDOR*5 means ORDOR is a character variable
with 5 letters). Variables whose names begin with the letter `Q' are
logical variables. A `True' of `False' input is expected for these
variables.
The defaults (if any) of the variables are given in
square brackets.
These default values will be used by the program if the
command is omitted from input, or if a value of 0 is input to the command.
0.5in
to 2.5in#1 #2
#3 [#4]
I. GENERAL INPUT COMMANDS
COMM ent none none
This can be used to incorporate comments in the command input file. The
entire input line is simply ignored by the program. The
other way to introduce comments is through the use of the
special character ``!'' (see above). The difference between the two is that
comments incorporated by this command will be echoed at the end of
the program print file.
PRIN t-File PRTFIL*72 GLRF.PRT
This provides a name for the output file of the program (associated with
the logical unit LPRT).
The LOG unit is meant to be associated with the system
output (terminal screen in interactive mode and job log file in batch
mode).
STOP none none
The program will stop reading from the command input
file and start the actual calculation. Otherwise, the program will read
until the end of file on unit LIN before initiating the calculation.
TITL e ATITLE*132 PROGRAM GLRF
This provides a title for the current run of the program. It will be
placed at the beginning of each output page. The program will insert the
current date and time at the beginning of ATITLE (characters 2-18),
and the program will
append a version number identifier at the end of ATITLE (characters
111-130).
II. DEFINITION OF A FEW CONVENTIONS
EULE r-Angle EULER*3 ZYZ
This specifies the definition convention of Eulerian angles. Two
conventions are currently supported --- ZXZ and ZYZ, corresponding to
rotation around the Cartesian Z axis (), then around
the X (and Y, respectively) axis (),
and finally around the Z axis ().
ZXZ is the convention described in
M. G. Rossmann D. M. Blow Acta. Cryst.
15, 24, (1962). ZYZ is used in program MERLOT (P. M. D.
Fitzgerald, J. Appl. Cryst. 21, 273, (1988)).
The angles should be input to the program
in the following order
--- ,
and the program outputs the angles in the same order.
WARNING: The matrix used
in this program is the transpose of the matrix as
printed in Table 1 of the paper by Rossmann Blow. Therefore, if you are
comparing the results from this program with other programs, be sure that
the programs are using the matrices the same way! The same goes for the
command POLAr (see below).
Consequently, the search limits for angles and
as defined by S. N. Rao, J.H. Jih J. A.
Hartsuck (Acta Cryst. A36, 878--884, (1980)) should be
swapped. The limit should be used as the limit on in
this program. In any case, the user is strongly encouraged to check out the
symmetry of the rotation function with the program.
A few (1 or 2) large terms and very large intervals
(5-10) should be used to speed up the calculation.
POLA r-Angle POLAR*3 XZK
This specifies the polar angle definition convention. Two
conventions are currently supported --- XYK and XZK. In both cases,
is the angle from the Cartesian X
axis. In convention XYK (as defined in Rossmann Blow), is the
angle from the Y axis. In convention XZK (as in MERLOT), is the
angle from the Z axis. is the rotation around the axis defined by
and . The angles should be input to the program in
the following order -- ,
and the program outputs the angles in the same order.
The XZK convention should be used for most calculations. The XYK convention
can be used for monoclinic space groups in the -unique setting.
ORTH ogonalization ORDOR*5 AXABZ
This specifies the orthogonalization convention that should be used by the
program. Four conventions are currently supported -- BYBCX, CZBCX,
AXABZ, CXCAZ, and Y3XYC.
In convention
BYBCX, the real space axis coincides with the Cartesian
Y axis, and
(or ) coincides with the X axis (this is first defined in the paper by
Rossmann Blow).
In convention CZBCX, the real space axis coincides with the
Cartesian Z axis, and (or ) coincides with the X
axis (this is IPER=1
in MERLOT). In convention AXABZ, the real space axis coincides with the
Cartesian X axis, and (or ) coincides with the Z axis
(this is used by the Protein Data Bank,
FRODO's helper SAM, PROTEIN, and X-Plor. This
is also option NCODE=1 in program ALMN). Convention CXCAZ corresponds to
NCODE=3 in ALMN and is suggested by David Borhani. This convention should
be used only for monoclinic space groups in the -unique setting.
Convention Y3XYC, courtesy of Dr. Murthy, has been designed for
rhombohedral space groups in the rhombohedral setting. It aligns the
crystal three-fold axis (direction 111) along the Y axis,
and puts the real space axis in the XY plane (X, Y quadrant).
Other conventions can be incorporated as well, by inserting the
codes in subroutine GTOMDM, which calculates the orthogonalization matrix
from the cell parameters. The deorthogonalization matrix is calculated
as the inverse of the orthogonalization matrix.
The AXABZ convention should be used for most calculations. The BYBCX
convention was designed for monoclinic space groups in the -unique
setting to align the crystal axis along the Cartesian axis. The
AXABZ convention will maintain this alignment and should therefore be used
for monoclinic space groups as well.
III. SPECIFICATION OF LOCAL SYMMETRY
LOCS ymmetry (RLCAXS(i), i=1, 3), MLCAXS, TLCAXS*1 none
This defines the local symmetry elements in a standard orientation.
Only the unique symmetry elements need to be specified for this purpose.
For example, for 222 symmetry, only two orthogonal two-folds need to be
given. For icosahedral symmetry, only two symmetry axes (one two-fold and
one non-orthogonal five-fold, one three-fold and one non-orthogonal
five-fold, or two five-folds, etc)
need to be given. The rest of the symmetry operators
can be automatically generated by the program (see command LOCExpand).
The symmetry operator
can be specified as a set of Eulerian angles (TLCAXS=`E'), or a set of polar
angles (TLCAXS=`P') (the interpretation of the angles depends on the
convention used, see II), or the Cartesian coordinates of the
end point of a vector from the origin
(TLCAXS=`V'), or as direction cosines (TLCAXS=`D'). The default for TLCAXS
is Polar. The unique rotation around the axis is specified by MLCAXS,
either as an angle or as a divisor of 360. If the axis is specified as
polar angles, the information from the polar angle supercedes the value
specified for MLCAXS, and a warning will be issued if the information from
the two sources do not agree. The maximum number of local symmetry axis
that can be specified by this command is given by the MAXLAX parameter.
The program converts the input to a rotation matrix
immediately, so the angle convention used to define the local symmetry can
be different from that used later in the search.
If no local symmetry elements are defined by the input, the program will
carry out ordinary rotation function calculations.
LOCE xpand QLCXPD T
If QLCXPD is true, the program will generate all the
local symmetry operators
by pairwise multiplication of all the known
operators until no new symmetry element is generated by the process.
For this algorithm to work, the positions of the
starting local symmetry axes must be
specified with sufficient accuracy.
If QLCXPD is false, the program will not carry out the above
expansion. This is useful in cases where improper rotation axes are
being dealt with (for example, a local two-fold with a rotation of 175).
A set of polar angles (in the convention specified by
POLAR) will be extracted from the rotation matrices and the local symmetry
operators are sorted on these angles before they are output. The maximum
number of local symmetry operators is given by the MAXLOC parameter.
LOCI nterpolate QLCINT F
This is useful only if the slow rotation function is used to calculate the
locked rotation function. If QLCINT is true, an ordinary rotation function
will be calculated with the slow rotation function, covering the entire
rotational space (0-360 in and with a grid
interval of 2.8125, 0-180 in with a grid
interval of 3.0). The locked rotation function is then calculated
by interpolating among the ordinary rotation function values. (Note that
this is the mode of operation if the fast rotation function is used.) If
QLCINT is false, the locked rotation function will be calculated directly,
with the slow rotation function. For initial searches, QLCINT should be set
to true (or the fast rotation function should be used). For fine searches,
QLCINT should be set to false (also see command PKFIt).
LOCO rient (ALCORI(i), i=1, 3), TLCORI*1 0.0, 0.0, 0.0, E
The rotation that should be applied to the standard orientation
(as defined by LOCSymmetry and LOCUpdate commands) to bring it to that
in the crystal is defined with this command. This command is useful only
for the
locked cross rotation function. The rotation defines
the matrix .
The angles can be either Eulerian (TLCORI=`E') or
polar (TLCORI=`P'). The default for TLCORI is Eulerian. The convention of
the angles can be specified by POLAr or EULEr. The input is
immediately converted to a rotation matrix, so the angle convention
definition can be temporary.
LOCU pdate (ALCUPD(i), i=1, 3), TLCUPD*1 0.0, 0.0, 0.0, E
The orientation of the local symmetry operators as defined by the
LOCSymmetry commands can be changed with this command.
The updating angles can be either Eulerian (TLCUPD=`E') or
polar (TLCUPD=`P'). The default for TLCUPD is Eulerian. The convention of
the angles can be specified by POLAr or EULEr. The input is
immediately converted to a rotation matrix, so the angle convention
definition can be temporary.
IV. COMMANDS THAT DEFINE THE FIRST (A) CRYSTAL
The program can deal with the reflection data of three crystals, named
A, B and C. It
is the A crystal that is rotated in real space to match the B
crystal.
This means that, in the case of cross rotation search with a model, the
calculated structure factors based on the model should be input as the A
crystal, and the resulting rotation matrix should be applied directly to
the search model. In the case of self rotation search, the A crystal
information is copied into the B crystal.
ACEL l-Parameters (CELL(i, 1), i=1, 6)
1.0, 1.0, 1.0, 90.0, 90.0, 90.0
This inputs the unit cell parameters of the A crystal. The parameters can be
either in real or reciprocal space. The angles can be either in degrees or
in cosines.
ASYM metry none
This inputs the space group symmetry operators of the A crystal, in the
same format as the International Table. Positions related by centering
should not be input. Positions related by inversion or mirror planes
are not supported by
the program. If no symmetry card is given, the program defaults to
P1. The identity operation is assumed and need not be specified.
The space group symmetry can also be specified by giving the symbol of the
space group (for example P212121) or the number of the space group (for
example 19). For monoclinic space groups, only the -unique setting is
supported. For rhombohedral space groups, only the hexagonal setting is
supported. If you want the other settings, input the symmetry operators
explicitly.
AOBS -File OBSFIL*72 FOBS.DAT
This specifies the name of the formatted file holding the reflection data
of crystal A. The file should contain , and optionally
for each reflection. The format of the file is specified by the
command AFORmat. The
file should be terminated by the end of file, not by an end-of-file
record. The maximum number of reflections that can be saved is given by the
MAXREF parameter.
AFOR mat OBSFMT*72 (3i4, 2f8.2)
This specifies the format of the reflection file, for the following
input list --
. The parentheses in the format are optional. Note
that a format must be specified for
even if the file does not contain values.
ACUT -off SIGCUT, FCUTLO, FCUTHI 1.0, 1.0, 0.0
This specifies the cut-off criteria for screening the reflection data of
the A
crystal. Reflections with F(input) SIGCUT (input), or
with F(input) FCUTLO, or with F(input) FCUTHI will be rejected from the
calculation. If FCUTHI is 0.0, no high cut-off will be carried out.
F(input) and (input) are the values as read from the input
reflection file. The program will print out how many reflections are
removed by each of the above criteria, so reasonable inputs can be
selected accordingly.
APOW er POWER 2.0
The intensity of reflections in the A crystal will be calculated as
F(input)**POWER. Therefore, if intensity data is being input, set POWER to
1.0.
NSHE ll NSHELL 8
The reflection data will be divided into NSHELL shells of
equal reciprocal volume, and an
average intensity will be calculated for each shell. This will be useful
for origin removal (see command ORIGin) and for selection of large terms
(see command CUTOff). The maximum number of
shells is specified by the parameter MAXSHL.
ORIG in-Removal QORIGN T
The origin of the A crystal Patterson map will be removed if QORIGN is
true. In that case, an average intensity, calculated in shells of
resolution, will be subtracted from each
reflection.
V. COMMANDS THAT DEFINE THE SECOND (B) CRYSTAL
First, the commands that parallel those for the A crystal --
0.5in BCELl-Parameters (CELL(i, 2), i=1, 6)
0.5in BSYMmetry
0.5in BOBS-File (OBSFIB*72)
0.5in BFORmat (OBSFMB*72)
0.5in BPOWer (BPOWER)
0.5in BCUT-off (BSGCUT, BCUTLO, BCUTHI).
These input variables default to the values for the A crystal.
CUTO ff CUTOFF 1.5
This defines the selection criterion for
the strongest reflections (large terms)
from the B crystal data.
Reflections with I CUTOFF
I(average) will be saved as the large terms, where I(average) is calculated
in NSHELL shells of equal reciprocal volume.
A CUTOFF value of 1.5 usually results in about 20 of the data being saved
as large terms, which is generally sufficient to obtain accurate slow
rotation function values.
The maximum
number of large terms that can be saved (after expansion to a hemisphere
by crystallographic symmetry) is specified by the parameter MAXBIG.
VI. COMMANDS THAT DEFINE THE THIRD (C) CRYSTAL
A third crystal, C crystal, can be input to the program to carry out two
cross rotation searches simultaneously. This will be useful, for example,
if a sample has been crystallized in two different forms.
Knowledge of the orientational
relationship between molecules in the B crystal and the C crystal is
required. This can be determined by a cross rotation search between the B
and the C crystals. For a detailed discussion, see Appendix C.
The C crystal information is input to the program through the command CXTAl
--
CXTA l OPTION*4
where OPTION is a four-letter keyword that specifies the function
of the command. A list of the currently supported OPTIONs follows.
BTOC-relationship --- (B2CANG(i), i=1, 3), B2CCON*1
This specifies the rotational relationship
between molecules in the B and
the C crystals. A molecule in crystal B must be rotated by B2CANG to match
the orientation of a molecule in crystal C. The angles B2CANG
are interpreted as Eulerian if B2CCON is `E' or polar if B2CCON is `P'.
The angle convention is defined by EULER or POLAR. The maximum number of
relationships that can be specified is given by the MAXLAX parameter.
CELL-parameters --- (CELL(i, 3), i=1, 6)
This specifies the cell dimension of the C crystal.
FOBS-file --- OBSFIC*72
This specifies the name of the C crystal reflection file.
FORMat --- OBSFMC*72
This specifies the format of the C crystal reflection file. The
default is (3i4, 2f8.2) for the input list , F, and .
POWEr --- CPOWER
This specifies that the input structure factors
for the C crystal should be raised to
the power of CPOWER to calculate the intensities of the reflections.
REJEction-criteria --- CSGCUT, CCUTLO, CCUTHI
This specifies the screening criteria for the C crystal data.
SYMMetry ---
This defines the space group symmetry of the C crystal.
The program will read in the reflections and save only the large terms,
selected based on the CUTOFF (see command CUTOff).
VII. SPECIFICATION OF SEARCH PARAMETERS
BOXS ize (IBXHKL(i), i=1, 3) 3, 3, 3
This specifies the interpolation box size around each rotated reflection.
The size of the box should be big enough to cover the maximum of the G
function. At the same time, it should not be too big because the calculation
time is proportional to the volume of the box. For most cases, a
box should be large enough.
A bigger box may be used
in the case of centered lattices due to the systematic absences.
The maximum dimension of the box is specified by the MAXBOX parameter.
CROS s-search QCROSS F
This specifies that the program should perform cross rotation calculations.
QSELF (see command SELF-search)
and QCROSS are mutually exclusive. Specifying QSELF to be true
will disable QCROSS automatically. Due to its default,
QCROSS will need to be set to true for
cross rotation searches. It also must be true if cross rotation
calculations need to be performed by the commands LOCRotate, and MATRix.
If QCROSS is false, the program will carry out self-search
calculations.
GEVA luation IGEVAL 2
This specifies how the G function values should be calculated. Currently
supported options are -- IGEVAL=1, which means the G values will be obtained
from a table look-up based on the value of ; IGEVAL=2, which means
the G values will be sampled in the interpolation box at an interval of DHKL
in and
(DHKL is a program parameter, currently set to be 0.1);
IGEVAL=3, which means the nearest integer of the
rotated index will be used in the calculation (fastest way of getting the G
value, but with the most error.
Recommended only for checking the symmetry of the rotation function);
and IGEVAL=4, which means the G values
will be calculated based on the formula from the distance (). See the
paper by Rossmann Blow for detailed description of the G function.
MAPF ile MAPFIL*72 none
If a file name is specified by this command,
the program will dump the rotation function
values as a formatted file. Default is that the map values will not be dumped.
This file may be useful for later processing with other programs (see the
command PEAK).
OANG le OANGLE*1, OTYPE*3 P, XZK
The rotation function peaks will also be converted to Eulerian (OANGLE=`E')
or polar (OANGLE=`P') angles for output. OTYPE specifies the convention that
should be used with the Eulerian or polar angle (see II). Therefore,
two sets of angles are output corresponding to each peak in the rotation
function map -- the first set is defined by the SANGle command, the second
defined by this OANGle command.
PEAK -Cutoff PKCUT, NLIST, MAPFIL*72 3.0, 40
The program will perform a peak search in the resulting rotation function
map. In this peak search, grid points whose
values are less than PKCUT
(where is the standard deviation of the map values)
over the map average
will be skipped. NLIST peaks will be printed at the end of the
peak search. The maximum number of peaks that can be saved is given by the
MAXPKS parameter.
If a file name has been specified for MAPFIL, the program
will read the map values from that file and perform a peak search.
In this case, no self or cross rotation search will
be carried out.
PKFI t NPKFIT, PKFCUT 5, 1.5
The program can automatically
carry out fine searches, with the slow rotation function, for the top
NPKFIT peaks in the ordinary or locked
rotation function. Specifying this command will also
set the logical QPKFIT to true, which defaults to false. If a negative
number is input for NPKFIT, QPKFIT will be set to false. PKFCUT is the
large-term cut-off that will be used by the slow rotation function. The
program will first search in 1 intervals to locate the peak. Then
the grid interval will be lowered to 0.5. The peak positions
obtained from these fine searches can be used directly by the P1PC and GLTF
commands.
PRER otation (AUVW(i), i=1, 3), (BUVW(i), i=1, 3) 0
This command performs a ``pre-rotation'' which aligns a direction in the A
crystal, specified by AUVW, with a direction in the B crystal, specified by
BUVW. This command can be used only if a cross-rotation search is being
performed. The direction can be specified either as a set of fractional
coordinates, in which case the vector from the origin to this point will
define the direction, or as a set of polar angles -- , , and
the third field should be `P'olar or a number less than -999.0. The polar
angle convention is taken from the POLAR variable and the orthogonalization
convention is taken from ORDOR. The subsequent search will be carried out
in polar angles. Only will be allowed to change, and
are determined by BUVW.
RADI us RADIUS 30.0
This specifies the radius of integration, in .
RCUT off RCUTLO, RCUTHI 0, 20
RCUTLO has been implemented mainly as a way of saving computation time.
In the ordinary rotation search calculated by the slow rotation function,
if the rotation function value at a search
grid point is less than RCUTLO (default is 25 for self-search and 500
for cross-search), all the neighbors
of this grid point is flagged and will be removed from further
calculations. These grid points are output in the map file (see command
MAPFile) with a value of -999. If there are more than 2500 grid points in
the search, the program will determine RCUTLO automatically and carry out a
coarse search through the grid points first and remove those grid points
that are unlikely to give high rotation function values.
In the locked rotation search, if the rotation function value at a
search grid point for one of the local symmetry axis is less than RCUTLO
(default to be -100 for self-search and 0 for cross-search),
this grid point will be flagged and the program
will skip to the next grid point. If the fast rotation function is used,
the program will determine RCUTLO automatically.
RCUTHI has been implemented to deal with the overlap of local
symmetry axes with the crystallographic axes in the locked self rotation
function searches. In the locked self rotation search, if a local rotation
axis is within RCUTHI degrees of a crystallographic one, the local axis
will not be used in the locked self rotation function.
RESO lution-limits DMAX, DMIN 10.0, 3.5
This specifies the resolution limits for reflection data that will be used
in the search. This applies to both the A and the B crystal. The maximum
Miller indices are given by the parameters MAXH, MAXK, and
MAXL, respectively. The
program will abort if either of them is exceeded.
SANG le SANGLE*1 E
This specifies whether the search will be carried out in Eulerian or polar
angles. For ordinary self rotation searches, polar angles are preferred
(for example, section of = 180 to look for two-fold axes).
For cross rotation
searches and for locked rotation searches, Eulerian angles is the
better choice because the symmetry in the rotation function can be recognized
more easily and because it is easier to evenly sample the rotation space
with
Eulerian angles.
SECT ion SECSHN*3
The sectioning of the map in the output map file (see command MAPFile)
is defined by this command. The first
field specifies the map sections, the second field specifies which angle
will be output across the page, and the third field specifies which angle
will be output down the page. For example, specifying `321' would mean
() sections, () across, and
() down the page. The second and/or the third field can be omitted
and the program will provide reasonable defaults. If the command is
omitted, the program will choose the angle with the smallest number of
grid points as the section direction. The angle with the largest number
of grid points will be output across the page.
SELF -search QSELF T
This specifies that the program should perform self rotation calculations.
In this case, the information for crystal A
will be copied to get the B crystal.
SLIM its IAXIS, (SLIMTS(i, IAXIS), i=1, 3) none
This specifies the angle limits for the current search. Three separate
SLIMits commands need to be given to define the limits in all three angles.
IAXIS can assume values of 1, 2, and 3, corresponding to
(), (), and () in the case of
Eulerian
(polar) angles. The angle limits are specified as --- beginning value, ending
value, and increment.
If ordinary self- or cross-rotation function calculations are being
performed in Eulerian angles, the program can automatically define the
angle limits to cover the entire unique region of rotational space. To
activate this feature, specify a number that is greater than 180
for the beginning or ending value of . Only the hexagonal setting
is supported for rhombohedral space groups.
If the increment value for
is input as 0, the program will also assign reasonable
grid increment values along the three angles. Therefore, if an ordinary
self- or cross-rotation function calculation in Eulerian
angles covering the entire unique
rotational space is desired, the search limits can be simply defined
as `SLIMits 2 270 270 0'.
For ordinary self rotation function in polar angles, specifying `SLIMits
270 270 0' will define the search limits as 0 - 180 in and
in 3 intervals, and 60 - 180 in in
30 intervals. It is best that this option be coupled with the fast
rotation function.
The program can also try to assign reasonable
limits if a locked self or cross rotation function is being calculated. For
locked self rotation function, the search region assigned depends on the
symmetry of the A crystal. For locked cross rotation function, the entire
rotational space will be assigned. The unique rotational space for a locked
self and cross rotation function also depends on the symmetry of the
non-crystallographic point group. It is suggested that the user first
carry out a locked rotation
search, with the fast rotation function, covering the entire rotational
space to identify the symmetry in the locked rotation function.
For self-rotation searches, the map values are scaled such that matching
the Patterson map onto itself without any rotation will give a height of
1000. This puts the rotation map values on an ``absolute'' scale so that
results from different runs of the program can be compared.
This also means that all crystallographic symmetry operators should give
rotation function values of 1000. For cross-rotation searches, a rough scale
factor is estimated before the search is carried out. After the search, the
maximum value of the map is then re-scaled to 1000. In both cases, the
maximum, minimum, average, and the standard deviation from average of the
map values will be reported by the program.
XCOR relate QXCORR, NXCORR F, 5
This specifies whether the program will try to correlate the ordinary cross
rotation function results with the self rotation function. The program will
expand the cross RF peaks (or a set of angles given by the ANGLe command)
by the crystallographic symmetry (similar to SYMShow command)
and identify all the self rotation angles
relating the various cross rotation angles.
If reflection data have been given, the program will also
calculate the self RF value for these angles, with the slow RF. The
large-term cutoff for this is set at 1.5, and the origin will be removed.
VIII. THE FAST ROTATION FUNCTION
FAST -rotation-function QFRF F
Calculations with the Crowther
fast rotation function (R. A. Crowther The
Molecular Replacement Method, edited by M. G. Rossmann, 174--178, (1972))
are supported by this program.
The maximum Bessel function order is 60. This allows the use of a larger
radius of integration in the calculation (maximum radius allowed is roughly
given by 10.8, where is the high resolution limit of the
reflection data used in the calculation).
By default, the program will use the `slow' rotation function.
The ordinary self- or cross-rotation functions can be calculated using
this technique, with either Euler or polar angles (see command SANGle).
Internally, the program calculate the fast rotation function with Euler
angles in convention ZYZ. If other Euler conventions or if polar angles are
used for the search, the program will interpolate among the results from
the fast rotation function.
Only the ``large" terms (see
command CUTOff) of BOTH the A and the B crystals are used. The recommended
value for CUTOFF however is around 0.25.
If QORIGN (see command ORIGin) is set to true, the Patterson origins of
BOTH the A and the B crystals are removed. The user is encouraged to try
both possibilities to see which give the better results.
The entire rotational space (0--360) is covered in and
by the fast rotation function, with a
grid interval of 2.8
(or more accurately 360/128 = 2.8125, where the number 128 is
chosen to simplify the FFT calculation).
The command SLIMts should be
used to define the unique regions of the rotation function in
and . The search range and grid interval along
should be defined with the SLIMts command as well.
The fast rotation function as implemented here should work for most space
groups, including the cubic ones (point groups 23 and 432). In the latter
cases, the unique region of the rotation space can be defined based on
point groups 222 and 422 and be aware then
that the peaks listed by the program
will contain crystallographically-related rotations (use the command
SYMShow to sort out the peaks).
The fast rotation function can also be used, and is preferred, for
locked rotation function calculations. The program will do the necessary
interpolation to obtain values for the locked rotation function on the grid
of the fast rotation function.
As with the slow rotation function, the program will carry out a
peak search through the rotation function map. Similarly,
contour maps can also be
created based on the fast rotation function results. The fast rotation
function results can also be written out to a file (see command MAPFile).
Once an initial peak position has been identified with the fast rotation
function, finer searches around that position can be carried out with the
slow rotation function.
NORM alize QNORME, EEMAX F, 8.0
Normalized structure factors (E values) can be used in the calculation of
the fast rotation function. The reflection intensities are normalized by
dividing with the average intensity at the resolution shell. The E values
are allowed a maximum value of EEMAX. Default is that the intensities,
rather than the E values, will be used.
IX. PATTERSON CORRELATION REFINEMENT
COOR dinate OPTION*2
This defines the atomic model for the PC refinement. OPTION is a two-letter
keyword that define the function of the command. Supported options are --
BOverall -- BOVRAL.
This defines the overall value to replace any
that is on the input file.
BZero -- BZERO.
This defines a value that will be applied to any
input atom with a of zero.
INput -- CORINP*72.
This defines the name of the file that
contains the atomic coordinates in PDB format. The coordinates are expected
to be in the same orientation as that
used to calculate the structure factors supplied
with the AOBS command. The program will automatically translate the model
to place its center at the origin.
OUtput -- COROUT*72.
The atomic coordinates after PC
refinement can be written out. The default file name is rigid.pdb.
The coordindates for all the rotation function peaks that are used in the
PC refinement are written to this
file. There are comment lines at the beginning of each segment of
coordinate entries defining which rotation function peak they correspond to.
GROU P IGROUP, RES1*6, RES2*6
The first step of the PC refinement is always an overall refinement, using
the entire molecule as a rigid body. This command can be used to define
smaller groups that will be used in the second step of the PC refinement.
IGROUP defines the number of the group, and RES1 and RES2 defines the
beginning and ending residue number for the group. The command can be
repeated to specify different groups or groups with more than one residue
ranges. Residues that are not selected by any of the groups will not be
changed by the refinement. Chain names are supported and should be
separated from the residue name with /, , or :. The question mark ? can be
used as a wild card and matches to any character. For example,
GROUp 1 A:???? A:????,
GROUp 2 B:???? B:????. will define two groups for chains A and B.
P1PC -refinement NPCPKS, NPCCYC, PCCUT 5, 10, 1.0
The program will carry out a Patterson-correlation refinement for the first
NPCPKS peaks in the ordinary cross rotation function. NPCCYC specifies the
number of cycles for each refinement step. PCCUT specifies a large-term
cutoff that should be used with the PC-refinement. Default is that the
PC-refinement will not be done.
X. LOCKED TRANSLATION FUNCTION.
GLTF unction OPTION*4
This activates the locked translation function. For this function to work,
a locked cross rotation search (either with slow or fast rotation function)
must have been carried out first. The peaks in this search can then be used
for the locked translation function (see option RFPEak below). The atomic
coordinates, corresponding to the A crystal reflection data in the search,
should be input with the COORdinate command (see the section on P1PC
refinement above).
The program will do a peak search through the translation function and
lists the top 10 peaks in the map. The maximum value of the function is
scaled to 1000. The peak cut-off for this search is set at 3 or
400, whichever is smaller. If packing check is not used during the
calculation (see option PACK below), the position with a height of 1000 may
not be present in the peak listing as it may have packing problems.
The program will output the atomic model for the entire
assembly corresponding to the top peak in the locked translation function
to a file. A name can be specified for this file with the COORdinate OUtput
command (see above). If more than one rotation peaks are used, the file
will contain separate assemblies, each identified with the rotation
function peak number. This model for the assembly should then be input to
an ordinary translation function program (for example, TF) to find the
center of the assembly in the unit cell.
OPTION is a four-letter
keyword that define the function of the command.
Currently supported options are (in alphabetical order) --
CUTOff -- GLTFCT.
The large-term cutoff that should be used for the locked
translation function. Default is 1.5.
DIREct-summation -- QDRECT.
This specifies whether the locked translation function should
be evaluated by direct summation. Default for QDRECT is false, meaning the
function will be evaluated by FFT. If the local symmetry is high (point
group 432 or higher), the program will force direct summation.
MAPFile -- LTFMAP*72.
This specifies a name for a file where the locked translation
function map will be dumped. Not implemented yet.
OVERlap -- NOVLP, DCUTTF.
This specifies the maximum number of close Ca - Ca
(or P - P for nucleic acids) contacts
that are allowed in the packing check. The distance cut-off for this check
is given by DCUTTF. The default for NOVLP is 40. The default for DCUTTF is
3, which should be appropriate for protein structures. For nucleic acid
structures, try using DCUTTF of 5.
The program will try to save
only 200 Ca atoms, which may lead to the selection of every second, or
third Ca atoms only. In such cases the value of NOVLP will be changed
automatically by the program.
PACKing-check -- QPACK.
This specifies whether packing of the monomers in the assembly
should be checked during the calculation. Default for QPACK is false. This
is coupled with the default for QDRECT of false. If direct summation is
used, QPACK should be set to true. If this
packing check is not done during the
calculation, it will be performed during the peak search. The packing
check during the peak search also
examines the steric contacts among the assemblies that are related by unit
cell translations. If the number of contacts for either packing check is
greater than a pre-set number (see option OVERlap), the grid point will be
ignored. The number of contacts found within the assembly is listed under
`Overlap'. The number of contacts found among the assemblies is given under
`Cell' in the peak listing.
RADIus -- RADMAX, RADMIN.
This defines the maximum and the minimum
lengths of the translation vector.
Grid points in the search region (see option SLIMts below) that are more
than RADMAX angstrom away from the origin will be ignored. The default for
RADMAX is 30.
Grid points in the search region that are less
than RADMIN angstrom away from the origin will be ignored. The default for
RADMIN is 5.
RFPEak -- NTFPKS.
The top NTFPKS peaks in the locked cross rotation function
will be used for the locked translation function. The program will do a
separate calculation for each rotation peak.
SLIMits -- I, BEGIN, END, INCREMENT.
This defines the search region for the translation vector. The
integer I can take the value 1, 2, or 3, corresponding to the Cartesian
coordinates X, Y, or Z. The values should be given in angstrom units.
XI. MISCELLANEOUS COMMANDS
ANGL e X, Y, Z, TANGLE*1
This defines an angle to the program. Currently this information
is used only by the
XCORrelate command. See command LOCRotate for more information.
LOCA su (RLCASU(i), i=1, 3) 10.0, 20.0, 30.0
This command instructs the program to explore the symmetry of the locked
self rotation function (QSELF should be true).
The program first updates the local
symmetry matrices based on the angles specified by RLCASU (similar to
LOCUpdate),
it then carries out a grid search, using parameters defined by
the SLIMits commands and the SANGle command, to find other sets of angles
that are related to RLCASU by the symmetry.
Internally, the command LOCAsu assigns a true value to
the logical QLCASU, which defaults to false. Therefore, LOCAsu command must
be supplied, even though you want the default angles for RLCASU (i.e., you
can input a line that says ``LOCA'' only).
Symmetry in the locked cross rotation function can be determined
analytically and is not supported as yet.
LOCF it ANGINC, ZANGLE 0.5, 2.5
This command performs an ordinary self rotation search for each of the
local symmetry operators at a given orientation. The orientation can be
derived by updating the standard orientation with the LOCUpdate
command. The program searches ZANGLE degrees to either side of the known
and positions, with ANGINC as the interval between grid
points. Internally, the commands sets the logical variable QLCFIT to true,
which defaults to false.
LOCR otate (ALCSHO(i), i=1, 3), TLCSHO*1 0
If QSELF is true, this command takes a set of angles and updates the
local symmetry operation matrices
based on the rotation matrix of the input angles. The angles can be either
Eulerian (TLCSHO=`E') or polar (TLCSHO=`P'). The default for TLCSHO is
Eulerian. The convention of the angles
can be specified by using the EULEr or the POLAr commands (see II).
If reflection data for crystal A have also been supplied, the program will
obtain the rotation function value at each of the updated positions.
The program also produces a stereographic representation of the
set of updated local symmetry rotation axis.
A set of polar angles are extracted from each of the updated matrices using the
convention specified by the POLAr command. The top half of the sphere (z
0 in the case of XYK polar angles, so , and y
0 in the case of XZK polar angles) is projected. The PostScript
file is named STEREO.PS.
If QCROSS is true, the updated matrix is calculated as ,
where is the matrix based on the input angles. A set of angles (polar if
SANGLE=`P', Eulerian if SANGLE=`E') is
extracted from the matrix. If reflection data has also been input for the A
and the B crystals, the program will calculate the rotation function value
corresponding to each of the updated matrices.
The maximum
number of angles that can be input by this command is specified by
the parameter MAXSHO.
MATR ix (AMTSHO(i), i=1, 3), TMTSHO*1 0
This commands takes a set of angles and outputs the corresponding rotation
matrix. The variables AMTSHO and TMTSHO are similar to those for command
LOCRotate. The program calculates the rotation matrix immediately after this
command is specified. Therefore, a temporary angle convention definition can be
specified. If a pre-rotation has been applied (through the
PRERotate command), the program will concatenate the two rotation matrices
and extract a set of angles based on the new matrix.
The angle type is specified by SANGle, and the angle convention by EULEr or
POLAr.
The program then applies the
orthogonalization and deorthogonalization
matrices. Therefore, the correct cell dimensions should
be input to the program.
If reflection data has been input, the program
will output the contribution of the top 50 large terms to the final
rotation function value. In this case, IGEVAL (see command GEVAluate) is
set to 2.
The maximum
number of angles that can be input by this command is specified by
the parameter MAXSHO.
SYMS how (ASYMSH(i), i=1, 3), TSYMSH*1 0
This commands takes a set of angles and outputs all the angles that are
related to the input set by the symmetry of the ordinary rotation function.
The variables ASYMSH and TSYMSH are similar to those for command
LOCRotate. The program calculates the rotation matrix immediately after this
command is specified. Therefore, a temporary angle convention definition can be
specified. Calculations with both self and cross rotation functions are
possible. The program will output the angles as Eulerian if SANGle is `E'
or as polar if SANGle is `P'. The angle convention is given by EULEr or
POLAr. Note that the calculations in this command ignore the local symmetry
information. Use the command LOCAsu to explore the symmetry of the locked
rotation function. The maximum
number of angles that can be input by this command is specified by
the parameter MAXSHO.
XII. ELECTRON DENSITY ROTATION TRANSLATION FUNCTION
RSRF OPTION*1, X, Y, Z, CODE*1 none
This command specifies parameters for the real space (electron density)
rotation function (see Appendix D for an introduction). This can be used to
maximize the overlap of the electron density of two molecules related by
local symmetry.
When OPTION=`R', X, Y, and Z will be interpreted as a set of rotation
angles relating the molecule in the A crystal to that in the B crystal.
The rotation angle type (Eulerian or polar) will be taken from SANGLE
(command SANGle) and the angle convention will be taken from EULER or
POLAR. When OPTION=`A', X, Y, and Z will be interpreted as the center of
the molecule in the A crystal, in fractional coordinates. When OPTION=`B',
X, Y, and Z will be taken as the center of the molecule in the B crystal.
Therefore, three separate RSRF commands will be needed to define the
relationship between the molecule in the A crystal and that in the B
crystal.
Set the CODE to `S' if a search is to be carried out for the corresponding
OPTION. Note that only one OPTION can have the code `S' at one time.
The two molecules can reside in the same crystal (self-rotation
calculation) or different crystals (cross-rotation calculation). The
program will read in phase angles for each reflection. The search limits
will need to be defined with the SLIMts commands. Note that in
this case the limits defined are taken as the offsets from those values
defined by the RSRF commands. The G function evaluation option (GEVAluate
option) will be set to 2.
TFUN ction ITFUNC, (TFANGL(i), i=1, 6) 0
This command calls the translation function routines. The program has an
internal logical variable called QTFUNC, which defaults to false.
Specification of this command sets QTFUNC to true. Currently, three types of
translation function are supported.
The first, ITFUNC=1, searches for the
translation element along the local symmetry axis, whose direction is given
by the angles TFANGL(1), TFANGL(2), TFANGL(3). (The angle type is
specified by the SANGLE variable
and the angle convention is given by the POLAR or EULER variable). This
function only works for local two-fold axes (M. G. Rossmann, D. M. Blow, M.
M. Harding, E. Coller, Acta Cryst. 17, 338, (1964)).
The
second, ITFUNC=2, searches for the location of the specified local symmetry
axis in the unit cell
(see Appendix E). In this case, a set of phase angles must be present
in the reflection file. Similar to the case for ITFUNC=1, TFANGL(1),
TFANGL(2), TFANGL(3) defines the orientation of the local symmetry axis as
a set of polar or Eulerian angles. TFANGL(4) defines the translational
element (in ) along this local symmetry axis. The program will break it
down to three translation elements along the unit cell edges. Be sure to
confirm that the signs of those elements are correct. If not, then the sign
of TFANGL(4) may need to be reversed.
The third, ITFUNC=3,
searches for the position that is related to an input point by the local
symmetry axis
(see Appendix F). This also requires a set of phases to be input to the
program. TFANGL(1), TFANGL(2), TFANGL(3) defines the orientation of the
local symmetry axis. TFANGL(4), TFANGL(5), TFANGL(6) defines the input
position, in fractional deorthogonalized units.
In all three cases, the program produces a formatted file
called TFUNi.DAT, where i=1, 2, or 3,
which contains , , and
values for a set of reflections. The maximum coefficient ()
has been scaled to
a value of 1400.
These reflections can then be input to
any Fourier summation program to obtain the translation function map (in
space group P1). The
maximum number of reflections that can be saved by the program is given by
the parameter MAXREF.
The program will also try to carry out the Fourier transform
directly. A warning will be issued if array limits are exceeded and the
program can not perform the transform.
A peak search is done through the
transform map.
The map can also be contoured (command CNTFile).
In this case, the desired sectioning of the contour should be specified
(command SECTion).
The contour level (command CNTLevel)
can be set at 500, 1000, 50, as the program will scale the
maximum of the transform to 1000. The contour sections (command CNTSection)
can be left as default, which will lead to the contouring of 5 sections
containing the top peaks.
The map can be written to a file (command MAPFile), which
can be used for re-contouring the map later (command PEAK).
XIII. CONTOUR PLOTS
CNTF ile CNTFIL*72 none
If a file name has been specified by this command, the program will produce
contour plots for the rotation function map. Default is that the contour
plot will not be created.
If an one-dimensional search has been carried out (i.e., only one angle
was allowed to vary), the rotation function values will be plotted as a
function of the varying angle. In this case, the CNTLevel and CNTSection
commands are ignored by the program.
If polar angles were used in the search, the contour plot will be done
stereographically in sections of
(with projection down Z if POLAR is XYK and
down Y if POLAR is XZK).
To make this
projection consistent with the convention used in other plots (see command
LOCRotate), the angle needs to be kept between 0 and 180;
the angle should lie between 0 and 180 if convention XZK is
used, and between 180 and 360 if convention XYK is used
(see command SLIMits). Normally, stereographic projection will plot out the
bottom half () of the sphere for XZK polar angles and the top half of
the sphere () for XYK polar angles.
If a self rotation function is calculated in polar
angles, the three coordinate axes in the stereographic contour plot
will be labelled with the appropriate unit cell axes (, , or ,
which means the direction is roughly along the unit cell axis).
If Eulerian angles were used in the search, the
sectioning of the contour plot will be taken from the SECSHN parameter
(see command SECTion).
The contouring algorithm assumes continuity in the rotation function map
values. This may not be true if a high RCUTLO value (see command RCUToff)
has been selected during the calculation. In these cases, there might be
some strange contour lines in the plot. To alleviate this problem,
the RCUTLO value will need to be reduced.
The maximum number of points in each contour trace is given by the parameter
MAXCVS. If the program is stopped because this limit is exceeded, either
recompile the program with a larger MAXCVS or raise the starting contour
level.
CNTL evel (CNTLVL(i), i=1, 3), LINTYP none
This command specifies the beginning, ending, and increment for the
contour level. LINTYP specifies the line type to be used for the contours
in this level. This command can be repeated to obtain different contour
levels.
The contour levels can be specified as absolute
values (with the maximum of the map scaled to 999) or in terms of the
value of the map. In the latter case, the beginning and ending
contour levels must be specified as less than 10 and the increment must be
less than 2. For example, specifying `CNTLevel 1 5 0.5' means the
contouring should begin at 1 above the map average and end at
5 above the map average, with increment of 0.5.
The maximum number of contour levels that can be specified is given
by the MAXLVL parameter.
Currently 7 different line types are supported.
LINTYP=1 is a solid line 0.1 point wide (there are 72 points to an inch).
LINTYP=2 is a solid line 0.5 point wide. LINTYP=3 is a solid line 1 point
wide. LINTYP=4 is a dashed line (2 on 2 off)
0.1 point wide. LINTYP=5 is a dashed line
0.5 point wide. LINTYP=6 is a dashed line (4 on 1 off)
0.1 point wide. LINTYP=7 is a
dashed line 0.5 point wide.
Since it is difficult to predict the optimal contour levels beforehand, it
is suggested that the rotation function values be written out with the MAPFile
command. Then contour level(s) can be chosen and the rotation function map
values can be read in with the command PEAK.
CNTS ection ICNTSB, ICNTSE 0, 0
This specifies the section range for which the contour plot should be
created. The numbering of the sections starts with the first section being
number 1. The default is that all the sections will be plotted if there are
5 or less sections in the map. If there are more than 5 sections, the
program will plot a maximum of 5 sections containing the top peaks in
the map. If no peaks are found in the map, the first 5 sections of the map
will be plotted.
XIV. STORAGE LIMITS
The storage limits for different parameters are defined in a
PARAMETER statement in the Fortran INCLUDE file GLRF.CMN.
The program will need to be recompiled if any of these limits is exceeded.
Especially, the parameters MAXH, MAXK, and MAXL should be adjusted to best
match the cell parameters under study. The following table lists a set of
reasonable values for the parameters. The actual values used are reported
at the end of the output file.
# & #
height 1.0pt
Parameter & Limit
height 0.2pt
MAXBIG & 80000
MAXBOX & 5
MAXGRD & 1000000
MAXH & 75
MAXK & 75
MAXL & 75
MAXLAX & 10
MAXLOC & 100
MAXPKS & 1000
MAXREF & 100000
MAXSHL & 10
MAXSHO & 10
MAXATM & 12000
MAXLVL & 5
MAXLIN & 7
height 1pt