Locally Developed Software

Good computer programs have always been vitally important to the work of the LMB.
Many of the groups here write, or contribute to scientific software, and wherever possible this work is released to the open source software community.

Image Processing Software

The MRC image processing package is a collection of around 80 computer programs for processing 2D crystal and helical electron microscope images. The programs have been written by members of the LMB over the last 40 years in FORTRAN or C. The visualization and manipulation program Ximdisp is based on a home-written library of X-Windows subroutines. File reading/writing requirements for all the programs are provided by a subset of CCP4 subroutines in order to maintain compatibility with CCP4 MAPFORMAT.

The package is distributed freely to academic users worldwide and further information can be found here. Please contact Richard Henderson for more information.


RELION (for REgularised LIkelihood OptimisatioN) is a stand-alone computer program for Maximum A Posteriori (MAP) refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM). It is developed in the group of Sjors Scheres. Briefly, the ill-posed problem of 3D-reconstruction is regularised by incorporating prior knowledge: the fact that macromolecular structures are smooth, i.e. they have limited power in the Fourier domain. In the corresponding Bayesian framework, many parameters of a statistical model are learned from the data, which leads to objective and high-quality results without the need for user expertise. The underlying theory of MAP refinement is given in Scheres (2012) JMB. A more detailed description of its implementation is given in Scheres (2012) JSB.

Members of Greg Jefferis' group have contributed the following:

Plugins for the NIH’s image analysis software ImageJ, see http://rsbweb.nih.gov/ij/plugins/file-handler.html

Fiji, an image processing package based on NIH’s ImageJ – Contributions to this package made by Greg Jefferis’ group, targeting the tools towards 3D analysis of biological images.

Contributions to MicroManager, a microscope control package using a C++ core and an ImageJ front end for control of microscopes and peripherals.

Greg and Alex Hodge have contributed to the dc1394 camera adapater for generic firewire cameras.

CMTK, a software toolkit for computational morphometry of biomedical images, CMTK comprises a selection of command line tools and a general-purpose library for processing and I/O. Contributions to this package made by the group, include the development of a simple front end for CMTK.

Neuronanatomy Analysis Suite Software written in R for analysis of neuronal branching patterns, 3D density data describing neuronal projections and deformation based morphometry (shape analysis of groups of co-registered brains). Includes I/O functions to allow import (and in some cases export) for:

  • SWC, Neurolucida and Amiramesh neuronal tracing formats
  • Biorad PIC, Nrrd, Amiramesh 2D/3D image data

Access to pre-release versions can be provided, please email Greg ( jefferis@mrc-lmb.cam.ac.uk) for details of the group’s git version control repository.

Crystallography Software

CCP4: the CCP4 package is a large collection of crystallographic software distributed by STFC. A number of parts of this system have been contributed by LMB scientists, notably in the data processing of diffraction images.

The main programs in producing a list of reflection intensities from diffraction images are:-

  • MOSFLM (Andrew Leslie, Harry Powell): indexes the diffraction pattern and produces integrated reflection intensities. An interactive graphical interface iMosflm makes this easy for the user.
  • POINTLESS (Phil Evans): determines the point group & space group symmetry from the list of intensities from Mosflm.
  • SCALA (Phil Evans): scales symmetry-related intensities together to correct for differences in their measurement methods, averages them and produces a large variety of statistics indicating the data quality.

Semi-Automated Routines for Functional Image Analysis (SARFI)

SARFIA has been developed by Mario Dorostkar for the analysis of functional fluorescence data, for instance recordings from cells labeled with fluorescent calcium indicators. However, it allows access to a variety of inbuilt and custom-written image processing functions.

Key features are image-based detection of structures of interest using the Laplace operator, determining the positions of units in a layered network, clustering algorithms to classify units with similar functional responses, and a database to store, exchange and analyse results across experiments. GUI access to a wide range of analysis functions for image stacks.

The custom image processing functions include thresholding based on the Laplace operator, filtering of 3D waves using principal component analysis (PCA), rotating functions, images/image stacks without interpolation, line scan analysis; Automated baseline detection, hierarchical clustering and bleach subtraction from fluorescence traces.

The package includes a manual describing the control panels and a help file that describes all functions in detail.

SARFIA is available for Igor Pro on the Igor Exchange. The core thresholding and data extraction functions are also available for Matlab on Matlab Central.

Worm Tracker

Worm Tracker 2.0 suite was written by Ev Yemini, Tadas Jucikas, & Chris Cronin to perform high-throughput analysis of individual worm behaviour. We describe inexpensive hardware & plans to build a single worm tracker, and provide two software programs. The first program is the tracking software, which automatically follows a single worm, creating videos of its behaviour. The second program provides the analysis, automatically analyzing videos and quantifying the worms’ behaviour & morphology.


ALASSS (ALignment of Anchor Sequences to Secondary Structure) takes the 3D template of a protein and alignment of homologous protein and template sequences and uses this to create a new alignment based on anchor residue sequences. The new alignment is used for making a homology model. The program is coded specifically for use with SwissPDB viewer. The intention is to relate bioinformatic of protein family to information avialable on protein function through the structural links.


An open-source software package for robust evaluation of biological electron microscopy data and validation of cryo-EM structures using tilt-pairs. The algorithms and code were developed by Chris Russo and Lori Passmore in the Structural Studies division. The software is available free to all here.