cctbx - core crystallographic objects and functions

The cctbx module, not to be confused with the overall CCTBX project, contains all data types and algorithms for generic crystallographic computing, without reference to file formats, molecule types, or use cases. The most important subpackages, whose methods are used throughout the higher-level modules of CCTBX, can be summarized as follows:

  • cctbx.sgtbx: space group symmetry library, including handling of both real-space and reciprocal-space asymmetric units
  • cctbx.uctbx: unit cell handling, including fractional-to-Cartesian coordinate conversions
  • cctbx.crystal: operations using combined space group and unit cell information; many other classes are derived from cctbx.crystal.symmetry
  • cctbx.array_family: extensions to scitbx.array_family, defining several additional array types
  • cctbx.miller: classes for manipulating reflections and associated data (stored as flex arrays)
  • cctbx.xray: high-level operations on X-ray scatterers, including Fourier transforms between real and reciprocal space (using direct summation or FFT), which are at the core of any refinement program
  • cctbx.maptbx: operations on real-space maps
  • cctbx.adptbx: manipulation of atomic displacement parameters (ADPs, or equivalent B-factors), including conversion between a variety of conventions

Additional modules cover methods for dealing with restraints on molecular geometry and ADPs and a complete set of scattering tables and related chemical information. However, these modules and data types are less likely to be directly by high-level code.

Note that many of the data types involved, especially the cctbx.miller.array and cctbx.xray.structure objects, can either be built programatically or populated from files. The latter subject is covered in the documentation for iotbx.

Several dozen examples of practical use of cctbx functionality can be found in the examples subdirectory of the module.


Module contents

cctbx.hendrickson_lattman(*args, **kw)