Alphabetical Scalepack Keyword Documentation


Increments batch numbers by a constant to every batch from this point on until another ADD command is read. Useful to make unique batch numbers from two or more files which have the same batch numbers inside. For example, DENZO_york1 FORMAT embeds the batch number in the .x file.

format ADD value
default                            nothing added
example ADD 1000           This will add 1000 to each batch number.



Tells the program to add partially recorded reflections among consecutive batches, even if the batches do not have consecutive numbering. Essentially obligatory in today's crystallography with image plates.


modifier all .(Partials are added over all consecutive batches.)
format ADD PARTIALS start1 to end1 start2 to end2 ... etc.
default do not ADD PARTIALS
example ADD PARTIALS 0 to 49 51 to 99 100 to 149



Flag for keeping Bijvoets (I+ and I-) separate in OUTPUT FILE. If the ANOMALOUS flag is on, anomalous pairs are considered equivalent when calculating scale and B factors and when computing statistics, but are merged separately and output as I+ and I- for each reflection.

default not turned on (I+ and I- are combined)



Can be used to restrain B factor differences from consecutive films or batches. The value which follows the flag represents the amount in Å2 you will allow the B's to differ from consecutive frames or batches. The earlier edition of this manual stated that this was an obsolete option. This is no longer the case. It has been resurrected. See also the keyword SCALE RESTRAIN.

format B RESTRAIN value
default not turned on
example B RESTRAIN 0.5



The BACKGROUND CORRECTION command specifies amount per frame to increase background. Corrects for errors in Hamlin data integration in the software distributed in the late 1980's and early 1990's. The value given after the keyword increases the background by #counts/frame. Valid only for ARCHIVE file format only.

default not turned on



Overall B used only in the absence of an INITIAL B FACTOR. You can apply a higher value to lower your r-merge. Does not affect the quality of the data.

