ChimeraX-Clipper: electron density and symmetry tools for ChimeraX¶
Contents:
Introduction¶
ChimeraX-Clipper makes use of a modified version of the Clipper library from Kevin Cowtan to add support for crystallographic symmetry and structure factor calculations to ChimeraX. In addition, it adds visualisation modes suited to macromolecular model building, and a convenience API to provide a unified environment handling both cryo-EM and crystallographic data. It is a core library required by ISOLDE. All source code is available on GitHub and is licensed under the GNU Lesser General Public License v3.0.
ChimeraX-Clipper consists of three essential parts:
A near-complete wrapping of the core Clipper libraries (modified for multithreading in key routines) using PyBind11. Documentation for this layer is currently minimal - but since the bindings are for the most part a direct reflection of the underlying C++ objects the Clipper API documentation is quite useful.
A C++ extension layer (also wrapped using PyBind11) built on the core API, to implement key tasks which need to run in separate threads to avoid disruption to the ChimeraX GUI. In particular, this code handles the parallelised, background structure factor calculations used to generate new crystallographic maps on changes to the model. Documentation of this layer is also currently minimal.
A ChimeraX-specific Python layer designed to facilitate quick scripting. This component is (lightly) documented here.