Main Page: Difference between revisions

From cctbx_xfel
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 1: Line 1:
News! See our [[https://doi.org/10.1107/S2059798318009191 new paper]]!  This paper shows current best practices using ''cctbx.xfel'' with ''DIALS'' for serial crystallographic data.  Also see the [https://github.com/phyy-nx/dials_refinement_brewster2018/wiki companion set of tutorials].
News! See our [[https://doi.org/10.1101/2025.05.04.652045 new preprint]]!  This paper shows current best practices using ''cctbx.xfel'' with ''DIALS'' for serial crystallographic data.
 
News! See our [[http://cci.lbl.gov/publications/download/CCN_2019_p22_Brewster.pdf newsletter article]] that describes the XFEL GUI, an interactive program for handling large XFEL datasets.


= Open-source tools for serial crystallographic data processing =
= Open-source tools for serial crystallographic data processing =


''cctbx.xfel'' is a suite of software tools designed to process diffraction data from serial femtosecond crystallography (SFX) measurements at an X-ray free-electron laser (XFEL) or a synchrotron.  Built on the Computational Crystallographic Toolbox ([http://cctbx.sourceforge.net ''cctbx'']), the same toolbox on which [http://www.phenix-online.org ''PHENIX''], [http://dials.github.io DIALS], [http://adder.lbl.gov/labelit ''LABELIT''], and post-refinement and merging program, [http://viper.lbl.gov/cctbx.xfel/index.php/Cctbx.prime ''PRIME''] are built, it enables the user to solve difficult problems relating to processing serial crystallographic data.  The programs and modules provided by ''cctbx.xfel'' can reduce a large set of still diffraction images recorded at Stanford’s Linac Coherent Light Source ([http://lcls.slac.stanford.edu LCLS]), [http://sacla.xfel.jp SACLA], the [https://www.xfel.eu/ European XFEL], or a synchrotron, to a single MTZ file containing merged reflection intensities suitable for structure solution.
''cctbx.xfel'' is a suite of software tools designed to process diffraction data from serial femtosecond crystallography (SFX) measurements at an X-ray free-electron laser (XFEL) or a synchrotron.  Built on the Computational Crystallographic Toolbox ([https://cctbx.github.io/ ''cctbx'']), the same toolbox on which [http://www.phenix-online.org ''PHENIX''], and [http://dials.github.io DIALS] are built, it enables the user to solve difficult problems relating to processing serial crystallographic data.  The programs and modules provided by ''cctbx.xfel'' can reduce a large set of still diffraction images recorded at Stanford’s Linac Coherent Light Source ([http://lcls.slac.stanford.edu LCLS]), [http://sacla.xfel.jp SACLA], the [https://www.xfel.eu/ European XFEL], or a synchrotron, to a single MTZ file containing merged reflection intensities suitable for structure solution.


== ''cctbx.xfel'' resources ==
== ''cctbx.xfel'' resources ==


The tutorials on this wiki provide detailed instructions for indexing and integrating still diffraction images extracted from the raw data streams recorded at the LCLS, including pre-processing steps such as dark pedestal generation and refinement of the detector geometry of the Cornell–SLAC pixel array detectors (CSPAD) in use at the CXI and XPP end stationsThe tutorials also cover tools to efficiently leverage the LCLS computing cluster to process the thousands to millions of diffraction images that can be recorded in a short timeFinally, processing approaches for data collection at non-LCLS sources are also provided.
The current best resource is our pre-print, [https://doi.org/10.1101/2025.05.04.652045 ''cctbx.xfel: a suite for processing serial crystallographic data.''].  This paper describes the algorithms and ideas behind the implementation and execution of the two main programs of ''cctbx.xfel'':
 
* ''dials.stills_process'': this program runs through all the first steps of processing data using dials: import (reading image headers), spot finding, indexing, geometry refinement, and integrationSerial images are independent from each other, so this program is optimized for massively parallel systems, but can be adapted to a variety of single and multi-processing modes.
* ''cctbx.xfel.merge'': this program runs through the remaining steps of processing: scaling and merging to produce a full dataset (.mtz file)For documentation, see our [https://github.com/cctbx/cctbx_project/tree/master/xfel/merging Github project]
 
Additional resources:
 
* Our [http://cci.lbl.gov/publications/download/CCN_2019_p22_Brewster.pdf 2019 newsletter article] describes how to use the ''cctbx.xfel'' GUI, an interactive program for handling large XFEL datasets.


* [[Overview]] to the system architecture at LCLS and real-time progress monitoring of data processing
* [[Overview]] to the system architecture at LCLS and real-time progress monitoring of data processing
Line 17: Line 22:
** Build a psana/cctbx.xfel build [https://exafel.github.io/docs/psana-cctbx-install from scratch]. Use this option if you want to process LCLS data outside of LCLS or want your own build.
** Build a psana/cctbx.xfel build [https://exafel.github.io/docs/psana-cctbx-install from scratch]. Use this option if you want to process LCLS data outside of LCLS or want your own build.
* [[Tutorials]] on pre-processing, data reduction, and merging.  
* [[Tutorials]] on pre-processing, data reduction, and merging.  
* ''[[cctbx.prime]]'': tutorials on post-refinement using PRIME.
* ''[[IOTA]]'': tutorial on spotfinding optimization using ''IOTA''.


Other related information:
Other related information:


* [[Serial XFEL Crystallography References]]
* [[Serial XFEL Crystallography References]]
* [[Data Processing at SACLA]]
* [[2017 Tutorials]]. Berkeley Lab Serial Crystallography Workshop, 16-17 Feb 2017.
* [[Experiment-day guidelines]]: a short, very hands-on set of notes for online monitoring and data-processing using cctbx.xfel.
* [[File formats]]: for developers, information on file formats ''cctbx.xfel'' uses
* [[Cppxfel]]: XFEL data processing with the CPPXFEL package from Diamond/Wellcome Trust.
* [[Ha14 documentation]]: tutorials and support for processing using the [https://doi.org/10.1038/nmeth.2887 Hattne 2014] methods.


This project is under active development.  For any assistance, please contact the authors.
This project is under active development.  For any assistance, please contact the authors.

Latest revision as of 21:14, 15 July 2026

News! See our [new preprint]! This paper shows current best practices using cctbx.xfel with DIALS for serial crystallographic data.

Open-source tools for serial crystallographic data processing

cctbx.xfel is a suite of software tools designed to process diffraction data from serial femtosecond crystallography (SFX) measurements at an X-ray free-electron laser (XFEL) or a synchrotron. Built on the Computational Crystallographic Toolbox (cctbx), the same toolbox on which PHENIX, and DIALS are built, it enables the user to solve difficult problems relating to processing serial crystallographic data. The programs and modules provided by cctbx.xfel can reduce a large set of still diffraction images recorded at Stanford’s Linac Coherent Light Source (LCLS), SACLA, the European XFEL, or a synchrotron, to a single MTZ file containing merged reflection intensities suitable for structure solution.

cctbx.xfel resources

The current best resource is our pre-print, cctbx.xfel: a suite for processing serial crystallographic data.. This paper describes the algorithms and ideas behind the implementation and execution of the two main programs of cctbx.xfel:

  • dials.stills_process: this program runs through all the first steps of processing data using dials: import (reading image headers), spot finding, indexing, geometry refinement, and integration. Serial images are independent from each other, so this program is optimized for massively parallel systems, but can be adapted to a variety of single and multi-processing modes.
  • cctbx.xfel.merge: this program runs through the remaining steps of processing: scaling and merging to produce a full dataset (.mtz file). For documentation, see our Github project

Additional resources:

  • Our 2019 newsletter article describes how to use the cctbx.xfel GUI, an interactive program for handling large XFEL datasets.
  • Overview to the system architecture at LCLS and real-time progress monitoring of data processing
  • Installation: there are two ways to get cctbx.xfel:
    • cctbx.xfel is installed for general use at SLAC. To start using an existing installation, simply source the current build.
    • Download a binary bundle of DIALS. Use this option if you will not be processing LCLS data because, for example, if you have serial crystallographic data from a synchrotron.
    • Build a psana/cctbx.xfel build from scratch. Use this option if you want to process LCLS data outside of LCLS or want your own build.
  • Tutorials on pre-processing, data reduction, and merging.

Other related information:

This project is under active development. For any assistance, please contact the authors.