artistic title image


Back to Software Spotlights Overview


Deutsches Elektronen-Synchrotron DESY


crystallography XFEL synchrotron structural biology

Research field


Scientific community

Photon science, X-ray crystallography



Programming Languages

C, Python









CrystFEL in a nutshell

CrystFEL is a suite of programs to process data from “serial crystallography” experiments. Datasets from this type of experiment consist of many thousands of individual diffraction patterns, each one of which was produced by X-rays scattering from a tiny crystal. This technique is most often used for investigating the structure of biological molecules such as proteins, but other types of matter have been investigated as well. The X-rays can come from a synchrotron storage ring such as PETRA III, or from a free-electron laser such as the European XFEL. Electron beams in a transmission electron microscope can also be used. The “serial” mode of data acquisition is particularly relevant for time-resolved experiments - making so-called “molecular movies”.

To process the data, each diffraction pattern has to be analysed individually. The first step is to find the sharp “Bragg” peaks in the pattern, from which the orientation of the crystal as well as the geometrical parameters of the crystal lattice can be determined. The intensities of the Bragg peaks then need to be measured, including very weak peaks whose presence can be inferred from the crystal parameters despite not being found by the initial peak search. The intensities from all the patterns are then merged together to produce a final combined dataset which can be used to determine the structure of the crystal.

CrystFEL contains programs to perform each of these steps, brought together with a graphical user interface. High performance computing is often needed due to the sizes of the datasets, so the GUI can submit jobs directly via a batch system such as Slurm. Recently, streaming data interfaces (for example, based on ZeroMQ) have been implemented, enabling real-time data processing without any intermediate storage of data.

The CrystFEL website contains further information including presentation slides, a screencast, citation lists, API reference and a detailed tutorial.

Screenshot of the CrystFEL graphical user interface. Screenshot of the CrystFEL graphical user interface being used to examine a serial crystallography dataset acquired at SwissFEL.

See also a presentation video about CrystFEL.

Back to Software Spotlights Overview