Bsoft: image and molecular processing in electron microscopy.

Software for the processing of electron micrographs in structural biology suffers from incompatibility between different packages, poor definition and choice of conventions, and a lack of coherence in software development. The solution lies in adopting a common philosophy of interaction and conventions between the packages. To understand the choices required to have such common interfaces, I am developing a package called "Bsoft." Its foundations lie in the variety of different image file formats used in electron microscopy-a continually frustrating experience to the user and programmer alike. In Bsoft, this problem is greatly diminished by support for many different formats (including MRC, SPIDER, IMAGIC, SUPRIM, and PIF) and by separating algorithmic issues from image format-specific issues. In addition, I implemented a generalized functionality for reading the tag-base STAR (self-defining text archiving and retrieval) parameter file format as a mechanism to exchanging parameters between different packages. Bsoft is written in highly portable code (tested on several Unix systems and under VMS) and offers a continually growing range of image processing functionality, such as Fourier transformation, cross-correlation, and interpolation. Finally, prerequisites for software collaboration are explored, which include agreements on information exchange and conventions, and tests to evaluate compatibility between packages.