[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