almn - calculates rotation function overlap values using FFT techniques
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.
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.
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).
A list of peaks may be read in, and all symmetry related peaks generated (option PEAK).
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.
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
The rest of the line is taken as a title.
Set flag for self rotation (c.f. keyword CROSS), and set radii for integration (in either order).
Set flag for cross rotation (c.f. keyword SELF), and set radii for integration as for SELF
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.
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.
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.
= 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)
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
Read limits and step on beta in degrees
Reset print threshold LPRINT (default = 1). The rotation function is scaled to a maximum on the first section of 50.
Switch off printing of 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.
Limit the number of reflections used to MAXREF - default 10000.
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 ALMN coefficients files (i.e., open them `NEW' not `SCRATCH') for future use with the SUM option (q.v.). Not useful.
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.
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.
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.
Read a list of peak positions (alpha beta gamma in degrees) from
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).
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>
By default COEFFS1 and COEFFS2 are created as scratch files.
RESMAX a ------ - 6 A 72 A 8 A 96 A 10 A 120 A
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.
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.
Originator: Tony Crowther/Eleanor Dodson
Contact: Daresbury Laboratory/York University
The main program carries out the following functions:
MAPMASK, npo, polarrfn, rfcorr, reindex.
The following are examples of control data.
# # 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
# 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 #