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]

DESCRIPTION

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 MAPMASK, 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 keyword 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, LSPHERE, MAP, MAXREF, NOPRINT, PEAK, PRINT, READ, RESOLUTION, ROTS, SAVE, SELF, SUM, TITLE, XMLOUTPUT

TITLE title

The rest of the line is taken as a title.

SELF sphmin sphmax

Set flag for self rotation (c.f. keyword 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. keyword SELF), and set radii for integration as for SELF

LSPHERE no

If the sphere radius is so large that the sphere volume is greater than 50% of the asymmetric unit volume, and the logical flag LSPHERE is not set, then the radius is automatically reset to give sphere volume = 50% of asymmetric unit volume.

RESOLUTION resmin resmax

Read resolution limits in Angstroms, 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 12*RESMAX: 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.

LABIN

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).

XMLOUTPUT

This keyword is of little use for the 'user'. When specified almn will output a small XML file of the reindex operator. The name and location of the XML file can be specified on the command line with XMLFILE, otherwise the file will be called ALMN.xml.

Example of output file

<?xml version="1.0"?>
 <almn_run>
  <ALMN
    ccp4_version="4.1" 
    date=" 1/24/02" 
   />
  <reindex_operator
    required="yes" 
    operator="-h,-k,l"
   />
 </almn_run>

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 COEFFS1 and COEFFS2 are created as scratch files.

NOTES

  1. 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
     
    
  2. 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.

The program also automatically performs extra analysis to see whether the indexing is consistent between HKLIN and HKLIN2, and if reindexing is required then it will suggest which reindexing operation should be used on HKLIN2 to give consistent indexing. The REINDEX program can be used to perform the actual reindexing.

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

  1. 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).
  2. 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:

  1. Initialisations
  2. Input of control data
  3. Checks limits determined by array sizes
  4. Calculates and sets up a table of spherical Bessel function coefficients
  5. Input of one (or two reflection files) including summation loop to calculate ALMN and BLMN
  6. Fast rotation function summation (subroutine FRFS)
  7. Checks consistency of indexing between input files

SEE ALSO

MAPMASK, npo, polarrfn, rfcorr, reindex.

EXAMPLES

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
#