reciprocalspaceship: a Python library for crystallographic data analysis - Greisman, Jack B.; Dalton, Kevin M.; Hekstra, Doeke R. (Journal of applied crystallography, 2021)
Crystallography uses the diffraction of X‐rays, electrons or neutrons by crystals to provide invaluable data on the atomic structure of matter, from single atoms to ribosomes. Much of crystallography's success is due to the software packages developed to enable automated processing of diffraction data. However, the analysis of unconventional diffraction experiments can still pose significant challenges – many existing programs are closed source, sparsely documented, or challenging to integrate with modern libraries for scientific computing and machine learning. Described here is reciprocalspaceship, a Python library for exploring reciprocal space. It provides a tabular representation for reflection data from diffraction experiments that extends the widely used pandas library with built‐in methods for handling space groups, unit cells and symmetry‐based operations. As is illustrated, this library facilitates new modes of exploratory data analysis while supporting the prototyping, development and release of new methods. reciprocalspaceship is a Python library for analyzing and manipulating reflection data from crystallography experiments. Using this library, it is possible to work interactively with crystallographic data, enabling easy integration with modern scientific computing libraries and supporting the rapid prototyping of new crystallographic methods and analyses.