format DEFAULT B FACTOR value_(#counts/frame)
default 0



Overall scale factor used in the absence of an INITIAL SCALE factor. This is useful if the data are too strong, which is sometimes the case with small molecules. It will reduce the output intensities by the factor entered.

format DEFAULT SCALE value
default 1
example DEFAULT SCALE 10



Turns off the reject outliers flag.

default this is the default (outliers not rejected automatically, but see REJECT OUTLIERS for more discussion.)



Provides a logical end for the FIT command. At the moment this has no effect, but may be implemented in future versions of the program.



This is a single multiplicative factor which is applied to the input sigma(I)'s. This should be adjusted so the normal [[chi]]2 (goodness of fit) value that is printed in the final table of the output comes close to 1. By default the input errors are used (ERROR SCALE FACTOR = 1.) It applies to the data which are read after this keyword, so you can apply different ERROR SCALE FACTOR to subsequent batches by repeating this input with different values.

example ERROR SCALE FACTOR 1.3 (good starting value for FORMAT DENZO_ip)



Estimate of the systematic error for each of the resolution shells. There must be exactly the same number of error estimates here as there are NUMBER OF ZONES. So if you have 10 zones, you need 10 numbers following the keyword estimated error: one for each zone. Note that the error estimates to do not all have to be the same.

The estimated error applies to the data which are read after this keyword, so you can apply different ERROR SCALE FACTOR to subsequent batches by repeating this input with different values. This is an important point if you enter data from a previous SCALEPACK output that does not need its sigmas to be increased.

The error estimates should be approximately equal to the R-factor in the table at the end of the output for resolution shells where statistical errors are small, namely the earlier resolution shells where the data is strong. This is a crude estimate of the systematic error, to be multiplied by I, and is usually invariant with resolution. Default = 0.06 (i.e. 6%) for all zones.

format ESTIMATED ERROR value1 value2 value3 value4 ...etc
default each value set to 0.06
example ESTIMATED ERROR 0.02 0.03 0.03 0.03 0.04 0.04 (6 zones)



Some partially recorded reflections may be predicted by DENZO or SCALEPACK to start or end their Bragg condition in between consecutive frames due to small variations in crystal orientation from frame to frame. For these reflections only, there are two choices of defining where the reflection started (or ended): including the extra frame, or not. The keyword EXTEND PARTIALS tells SCALEPACK to include this extra frame. This is not a significant keyword because it only affects a very small fraction of the reflections. Opposite of do not extend partials.

default this is the default



This specifies the files read by SCALEPACK. The input has two components. The first is a number. The second is a file name, which usually contains wildcard characters (###) that are incremented by the SECTOR command. The number which follows the  FILE keyword specifies the starting batch number. A batch, previously called a "film," can be as small as a single .x file (or the equivalent). It can be a group of .x files, even an entire data set. The most frequent content of a batch is a single .x file.

This conversion of files into batches is particularly useful if you want to scale more than one data set together. For example, let's say you want to scale 10 lysozyme oscillation frames (numbered 1 through 10) with 37 ribonuclease oscillation frames (numbered 1 through 37). The FILE statement will take each of the individual .x files and assign them a batch number. Thus, you would enter something like this: FILE 1 'lysoz###.x' for the lysozyme, and FILE 101 'ribo###.x' for the ribonuclease. Thus, the lysozyme .x files would have batch numbers 1 - 10 corresponding to files lysoz001.x, lysoz002.x, etc. (assuming you used the SECTOR 1 to 10 command above the file statement so that the wildcards would be substituted with numbers). The ribonuclease .x files would have batch numbers 101 - 137, corresponding to files ribo001.x, ribo002.x, etc. Note that the ### is replaced by the SECTOR argument, not by the batch number.

format FILE value 'filename'
default both the number and the file name must be specified but read the note below.
example FILE 101 '/frames/scale/lysoz###.x'


Note that the file statement must come after FORMAT because the syntax depends on which input FORMAT is being read. The only exception to this is in the case of ARCHIVE, DENZO_york, and DENZO_york1, files, where the number after the word file is not given because the batch numbers are already stored in the file. If you want to change the batch numbers in these file formats, see the ADD command described above.



Tells the program what parameters to fit in postrefinement, and specifies the group of files over which the fitting is to be performed. Postrefinement fit can be applied to an entire set of batches (one batch being the entire set of frames, for example) using the modifier crystal, or to each individual input file using the modifier film or batch.

modifiers crystal Specifies that the fit operation is over the entire set of frames specified by a range and restrains the fit parameter to have exactly the same value over this range.
film Specifies that the fit operation is performed on each member of the set of frames specified by a range.
batch Alias for film.
parameters a*, b*, c* Unit cell lengths. Values returned are real space.
alpha*,beta*,gamma* Unit cell angles. Values returned are real space.

rotx roty rotz

crystal orientation parameters deduced in Denzo
wavelength Incident wavelength. Untested.
mosaicity Mosaicity as defined in DENZO, in degrees.
formats fit modifier parameter1 filmnumber to filmnumber
default the default is that nothing is fit unless specified
examples FIT crystal roty 1 to 137
FIT crystal mosaicity 1 to 5 7 to 10 102 to 104 to 137
FIT film rotx 1 to 137


Most mistakes in SCALEPACK can be attributed to errors in these commands because the program is very sensitive to mistakes in the batch numbers you input. If you input non-existent batch numbers or define overlapping ranges (e.g. 1 to 10 5 to 20), the program is likely to fail in a strange way. Also, do not fit unit cell parameters restrained by space group symmetry. For example, if you have space group P3, you must not FIT B*. If you specify a range of numbers, the program will only use the batch numbers that exist within the range. For example, if your batch numbers go from 1 to 40 and 70 to 90, you can get away with saying, say, FIT batch (parameter) 1 to 90, which is the same as FIT batch (parameter) 1 to 40 70 to 90. For FIT crystal, these two inputs are not equivalent. In the case of FIT crystal (parameter) 1 to 90, one value will be FIT for all batches. In the case of FIT crystal (parameter) 1 to 40 70 to 90, two values will be fit, one for each range. Note that different parameters may be fit over different ranges and either over batch or crystal. You can also mix batch and crystal for the same parameters.

Do not FIT batch rotz because this parameter is very poorly defined by the intensities of observed partial reflections. This is another very common mistake. Also, unless you know what you are doing, do not FIT crystal rotx roty rotz, because if the spindle is even slightly misaligned, the assumption that there is only one crystal orientation parameter for a large sweep of data will force incorrect restraints on the crystal orientation refinement.

Note about fitting rotations: Changes in rotations, like crystal rotx roty and rotz, are expressed as small rotations, call them [[Delta]]'s, about the laboratory frame of reference. These [[Delta]]'s: [[Delta]]x, [[Delta]]y, and [[Delta]]z, are used because to a first approximation they commute with one another (commute means that the order in which they are applied is irrelevant). This in turn is because these [[Delta]]'s are small, typically less than one degree. The crystal or cassette rotations, Rx, Ry, and Rz, on the other hand, do not commute with one another because their values tend to be large (much greater than one degree). So when you ask SCALEPACK postrefinement or DENZO to "fit" these rotations, what is actually happening is that the [[Delta]]'s are being refined. After each refinement cycle, the [[Delta]]'s are converted into changes in Rx, Ry, and Rz by a (complicated) algebraic relation. Those of you with sharp eyes will have noticed in DENZO that the "shifts" reported by the program when fitting the crystal rotations do not correspond to the changes in the rot values. This is because the shifts reported are the [[Delta]]'s, not the changes in rotx, roty, and rotz. The other reason for fitting delta rotations the way they are defined in DENZO is to make them have a more intuitive correlation with the other parameters. Otherwise, changes in crystal rotz would not correlate with cassette rotz. This is of more importance in SCALEPACK, where only rotx and roty, and not rotz, are refined.

Note about fitting unit cell parameters: In both DENZO and SCALEPACK the unit cell is fit in reciprocal space, not real space. This means that for a non-orthogonal space group, refining the value of a* may end up changing the values of b and c, even though b* and c* remain the same. The same is true for the angles: fitting [[alpha]]* may end up changing [[beta]] and [[gamma]], even though [[beta]]* and [[gamma]]* remain the same. So what you may notice sometime if you are not careful is that when you ask the program to FIT crystal a*, but not b*, c*, and the angles, then a will not be a constant. a* will be constant, but when converted back to a when the other unit cell parameters have not been changes, a will not. The moral: when fitting unit cells, FIT ALL the relevant parameters.



This flag tells the program to fit B factors to every batch or film from the very first cycles of refinement. This is in contrast to the default procedure, where the B factors are fit only after the convergence of the scaling. In the default procedure, if scaling does not converge in 20 (default) cycles of refinement, B factors will be not be fit. The FIT B command can override this. Not to be confused with the postrefine FIT B* command described above. You cannot "postrefine" B (temperature) factors.

format FIT B
default this flag is turned off
example FIT B



This flag tells the program not to fit b factors at all. Usually it is combined with the input of the b factors you want to apply but do not wish to refine anymore or it is used for frozen crystals where you do not expect significant decay.

format FIX B
default turned off; B factors are fit after the scale factor refinement converges.
example FIX B



For Hamlin archive files a fixed window of 3, 5, 7, or 9 frames or the original Hamlin-determined window of frames may be used for summing a reflection. Valid only for ARCHIVE file FORMAT only.

format FIXED WINDOW value
default uses the Hamlin definition of the window
example FIXED WINDOW 7



This keyword specifies the type format of the input hkl and intensity data. Input data can come from any of nine types of files. This program requires this keyword to properly read the files.


modifiers DENZO_ip from frames processed with DENZO
DENZO_york1 output created with DENZO option york
SCALEPACK from SCALEPACK output file
rigaku raxis binary R-Axis software output
xds profit.hkl binary output from XDS output file
madnes procor intout binary madness output
madnes procor ascii ASCII madness output
xengen urf binary output from xengen. Also have to supply program with info about FRAME WIDTH, in degrees, using FRAME WIDTH keyword.
Archive binary output from Hamlin software
formats FORMAT modifier
default DENZO_ip
examples FORMAT DENZO_ip

Note that if you use one of the binary formats that the data must be scaled on the same type of computer that created the binary files due to incompatibilities in number representations between computers.



Only for URF files created by Xengen. Other formats do not need this specification because SCALEPACK can read this information off the file header. The oscillation range for each frame.

format FRAME WIDTH value
default here is no default, this input is required for this format
example FRAME WIDTH 0.2



Matrix for re-indexing. Default = unit matrix. This matrix is applied to the hkl's as they are read in.

h' = (1)*h + (2)*k + (3)*l

k' = (4)*h + (5)*k + (6)*l

l' = (7)*h + (8)*k + (9)*l

Input is in the order (1....9). HKL MATRIX works with postrefinement.

format HKL MATRIX value11 value12 value13 value21 value22 value23 ...etc
default the default is the unit matrix
example HKL MATRIX 0 1 0 1 0 0 0 0 -1

transforms hkl into k h -l, has the effect of switching a and b. -1 is to keep the determinant positive. Note, the program will not accept a matrix which has a negative determinant.



Divides each h, k, and l by the input values. Useful for reducing the unit cell volume, particularly after HKL MATRIX transformation. Very rarely needed. Example, index data originally in C222 and want you data in, say, P3, you would apply HKL SCALE of 2 2 1, and HKL MATRIX of 1 1 0 1 -1 0 0 0 -1 so that the new indices would have values of h +k/2, h-k/2, and -l.

format HKL SCALE value1 value2 value3
default 1 1 1
example HKL SCALE 2 2 1



Used to make a quick test of mixindexing. Adds the specified integer vector to each original h, k, and l. If you are successful in using this, congratulations, you now have to reprocess your data in DENZO with the correct indexing.

format HKL SHIFT integer integer integer
default 0 0 0
example HKL SHIFT 0 1 0 (we'll assume you weren't too far off)



Opposite of INCLUDE OVERLOADS. This is not the default. Useful if you collect data at low and high exposures and is useful to ignore the saturated reflections at the high exposures. Applies to data read in after this command.



INCLUDE OVERLOAD is flag for whether fitted profiles with some pixels missing (typically due to overload) should be included in the scaling. Affects only DENZO image plate output files (formats DENZO_ip, DENZO_york1). Note that for summed profiles this does not apply because only profile fitting can estimate the value of the overloaded pixels.

default this is the default



Table of starting B factors, one per batch, beginning on the record after the title. After running the program once, the output table of B factors can be cut out and pasted in here, for example, when you have set the FIX B flag and are not refining b values anymore.

format INITIAL B FACTOR batch no. b value batch no. b value ...
default default value of the DEFAULT B FACTOR, which is defaulted to 0
example INITIAL B FACTOR 1 0.0 2 0.1 3 0.1 4 0.1 5 -0.2 ...etc



Table of starting scale factors, one per batch, beginning on the record after the title. After one run of the program, the output table of scale factors can be cut out and pasted in here. This table is not required. If it is not included in the control input, then the DEFAULT SCALE is used (this is 1 unless otherwise specified). Note that if the initial scale factor is set to zero, that frame is ignored in the scaling and refinement.

format batch no. scale value batch no. scale value ...
default default value of the DEFAULT SCALE factor, which is defaulted to 1
example INITIAL SCALE FACTOR 1 1.0 2 0.9 3 0.0 4 0.85 5 1.1 ...etc.



Redirection. Tells the program to read the file which follows the keyword. Same as in DENZO.

format @ filename
default no redirection
example @ reject



Flag that tells the program to merge (combine, average) reflections with the same unique index. This is the SCALEPACK default.

format MERGE
default this is the default and need not be specified



Allows you to input the value of the mosaicity of the data set. This is normally read from the header of the .x file.

format MOSAICITY value
default read from the header of the .x file
example MOSAICITY 0.5



Opposite of the keyword ANOMALOUS. Causes I+ and I- to be merged. This is the default.

default this is the default



Flag for the output of unmerged (reflections with the same unique hkl are not combined) data. Opposite of the keyword MERGE. This is a very handy for specialized work. This flag has subsidiary modifiers include partials, original index or as default include no partials.

modifiers include partials .all observations, both fully and partially recorded, are included in the output. The output will consist of the unique hkl, batch number, asymmetric unit, I, [[sigma]], and fractionality of the reflection. There is no information about I+ and I-, although it may be possible to get this in subsequent versions of the program.
  include no partials only fully recorded reflections and those fully recorded reflections created by the summation of partials are included in the output. Partials which cannot be summed to a fully recorded reflection are lost. The output will consist of the unique hkl, batch number, asymmetric unit, I, and [[sigma]]. This is the default for NO MERGE. There is no information about I+ and I-.
  original index the output will also contain the original (not unique) hkl for each reflection. This is designed for MAD/Anomalous/local scaling work. The original index modifier only works with the default INCLUDE NO PARTIALS. The output will consist of the following: original hkl, unique hkl, batch (film) number, a flag (0 = centric, 1 = I+, 2 = I-), another flag (0 = hkl reflecting above the spindle, 1 = hkl reflecting below the spindle), the asymmetric unit of the reflection, I (scaled, Lorentz and Polarization corrected), and the sigma of I. The format is (6i4, i6, 2i2, i3, 2f8.1).


format NO MERGE modifier
example NO MERGE original index

Notes: This command is also useful if you just want to combine all of the information contained in multiple .x files into a single file. Simply read in all of the .x files, don't do any scale or b factor refinement, and output no merge include partials.



This is a flag which operates only on ARCHIVE FORMAT files. Tells SCALEPACK that reflections with weird profiles should not be rejected. Opposite of the keyword PROFILE TEST.

default this is not the default



Number of cycles for refinement of scale and B-factors. Default value is 20 cycles. If it is set to 0, the program computes statistics, merges reflections with the same unique hkl, and writes the OUTPUT FILE based on the INITIAL SCALE and B factors. Normally you do not have to specify this unless you want to avoid scaling.

default 20 (iterations)



Number of resolution shells the data is divided into for the basis of calculating statistics. This input is required and must match the number of zones specified under the ESTIMATED ERROR keyword. Handy tip: it's nice to set up the NUMBER OF ZONES to equal the number of zones used by X-plor for the output of refinement statistics by shell, for when you get around to publishing your data and refinement statistics together in a paper.

format NUMBER OF ZONES integer
default this input is required
example NUMBER OF ZONES 10



Three integer vector which describes the orientation of the VERTICAL AXIS of the crystal. Equivalent to DENZO and SCALEPACK keywords VERTICAL AXIS. This information is usually not input by the user but subsequent versions will read it from the header of the .x files. This command does not affect scaling or postrefinement, however it does affect the values of the misorientation angles reported in the SCALEPACK log file.

format ORIENTATION AXIS 1 integer integer integer
default default 1 0 0
example ORIENTATION AXIS 1 0 1 0



Same as ORIENTATION AXIS 1 except describes the spindle axis of the crystal. Equivalent to DENZO and SCALEPACK keywords SPINDLE AXIS. Otherwise the same as above.

format ORIENTATION AXIS 2 integer integer integer
default 0 0 1
example ORIENTATION AXIS 2 1 0 0



Refers to the window size of ARCHIVE FORMAT files. Opposite of FIXED WINDOW .



alias for the keyword ANOMALOUS.



Name of file for output of scaled measurements. A new file will be created if none exists, but a pre-existing file will be overwritten. Maximum of 80 characters allowed in the file name. Depending on whether ANOMALOUS flag is set, there are one or two sets of I and sigma(I) per reflection. Output is h, k, l, I, sigma(I) (NO ANOMALOUS flag) or h, k, l, I+, sigma(I+), I-, sigma(I-) (ANOMALOUS flag) in format (3I4, 4F8.1). If the NO MERGE flag has been set, unmerged data are output as h, k, l, asymmetric unit #, I, sigma(I) in format (4I4,2F8.1) and the ANOMALOUS flag has no effect. For NO MERGE original index the output format is: original hkl, unique hkl, batch (film) number, a flag (0 = centric, 1 = I+, 2 = I-), another flag (0 = hkl reflecting above the spindle, 1 = hkl reflecting below the spindle), the asymmetric unit of the reflection, I (scaled, Lorentz and Polarization corrected), and the sigma of I. The format is (6i4, i6, 2i2, i3, 2f8.1).

format OUTPUT FILE name (use single quotes for safety)
default you must specify the output file name
example OUTPUT FILE '/people/myname/'



This command allows you to correct a mistaken polarization/monochromator value entered when you ran DENZO. It saves you from the chore of reprocessing all of your original images once you have learned of a mistake. This is mainly for synchrotron users who collect very high resolution data.

format POLARIZATION DENZO value corrected value
default the polarization is read off the header of the .x file
example POLARIZATION DENZO 0.0 corrected 0.9



Number of cycles of postrefinement do be done. Works in conjunction with the FIT commands described above. If you set the number of postrefinement cycles to zero, then postrefinement will be skipped even if you have fit commands in your control file.

format POSTREFINE integer
default postrefinement is not done unless you specify it
example POSTREFINE 10



This flag tells the program to print the results of the specified calculation after every refinement cycle. Useful in the case where one scales non-isomorphous data and wants to make the outlier list short by using the statement PRINT total chi2 200 PRINT single chi2 100.

modifiers total chi2 cutoff for printing poor reflections. Total [[chi]]2 for all measurements of a reflection. Default =52
  single chi2 cutoff for printing poor reflections. [[chi]]2 for any single measurement of a reflection. Default =3.52.
  correlation prints correlation matrix
  no correlation default
  solution prints new scale and B factors
  no solution default
  shifts prints changes to scale and B factors
  no shifts default
formats PRINT modifier
defaults PRINT total chi2
  PRINT no correlation
  PRINT no solution
  PRINT no shifts

New scale and B factors will always be printed if the number of fitted parameters exceeds 300.



Profile test is a flag that can be turned on and off as desired. This is the default. Bad profiles can be used to reject a DCREDUCE summed hkl. Valid only for ARCHIVE file FORMAT only. Opposite of NO PROFILE TEST .



This flag tells SCALEPACK how the profiles were treated by the indexing program (e.g. DENZO). The two choices for profiles are fitted and summed. Valid for DENZO_ip, DENZO_york1, and xengen urf FORMATS. Most of the time people fit profiles, so this is the default and need not be specified in the command file.

default this is the default



The other choice from PROFILES FITTED. This is not the default and must be specified if true.



Metric tensor description of the reciprocal space unit cell. Why would you ever use this when you can specify the real space constants?

format RECSQ value1 value2 ... value6
default same as UNIT CELL
example RECSQ 0.0001 0 0 0.0004 0 0.0009 [to describe unit cell 100 50 33 90 90 90]



Specifies which batch or film or set of batches or films will be the reference for the scaling and B refinement. The scale and B factor for these are not refined. More than one film or batch may be used as the reference. This is important only for crystals which decay during data collection. If the crystal is frozen and does not decay, then the default may be used, which is to let the eigenvalue filter define the overall scale and B factor. With a large number of batches, reliance on the eigenvalue filter is a little bit dangerous, so you should consider using a reference batch number in those cases.

This keyword is entirely equivalent to the keywords: REFERENCE BATCHES, REFERENCE FILM, REFERENCE FILMS. The others exist because some people have a grammatical hang up about using the singular to describe more than one object.

format REFERENCE BATCH integer integer integer ... etc.
default no reference batch. Eigenvalue filter defines overall scale and B
example REFERENCE BATCH 1 3 4 5






Flag which tells the program to reject a list of individual hkl's which FOLLOW. This is useful for iterative rejection cycles, since the file containing the rejected reflections can be reread. Each record after the title contains one reflection with the variables h, k, l (original index) and film number in free format. This information is most easily edited from the printed output of a previous run, can contain the whole line. One can read it from a reject file with command @reject.

default this is not the default



Automatic rejection of outliers. Not yet reliably implemented. This is supposed to replace multiple rounds of running SCALEPACK. The idea is that when this keyword is set, SCALEPACK runs once, makes a reject.dat file, then runs again, reads the reject.dat file and scales the data based on the reduced set of observations.


Applies Bayesian rejection of outliers. Rejected observations are written to the reject.dat file (see WRITE REJECTION FILE). The whole hkl (all original hkls with the same unique hkl) with at least one observation with a probability of being an outlier greater than or equal to the value specified after the WRITE REJECTION FILE keyword (default 0.9) are written to the log file. This is an estimation on your part of how frequently you expect any observation to be an outlier. In principle, the rejection probability should be about equal to the number of outliers divided by the number of observations. A good value to use is 1/10,000, i.e. 0.0001, for normal good data. If you have a non-random signal in your background (e.g. satellite crystals, malfunctioning detector, ice rings) then you will probably have to increase the rejection probability. If you do not want to generate a reject list in the log file then omit the keyword. A comparison of R-linear and R-squared is often helpful for deciding whether to increase the rejection probability. See the discussion following Scenario1 for more on this.

The rejection algorithm used in SCALEPACK is the most sensible and statistically sound outlier rejection algorithm. Unlike some other programs, the SCALEPACK outlier rejection is based on comparing differences to sigmas. So it will typically reject, say 4 or 5 sigma outliers. Some reflections with a large discrepancy from the average value of I may simply represent a lack of adequate statistics in measurement and not a "mistake" (non-random error) in measurement. If a reflection has a large discrepancy from the average and a large sigma, its contribution to the average will be very small anyway.

Here's an example of how the outlier rejection algorithm works:

Input data (after scaling)
Obs#   I sigma
1 10.0 0.1
2 10.1 0.1
3 9.9 0.1
5 11.0 0.1
2 20.0 10.0

Although you may think that {5} is the outlier, in fact the consistent set of observations will be {1, 2, 3, 5}, and {4} will be the outlier. Why is this? A consistent average will be 10.0 (or more exactly 10.000003), because observation 5 has a 1/1000000 lower statistical weight than the other observations, due to its large sigma. Observation 4, on the other hand, which was measured more accurately, will be 8.7 sigma deviations from the average of the remaining observations because the expected error of the difference 4 - <{1,2,3,5}> is 0.115, and 8.7 = (11.0 - 10.000003) / 0.115.

So the observation with the largest deviation from the average is not necessarily a statistical outlier. Note also that R-merge (after outlier rejection) will be very bad, 25%, even if the average is measured extremely well, with a sigma of 0.057%! This has to do with R-merge being an unweighted statistic, and I/[[sigma]] being a weighted statistic. If some other program rejected observation 5 (for no good reason) and observation 4 (for good reason), R-merge would be 0.067%. Practice shows that most programs would reject observation 5 because many users want a good R-merge. And sometimes these program would not even flag the true outlier - observation 4!

default 0.0001



Minimum d-spacing for this run. Default is the maximum resolution found in the input data. One can supply two numbers in any order and they will be minimum and maximum d-spacings.


format RESOLUTION value [value]
default the highest resolution detected in .x file
example RESOLUTION 10 2.2



Has the effect of changing the number of reflections per shell for the purposes of printing out statistics. Formally, it represents the exponent of the zone volume calculation. Normally, this is 3, because the volume of a sphere goes as radius cubed, so all the statistics shells will have the same number of reflections. Changing the resolution step could be useful to prepare a table of statistics to compare with other programs which may print out the statistics differently.


format RESOLUTION STEP value



This is the flag for keeping Bijvoets (I+ and I-) separate both in scaling and in the OUTPUT FILE. If the SCALE ANOMALOUS flag is on, anomalous pairs are considered non-equivalent when calculating scale and B factors and when computing statistics, and are merged separately and output as I+ and I- for each reflection. The old bug in the program, where I+ and I- were merged, has now been fixed. Note that this is a dangerous option because scaling may be unstable due to the reduced number of intersections between images. The danger is much larger in low symmetry space groups. Scale anomalous will always reduce R-merge, even in the absence of an anomalous signal, because of the reduced redundancy. However, [[chi]]2's will not be affected in the absence of an anomalous signal.

default definitely not the default



Can be used to restrain scale factor differences from consecutive films or batches. The value which follows the flag represents the amount you will allow the scale factors to differ from consecutive films or batches. It adds a factor of (scale1 - scale2)2/(scale restrain)2 to the target function minimized in scaling. The earlier edition of this manual stated that this was an obsolete option. This is no longer the case. It has been resurected in a different form now.

This only applies to batches between which you ADD PARTIALS. For very thin frames, this is almost obligatory. The value should roughly represent the expected relative change in scale factors between adjacent frames.

format SCALE RESTRAIN value
default not turned on
example SCALE RESTRAIN 0.01 (expect 1% change between adjacent frames)



Substitutes for the ### wildcard to specify a group of files to be read. See the FILE keyword above.

format SECTOR integer to integer
default no default
example SECTOR 1 to 40



Sector width can be specified in degrees. A pseudofilm is a sector width's worth of data from one detector. Valid for area detector data only, default value 5 degrees.

format SECTOR WIDTH value
default 5 degrees
example SECTOR WIDTH 3.0



Cutoff for rejecting measurements on input. Default = -3.0. Be very careful if you increase this.

What is the rationale for using sigma cutoff -3.0 in SCALEPACK? Wouldn't you want to reject all negative intensities? Why shouldn't you use a sigma cutoff 1.0 or zero? The answer to these questions is as follows: The best estimate of I may be negative, due to background subtraction and background fluctuation. Negative measurements typically represent random fluctuations in the detector's response to an X-ray signal. If a measurement is highly negative (<= -3[[sigma]]) than it may be more likely the result of a mistake, rather than just random fluctuation.

If one eliminates negative fluctuations, but not the positive ones before averaging, the result will be highly biased. In SCALEPACK, sigma cutoff is applied before averaging. If one rejects all negative intensities before averaging a number of things would happen: 

  1.  The averaged intensity would always be positive; 
  2.  For totally random data with redundancy 8, in a shell where there was no signal, , there would be on average 4 positive measurements, with average intensity one sigma. This is because the negative measurements had been thrown out. So the average of the four remaining measurements would be about 2 sigma! This would look like a resolution shell with a meaningful signal; 
  3.  R-merge would be always less than the R-merge with negative measurements included; 
  4.  A SIGMA CUTOFF of 1 would improve R-merge even more, by excluding even more valid measurements.

Why should this worry you? Exclusion of valid measurements will deteriorate the final data set. One may notice an inverse relationship between R-merge and data quality as a function of "sigma cutoff". So much for using R-merge as any criterion of success.

Even the best (averaged) estimate of intensity may be negative. How to use negative I estimates in subsequent phasing and refinement steps is a separate story. The author of SCALEPACK suggests the following: 

  1. You should never convert I into F. 
  2. You should square Fcalc and compare it to I. Most, but not all of the crystallography programs do not do this. That is life. In the absence of the proper treatment one can do approximations. One of them is provided by French and also by French and Wilson. An implementation of their ideas is in the CCP4 program TRUNCATE. A very simplified and somewhat imprecise implementation of TRUNCATE is this:

if I > [[sigma]](I), F=sqrt(I)

if I < [[sigma]](I), F=sqrt([[sigma]](I))

format SIGMA CUTOFF value
default -3
example SIGMA CUTOFF -2.5



Space group symbol from the list below. This input is required! The space group may be entered as a name (e.g. P212121) or as a number (e.g. 19, for the same space group). Most of the numbers correspond to those of the International Tables. The numbers above 230 are non-standard definitions of space groups.

1    P1

3    P2

4    P21

5    C2

16   P222

17   P2221

18   P21212

19   P212121

20   C2221

21   C222

22   F222

23   I222

24   I212121

75   P4

76   P41

77   P42

78   P43

79   I4

80   I41

89   P422

90   P4212

91   P4122

92   P41212

93   P4222

94   P42212

95   P4322

96   P43212

97   I422

98   I4122

143  P3

144  P31

145  P32

146  R3

149  P312

150  P321

151  P3112

152  P3121

153  P3212

154  P3221

155  R32

168  P6

169  P61

170  P65

171  P62

172  P64

173  P63

177  P622

178  P6122

179  P6522

180  P6222

181  P6422

182  P6322

195  P23

196  F23

197  I23

198  P213

199  I213

207  P432

208  P4232

209  F432

210  F4132

211  I432

212  P4332

213  P4132

214  I4132

303  P2C

305  B2

318  P21221

401  C1

403  P21C

446  H3

455  H32

501  I1

503  I2

505  C21

Notes to particular space groups:

146  R3     R3 in hexagonal setting
446  H3     R3 in primitive setting
155  R32   R32 in hexagonal setting
455  H32   R32 in primitive setting
401  C1   Non-standard, but useful to make angles close to 90.
501  I1   Non-standard, but useful to make angles close to 90.
303  P2C   P2, C axis unique
403  P21C     P21, C axis unique
305  B2   like C2, B face centered, c axis unique
503  I2    Non-standard, but useful to make beta angle close to 90.
172  P64   Only number (172) works, name does not (v. 1.2.3)





Real cell specified as a, b, c, alpha, beta, gamma. UNIT CELL is included in the header of DENZO_IP, DENZO_york1, ARCHIVE and SCALEPACK files, otherwise it must be included.

format UNIT CELL value value value angle angle angle
default the value from the first header encountered
example UNIT CELL 50 62 100.3 90 90 90

Note that the post refined value of the unit cell constants is not used nor is it output in the SCALEPACK OUTPUT FILE. You must get this information from the log file if you are interested in it.






Writes *.xrej files so that reflections from the reject file may be displayed by XDISPLAYF. Not fully implemented. Will terminate the program and prevent scaling and postrefinement. Note that the command @reject must precede the input of the .x files.



Creates a file with hkl's to be rejected. UNIX file name: reject, VMS file name: REJECT.DAT. Reject file is created if it does not exist. If the file exists it is overwritten. Note that this is different behavior from previous versions of SCALEPACK prior to version 1.2, which used to append the reject file. The current version continues to include the rejected reflections from the @reject command in the subsequent reject files, but they will now be in order.

Note also that you can specify the threshold for what you consider to be a rejectable probability. The default is 0.9, which is fairly safe, but you may want to decrease this to, say, 0.5 on later rounds of rejection.

default does not write the rejection file, but if it does, the default value is 0.9