The program Coot (Crystallographic Object-Oriented Toolkit) is used to display and manipulate atomic models of macromolecules, typically of proteins or nucleic acids, using 3D computer graphics. It is primary focussed on the building and validation of atomic models into 3-dimensional electron density maps obtained by X-ray crystallography methods, although it has also been applied to data from electron microscopy.
Coot displays electron density maps and atomic models models and allows model manipulations such as idealization, real space refinement, manual rotation/translation, rigid-body fitting, ligand search, solvation, mutations, rotamers, and Ramachandran idealization. The software is designed to be easy-to-learn for novice users, achieved by ensuring that tools for common tasks are 'discoverable' through familiar user interface elements (menus and toolbars), or by intuitive behaviour (mouse controls). Recent developments have enhanced the usability of the software for expert users, with customisable key bindings, extensions, and an extensive scripting interface.
Coot is free software, distributed under the GNU GPL. It is available from the Coot web site at the University of York. Pre-compiled binaries are available for Linux and Windows from York, and for Mac OS-X through Fink. Additional support is available through the Coot wiki.
The primary author is Paul Emsley (University of Oxford). Other contributors include Kevin Cowtan, Bernhard Lohkamp and Stuart McNicholas (University of York) and William Scott and Eugene Krissinel.
Coot can be used to read files containing 3D atomic coordinate models of macromolecular structures in a number of formats, including pdb, mmcif, and Shelx files. The model may then be rotated in 3D and viewed from any viewpoint. The atomic model is represented by default using a stick-model, with vectors representing chemical bonds. The two halves of each bond are coloured according to the element of the atom at that end of the bond, allowing chemical structure and identity to be visualised in a manner familiar to most chemists.
Coot can also display electron density, which is the result of structure determination experiments such as X-ray crystallography and EM reconstruction. The density is contoured using a 3D-mesh. The contour level controlled using the mouse wheel for easy manipulation - this provides a simple way for the user to get an idea of the 3D electron density profile without the visual clutter of multiple contour levels. Electron density may be read into the program from ccp4 or cns map formats, how it is more normal to calculate an electron density map directly from the X-ray diffraction data, read from an mtz, hkl, fcf or mmcif file.
Coot provides extensive features for model building and refinement - i.e. adjusting the model to better fit the electron density, and for validation - i.e. checking that the atomic model agrees with the experimentally derived electron density and makes chemical sense. The most important of these tools is the real space refinement engine, which will optimise the fit of a section of atomic model to the electron density in real time, with graphical feedback. The user may also intervene in this process, dragging the atoms into the right places if the initial model is too far away from the corresponding electron density.
Tools for general model building:
Tools for moving existing atoms:
Tools for adding atoms to the model:
In macromolecular crystallography, the observed data is often weak and the observation-to-parameter ratio near 1. As a result it is possible to build an incorrect atomic model into the electron in some cases. To avoid this, careful validation is required. Coot provides a range of validation tools, listed below. Having built an initial model, it is usual to check all of these and reconsider any parts of the model which are highlighted as problematic before deposition of the atomic coordinates with a public database.
Coot build upon a number of libraries. Crystallographic tools include the Clipper library for manipulating electron density and providing crystallographic algorithms, and the MMDB for the manipulation of atomic models. Other dependencies include FFTW, and the GNU Scientific Library.
Much of the program functionality is available through a scripting interface, which provides access from both the Python and Guile scripting languages.
The CCP4mg molecular graphics software from Collaborative Computational Project Number 4 is a related project with which Coot shares some code. The projects are focussed on slightly different problems, with CCP4mg dealing with presentation graphics and movies, whereas Coot deals with model building and validation.
The software has over the past 5 years gained considerable popularity, overtaking widely used packages such as 'O', XtalView , and Turbo Frodo. The primary publication has been cited in over 1,750 independent scientific papers since 2004, and as of September 2008 was one of the 20 most cited scientific papers published in the last 5 years in any field of science.