[Imgcif-l] Progress on a CCTBX imgCIF reader

Nicholas Sauter nksauter at lbl.gov
Mon Aug 9 22:53:16 BST 2010


We have some progress to report on implementing an imgCIF reader within the
Computational Crystallography Toolbox (cctbx; see http://cctbx.sf.net).
 I've written a quick script to show that a Python-based CIF parser from
Richard Gildea can be combined with CBF byte offset decompression from
Graeme Winter, allowing us to read an ADSC/CBF macromolecular dataset with a
Python script.

The short test script is located in the cctbx source bundle:
 cctbx_project/iotbx/detectors/tst_py_cbf.py

It is encouraging that the turnaround time for decompressing a single
3072x3072 image is about 70ms on our Linux server; number crunching is done
with compiled Python extensions.

As background, the cctbx package already provides a wrapper for the
Bernstein/Ellis imgCIF library, so the functionality we've implemented isn't
new.  What is new is that at least part of the imgCIF standard can be
encoded in Python independently and in a rapid fashion, and we argue that
this should encourage the more widespread use of the standard.  The program
tst_py_cbf.py gives just the minimum function set necessary to process the
data.  It will become more useful if others contribute to the open source
project; for example, a CBF writer is readily within reach.  The supplied
code (tst_py_cbf.py) also has a validation function comparing the
Python-based read results with those obtained from the Bernstein/Ellis
library.

Thanks to Richard Gildea for supplying the Python-based CIF parser in the
iotbx.cif module; Ralf Grosse-Kunstleve for creating the CCTBX framework;
Graeme Winter for supplying an example thaumatin dataset from Diamond Light
Source, and Chris Nielson for implementing the CBF format for ADSC images.
 One further note:  the dataset in question, in CBF format, processes
correctly in both MOSFLM 7.0.6 (data reduction) and LABELIT (autoindexing).
 Both of these programs link to the Bernstein/Ellis library.

Nick Sauter, LBNL


More information about the imgcif-l mailing list