CrystFEL: data processing for FEL crystallography
CrystFEL is a suite of programs for processing diffraction data acquired “serially” in a “snapshot” manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser source. CrystFEL comprises programs for indexing and integrating diffraction patterns, scaling and merging intensities, simulating patterns, calculating figures of merit for the data and visualising the results. Supporting scripts are provided to help at all stages, including importing data into CCP4 for further processing.

CrystFEL is a suite of programs for processing Bragg diffraction data acquired with a free electron laser in a “serial” manner. Some of the particular characteristics of such data which call for a specialised software suite are:

  • Each crystal is used for only one exposure, and there is no oscillation, rotation nor a large bandwidth or divergence. Therefore, many or all reflections are partially integrated.
  • The crystals might be very small and the illumination highly coherent, leading to significant Fourier truncation effects on the detector.
  • Many patterns, numbering tens of thousands or more, are required, so high throughput automated processing is important.
  • The crystal orientations in each pattern are random and uncorrelated, which leads to special considerations during scaling and merging.
Learn More About CrystFEL
CrystFEL includes programs for simulating and processing patterns subject to the above characteristics. Fifteen programs form the core of CrystFEL. They are:

indexamajig
Batch indexing, integration and data reduction program, which produces a “stream” containing the indexing and integration results for each diffraction pattern.
pattern_sim
A diffraction pattern simulation tool.
process_hkl
A tool merging intensities from many patterns into a single reflection list, via the Monte Carlo method.
partialator
Full scaling and post-refinement process for accurate merging of data and outlier rejection.
ambigator
A tool for resolving indexing ambiguities.
get_hkl
A tool for manipulating reflection lists, such as performing symmetry expansion.
cell_explorer
A tool for examining the distributions of unit cell parameters.
compare_hkl and check_hkl
Tools for calculating figures of merit, such as completeness and R-factors.
partial_sim
A tool for calculating partial reflection intensities, perhaps for testing the convergence of Monte Carlo merging.
hdfsee
A simple viewer for images stored in HDF5 format.
render_hkl
A tool for rendering slices of reciprocal space in two dimensions.
geoptimiser
A program to refine and optimize detector geometry.
list_events
A tool for creating lists of events from multi-event data files.
whirligig
A tool for locating runs of crystals with similar orientations, e.g. from ‘mini rotation series’ arising from the use of a slow extrusion sample injector.

There is also a folder full of scripts for achieving many related tasks.

CrystFEL mostly works with images stored in HDF5 format, unit cell data in PDB format, and reflection lists in plain text format (i.e. not MTZ). There are scripts for converting both ways between plain text reflection lists and MTZ files.

OnDa – on-line data analysis for serial diffraction experiments: https://stash.desy.de/projects/ONDA/
Cheetah – XFEL diffraction processing software: http://www.desy.de/~barty/cheetah/Cheetah/Welcome.html