The DIALS framework is being developed in a fully open-source, collaborative environment. In the spirit of the open source movement, we welcome collaboration from anyone who wishes to contribute to the project. The framework development is currently a joint effort between developers from Diamond Light Source and CCP4, based in the UK, and developers at Lawrence Berkeley National Laboratory, USA. Our common interests allow us to distribute effort and combine expertise effectively, greatly enhancing our joint productivity and allowing us to tackle the sizeable task of writing a new data processing package within a reasonable time frame.

To avoid “reinventing the wheel” as much as possible, the DIALS project builds on knowledge accumulated over many decades in the field of data processing for MX. We benefit greatly from the altruism of experts who contribute their ideas and advice either directly or via their detailed publications on existing algorithms and packages. At the heart of the DIALS framework lies a design philosophy of hardware abstraction and a generalised model of the experiment that is inspired directly by material published on the seminal workshops on position sensitive detector software [1]. Continuing in the spirit of these workshops we hold regular meetings, with talks from invited speakers, and code camps in which specific problems are addressed by intensive effort across the collaboration. Summaries of these meetings and copies of slides given as presentations are available here. We have begun by reproducing published spot finding and integration algorithms used by integration packages such as XDS [2] and MOSFLM [3]. We expect new research to lead to more advanced or case-specific algorithms in future, which may either be implemented by us or by other groups who choose to work with the toolkit.

DIALS is written using Python and C++, making heavy use of the cctbx [4] for core crystallographic calculations and much infrastructure including a complete build system. Seamless interaction between the C++ and Python components of this hybrid system is enabled by Boost.Python. Python provides a useful ground for rapid prototyping, after which core algorithms and data structures may be transferred over to C++ for speed. High level interfaces of the hybrid system remain in Python, facilitating further development and code reuse both within DIALS and by third parties.

Development Teams


Development of DIALS in the UK is funded by the BioStruct-X EU grant, Diamond Light Source and CCP4, and led by Dr Gwyndaf Evans. Developers include Luis Fuentes-Montero, Markus Gerstel, Richard Gildea, James Parkhurst and Graeme Winter at Diamond Light Source, and David Waterman at CCP4.


Development of DIALS at Lawrence Berkeley National Laboratory, USA is led by Dr Nicholas Sauter and supported by National Institutes of Health / National Institute of General Medical Sciences grant R01-GM117126: DIALS: New Computational Methods to Enable Challenging Crystallographic Experiments. Work at LBNL is performed under Department of Energy contract DE-AC02-05CH11231. Developers include Aaron Brewster and Iris Young.


We are grateful to the following people who have contributed to the development of DIALS either in the form of code, or through numerous intellectual discussions:

Muhamed Amin, Alun Ashton, Gleb Bourenkov, Gerard Bricogne, Phil Evans, Nat Echols, Johan Hattne, Andrew Leslie, Tara Michels-Clark, Nigel Moriarty, Garib Murshadov, Takanori Nakane, Jim Pflugrath, Harry Powell, Ian Rees, Jon Schuermann and Matthew Webber.

[1]Bricogne, G. (1987). Proceedings of the CCP4 Daresbury Study Weekend, pp. 120-145.
[2]Kabsch, W. (2010). Acta Cryst. D66, 125-132.
[3]Leslie, A. G. W. and Powell H. R. (2007), Evolving Methods for Macromolecular Crystallography, 245, 41-51. ISBN 978-1-4020-6314-5.
[4]Grosse-Kunstleve, R. W., Sauter, N. K., Moriarty, N. W., & Adams, P. D. (2002). Journal of Applied Crystallography. 35, 126–136.