compare_hkl: compare reflection data


compare_hkl [options] ... file1.hkl file2.hkl -p cell.pdb
compare_hkl --help


compare_hkl compares two sets of reflection data and calculates figures of merit such as R-factors. Reflections will be considered equivalent according to your choice of point group. You need to provide a unit cell, as a PDB file or a CrystFEL unit cell file.



Specify the symmetry of the reflections. The symmetry must be the same for both lists of reflections. Default: 1 (no symmetry).

-p unitcell.cell
-p unitcell.pdb

Specify the name of the file containing the unit cell information, in PDB or CrystFEL format.


Calculate figure of merit FoM. Possible figures of merit are:

  • Rsplit: 2-0.5 * sum(|I1-kI2|) / [ 0.5*sum(I1+kI2) ]
  • R1f: sum(sqrt(I1)-sqrt(kI2)) / sum(sqrt(I1))
  • R1i: sum(|I1-kI2|) / sum(I1)
  • R2: sqrt(sum[(I1-kI2)2] / sum(I12))
  • CC: The Pearson correlation coefficient.
  • CC*: See Karplus and Diederichs, Science 336 (2012) p1030.
  • CCano: The correlation coefficient of the Bijvoet differences of acentric reflections.
  • CRDano: RMS anomalous correlation ratio: The anomalous differences from each data set are plotted in a scatter graph, and the variance along both diagonals measured. See Evans, Acta Crystallographica D62 (2006) p72.
  • Rano: sum(|I+ - I-|) / 0.5*sum(I+ + I-).

    Note that this figure of merit compares measurements within one data set, so it isn't really a "comparison" operation in the sense of "compare_hkl". It is nevertheless included in compare_hkl so that the ratio Rano/Rsplit can be calculated (see below). I+ will be taken to be the mean of the I+ values from both data sets, and likewise for I-.

  • Rano/Rsplit: The ratio of Rano to Rsplit, as defined above.
  • d1sig and d2sig: The fraction of differences which are within one times (for d1sig) and two times (for d2sig) the combination of the corresponding sigma(I) values.

I1 and I2 are the intensities of the same reflection in both reflection lists. The two sets of reflections will be put on a common scale (linear and Debye-Waller terms) unless you use -u.

Use n resolution shells. Default: 10.
Fix scale factors to unity.
Write the statistics in resolution shells to filename.
Ignore reflections with negative intensities.

Set to zero the intensities of reflections with negative intensities.
Discard reflections with I/sigma(I) < n. Default: -infinity (no cutoff).

Low resolution cutoff, as 1/d in m-1. Use this or --lowres, but not both.


Low resolution cutoff in Angstroms. Use this or --rmin, but not both.


High resolution cutoff, as 1/d in m-1. Use this or --highres, but not both.


High resolution cutoff in Angstroms. Use this or --rmax, but not both.


This page was written by Thomas White.

Reporting bugs

Report bugs to

Copyright and Disclaimer

Copyright © 2012-2020 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association.

Please read the AUTHORS file in the CrystFEL source code distribution for a full list of contributions and contributors.

CrystFEL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CrystFEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with CrystFEL. If not, see

See also

crystfel check_hkl

If CrystFEL is installed on your computer, you can read this manual page offline using the command man compare_hkl.