ALMN (CCP4: Supported Program)
NAME
almn
- calculates rotation function overlap values using FFT techniques
SYNOPSIS
almn hklin
foo_mol1[.mtz]
hklin2
foo_mol2[.mtz]
mapout
foo_almn[.map]
[Keyworded input]
almn
is a fast rotation function which works in Eulerian
angles, an extension of the Crowther Rotation program by Eleanor
Dodson (York University). The program calculates
rotation function overlap values using FFT techniques (ref. R.A.Crowther
The Molecular Replacement Method ed. M. Rossmann). The original three
programs have been merged into the one here by Eleanor Dodson. She has also
extended the output to detail symmetry related Eulerian angles, spherical
polars and direction cosines for each peak in the output Eulerian angle
map.
The position of peaks is given for all symmetry related positions in
both Eulerian and polar angles.
The axis conventions have been generalised and it is possible
to deal with all space groups.
The correlation between self- and cross-rotation
functions can be analysed with the program
RFCORR.
Options are provided in the program for various restart points.
1. The results of the first stage of the calculation (ALMN) may also
be saved for subsequent rotation function summations on different grids.
Beware however these spherical harmonics change for different
resolution and integration sphere cut off values.
2. The calculated rotation map is written to a standard CCP4 map
file, which can be used as input for the program
extend,
if a set of spacegroup symmetry operations can be derived, or can be
plotted with a standard package (e.g.,
npo).
The program will reread this file to do a peak
search. (see description of the card FIND for details of symmetry)
3. A list of peaks may be read in, and all symmetry related peaks
generated (option PEAK).
A NOTE ON SYMMETRY AND ASYMMETRIC UNITS
If the spacegroups have more than one symmetry operation, additional
rotation solutions are generated by their combination. The asymmetric
units required are calculated in the program.
KEYWORDED INPUT
Only the first 4 letters of each keyword are necessary. All input is free
format. Many data cards are optional. The input to this program is intended
to be as similar as possible to that for the polar angle rotation
function program
POLARRFN:
however there are a few differences, so beware.
The various data control lines are identified by keywords, those
available being:
CROSS, CRYSTAL (compulsory),
END, FIND,
LABIN, LIMITS,
MAP, MAXREF,
NOPRINT, PEAK,
PRINT, READ,
RESOLUTION, ROTS,
SAVE, SELF,
SUM, TITLE
The rest of the line is taken as a title.
SELF sphmin sphmax
Set flag for self rotation (c.f. CROSS), and set radii for integration
(in either order).
- SPHMAX
-
outer radius of the cutoff sphere in Patterson function space
(Angstrom).
- SPHMIN
-
inner radius of the cutoff sphere in Patterson function space
(Angstrom) Sphmin should be more than 0.9*RESMAX.
CROSS sphmin sphmax
Set flag for cross rotation (c.f. SELF), and set radii for integration
as for SELF
Read resolution limits in Anstroms, in either order. If only one is
given, it is treated
as the high resolution limit. Note that because of the limit of 60 Bessel
functions in this version, the integration radius SPHMAX cannot be greater
than 12RESMAX: if it is, the program resets RESMAX to SPHMAX/12.0.
The program chooses whether to use the 30 or 60 Bessel function tables
as appropriate: 30 if SPHMAX/RESMAX < 5.83, and 60 otherwise.
CRYSTAL
followed by subsidiary keywords and numbers.
This card is COMPULSORY for each hklin set (one for self-rotation,
two for cross-rotation). The first keyword FILE indicates whether
this CRYSTAL card refers to crystal 1 or to crystal 2.
- subsidiary keyword FILE
-
followed by crystal number 1 or 2 (default 1). The syntax is any one
of `FILE 1' or `FILE 2'.
- subsidiary keyword ORTH
-
followed by orthogonalisation code NCODE for this crystal.
= 1 orthogonal x y z along a,c*xa,c* (Brookhaven, default)
= 2 b,a*xb,a*
= 3 c,b*xc,b*
= 4 a+b,c*x(a+b),c*
= 5 a*,cxa*,c (Rollett)
- subsidiary keyword BFAC
-
followed by temperature factor B (default = 0). This can be used to
sharpen the input F by exp**-[BFAC*sin**2(theta)/lambda**2]
before squaring, i.e. a negative BFAC will sharpen the data.
- subsidiary keyword FLIMITS followed by minimum F (default = 0) and
-
maximum F (default = 1000000000) in either order. The test is done
after application of the temperature factor, but before squaring to
intensities. This is used to restrict the number of reflections used
in the calculation to less than 10000. The program dimensions can be
increased but there is little point in including weak data.
- subsidiary keyword SCALE followed by scalfactor to divide Fsquared.
-
Sometimes needed to reduce overflows.
- subsidiary keyword CELL
-
followed by a b c
(alpha beta gamma - default = 90.0)
Rarely needed - just for peak analysis.
- subsidiary keyword SYMMETRY followed by space group number or name.
-
The crystal symmetry will be read from a symmetry library (logical
name SYMOP). The spacegroup name is e.g.. P212121.
followed by subkeyword FILE followed by file number and then
followed by MTZ file assignments for F and optionally for SIGF,
e.g. LABIN FILE 1 F=FO
LIMITS btmin btmax bstep
read limits and step on beta in degrees
PRINT lprint
reset print threshold LPRINT (default = 1). The rotation function is
scaled to a maximum on the first section of 50.
NOPRINT
switch off printing of map
MAP
Write rotation function to a map file: this is the default unless
only the PEAK option is used. This may be read back later
for plotting, peak searching, etc using the READ option.
MAXREF
Limit the number of reflections used to MAXREF - default 10000.
FIND peak maxpek [RMS] [OUTPUT filename]
Read peak threshold and maximum number of peaks.
MAXPEK is the maximum number of peaks to find (default = 20).
Up to MAXPEK peaks above PEAK will be found, and all symmetry
related peaks generated.
If the keyword RMS is present, then the peak threshold is
PEAK * RMS density, otherwise PEAK is the absolute threshold in the
scaled map.
If the keyword OUTPUT is present, the unique peaks will be
output to a file whose name may also be given (default filename
or logical name PEAKS). The keyword RMS must precede OUTPUT if
both are present.
Note that the program finds rho(max) in a 3x3x3 box. It attempts
to interpolate the peak positions, but may not do very well
at this near beta = 0 or 180 where the peaks are very elongated.
It DOES NOT deal with map edges properly - if you want to do this
you will need to run the program
extend
with the proper
rotational Eulerian angle symmetry. This can be deduced from the
symmetry equivalents generated for a Alpha Beta Gamma set in a
general position. The map is written with a cell with
dimensions 360 360 360 90 90 90, and a grid in steps of 5
degrees or 2.5 degrees. A symmetry operation (120 + alpha, 180 -
beta, -gamma) would be generated by an entry 1/3+x,1/2-y,-z in a
fake spacegroup.
SAVE
Save ALMN coefficients files (i.e., open them `NEW' not `SCRATCH') for
future use with the SUM option (q.v.). Not useful.
SUM
read Almn coefficients from files generated in a previous run of the
program (saved with the SAVE command). Not useful.
It is possible to start again after the first stage of rotation has been
done. The ALMN coefficients for each crystal are written to files with
the default names COEFFS1 and COEFFS2. These files can be used to save
time on a later run of the program.
ROTSYM irsygp
If you know the rotation symmetry, you can make an entry into
the SYMOP file with `spacegroup number' IRSYGP, then it will
be written to the output map. This can be helpful for some fancy
plots, but is not normally useful.
READ [btmin] [btmax]
Instead of calculating the rotation function, read a previously
calculated map, written out using the MAP command. This allows you
to FIND peaks at a lower or higher level, and generate symmetry
equivalents, or to PRINT it to the lineprinter. To generate symmetry
the program requires cards SELF or CROSS, and SYMMETRY (i.e. the
number of symmetry operators must be defined).
If parameters and BTMAX are present, only sections between
these values of Beta are read. Otherwise the whole map is read
PEAK
read a list of peak positions (alpha beta gamma in degrees) from
subsequent lines,
terminated by a blank line, `END' or end of file.
The program will not calculate a rotation function, but will generate
all symmetry related peaks from the peaks given, and print out the
corresponding matrices. This option requires cards SELF or CROSS,
CELL, and SYMMETRY (i.e. the number of crystals, their
symmetry and orthogonalisation codes must be defined).
INPUT AND OUTPUT FILES
- HKLIN
-
input amplitudes for crystal 1
- HKLIN2
-
input amplitudes for crystal 2
- MAPIN
-
input map for READ option
- MAPOUT
-
output map for MAP option
- SYMOP
-
symmetry library
- COEFFS1
-
Almn coefficients for crystal 1
- COEFFS2
-
Almn coefficients for crystal 2
By default COEEFS1 and COEEFS2 are created as scratch files.
NOTES
-
If intensities are to be included to a Fourier cut-off of RESMAX A,
for a cut-off sphere of radius a A in the Patterson density, the
maximum value of L (Bessel coefficient) that should be included is
approximately
Lmax = 2 pi a / RESMAX
The program allows Bessel functions up to
order 60, hence the following restrictions on values of RESMAX and a:
RESMAX a
------ -
6 A 72 A
8 A 96 A
10 A 120 A
-
If there are two crystals, it is the crystal represented by the second
data stream which is rotated, while the crystal represented by the
first data stream is held fixed. The output of final angles are
therefore those required to rotate the second crystal to the orientation of
the first. In particular the alpha, beta, gamma are the Eulerian
angles for rotating axes as defined by Tony Crowther. They convert the
density of crystal 2 to that of crystal 1 by rotating crystal 2 first
through gamma about Zo, then through beta about Yo, then through alpha
about Zo relative to the fixed axes. Positive rotation clockwise is
when looking along the axis from the origin. The rotations are carried
out in the ORTHOGONAL frame, which is related to the crystallographic
frame according to the setting of the ORTH flag. Beware of the
permutations introduced by ORTH .ne. 1.
PRINTER OUTPUT
The line printer output contains details of the input parameters, the
orientation matrices for hkl and xyz for each crystal, summaries of
the reflection data and finally values of the rotation function
maxima and the
associated angles including symmetry related sets. A map will also be
printed if this was requested.
ERROR MESSAGES
The program calculates the array sizes required for a given problem,
lists these, and will stop if the values exceed those set in the program.
There is also a limit of 10000 reflections for any given reflection data set:
the program will try to reset the minimum intensity to get an acceptable
number.
REFERENCES
-
R.A.Crowther, The Fast Rotation Function in The Molecular Replacement
Method ed. M.G. Rossman, Int. Sci. Rev. Ser., no. 13, pp. 173-178 (1972).
-
E.J.Dodson, in Molecular Replacement, Proceedings of the Daresbury
Study Weekend, (1985) DL/SCI/R23
AUTHORS
Originator: Tony Crowther/Eleanor Dodson
Contact: Daresbury Laboratory/York University
PROGRAM STRUCTURE
The main program carries out the following functions:
-
Initialisations
-
Input of control data
-
Checks limits determined by array sizes
-
Calculates and sets up a table of spherical Bessel function
coefficients
-
Input of one (or two reflection files) including summation loop to
calculate ALMN and BLMN
-
Fast rotation function summation (subroutine FRFS)
SEE ALSO
extend,
npo,
polarrfn,
rfcorr.
The following are examples of control data.
A complete self rotation calculation
#
# PPb R-state self-rotation function
#
almn hklin ppbt_calc mapout almnself << eof
TITLE PPb R-state Fcalc self-rotn fn, res 15-6, radius 0 30
SELF 3 30
RESOLUTION 15 6
CRYSTAL FILE 1 ORTHOG 3 BFAC -20
LABIN FILE 1 F=FC
LIMITS 0 90 5
PRINT
FIND 2 30 RMS OUTPUT self_peaks
END
eof
#
# Now read back map to search at different limits
#
almn hklin ppbt_calc mapout almnself << eof
TITLE PPb R-state Fcalc self-rot fn, res 15-6, radius 0 30
SELF 3 30
RESOLUTION 15 6
CRYSTAL FILE 1 ORTH 3 BFAC -20
LABIN FILE 1 F=FC
LIMITS 0 90 5
NOPRINT
READ
FIND 30 30 OUTPUT self_peaks
END
eof
A complete cross rotation calculation
#
almn hklin ovalnat hklin2 alpha1t map cross1 << eof
TITLE Cross rotation function ovalbumin to tetragonal alpha1-PI
CROSS 5 30
RESOLUTION 10 6
CRYSTAL FILE 1 ORTHOG 1 BFAC 0
LABIN FILE 1 F=FOVALNAT
CRYSTAL FILE 2 ORTHOG 1 BFAC 0
LABIN FILE 2 F=FCALPHA1T
LIMITS 0 180 5
MAP
PRINT
FIND 2 20 RMS
END
eof
#
#
npo mapin cross1 plot cross << eof
TITLE Ovalbulmin cross rotation
MAP
CONTRS 60 TO 200 BY 20
SECTNS 0 36
SIZE 160
PLOT
eof
#
#
# PPb R-state cross-rotation function
#
#
almn hklin ppb/p21all1 hklin2 ppbt_calc mapout almncross << eof
TITLE PPb R-state cross-rot fn, Fobs, res 8-4, radius 0 20
CROSS 3 20
RESOLUTION 8 4
CRYSTAL FILE 1 ORTHOG 3 BFAC -20 FLIMITS 100 999999 SYMMETRY 4
LABIN FILE 1 F=F
CRYSTAL FILE 2 ORTHOG 1 BFAC -20 FLIMITS 100 999999 SYMMETRY 1
LABIN FILE 1 F=FC
LIMITS 0 90 5
FIND 3 20 RMS
END
eof
#
#
# Plot cross rotation function from ALMN
#
npo mapin almncross plot cross << eof
TITLE PPb R-state cross-rot fn, Fobs, res 8-3, radius 0 20
CELL 100 100 100 90 90 90
MAP SCALE 1.4
CONTRS 50 TO 200 BY 20
SECTNS 0 19
PLOT
eof
#