Ubuntu binary build badge

chapi binary build badge

macOS binary build badge

Coot is a toolkit for Macromolecular Crystallography and model-building. Coot uses GTK widgets mmdb, clipper, and OpenGL to provide interactive tools for model-building, refinement and validation.


Coot Development Blog


Powered by RDKit

Python 3.11


  • Moorhen Cryo-EM Tutorial: Fitting the Nanobody

    Getting Started: Load the Map and Model

  • Coot 1.1 on Fedora 40

    Fedora 40! Welcome to the party!

  • Release 1.1.08

    There are very few user-visible changes for this release, but many under-the-hood changes in preparation for distribution by Debian.

  • Release 1.1.03

    “Last Christmas” top of the charts at last. Here’s a Christmas Coot.

  • Setting the Shadow-Box Size

    Most times, the shadow box will just work. However, with large assemblies one might need to change the shadow box size.

  • NCS Chain Colour Scheme

    I have recently added the function

  • Coot 1.1

    18 months after the release of Coot 1 it’s time for Coot 1.1.

  • GTK4 Coot Update

    Last year I decided to rework the interface to Coot once more - so that it uses GTK4 (emphasis on the “4”) as gui toolkit.

  • Map Masking and Jiggle-Fit

    I have added a new video on map masking and jiggle-fit:

  • Release


  • Coot vs. AA-RNA

    As you may know, the CCP4 Monomer Library has been undergoing changes recently.

  • Release

    Coot is released today.

  • Coot Tutorial 2023 Version

    Coot Tutorial

  • Gtk4 Coot Update

    After something of a hiatus, I have refreshed my efforts on GTK4-based Coot!

  • Moorhen

    Moorhen is “Coot on the Web”!

  • Moorhen Tutorial 1: Fix up the Cyclin-Dependent Kinase

    Welcome to Moorhen (“Coot on the Web”).

  • Coot Cryo-EM Tutorial 2022: Part 3

    Coot Cryo-EM Tutorial: Part 3: De Novo Model-Building

  • Coot Cryo-EM Tutorial 2022: Part 2

    Coot Cryo-EM Tutorial: Part 2: Molecular Extraction

  • libcootapi

    It’s time to talk about libcootapi.

  • Coot Graphics Tutorials

    Lucrezia Catapano has made some introductory tutorials for Coot 1.

  • Coot Cryo-EM Tutorial 2022: Part 1

    Coot Cryo-EM Tutorial: Part 1: Using An AlphaFold2 Model

  • GTK4 Coot Progress

    So the way forward for Coot on MacOS is to use GTK4 (instead of Gtk3) for the GUI. And that means a whole nother rewrite. Oh boy. Oh well, in we go then (I had known that GTK4 was in Coot’s future because it’s the route to Vulkan and all those new graphical goodies you can do on the graphics card now, but had not planned to start on it for a few years).

  • Coot 1 on MacOS

    The release of Coot 1 was met with some enthusiasm from MacOS users. The Homebrew formula for Coot, written by Yoshitaka Moriwaki was very helpful to that end.

  • Coot 1 Released

    Coot 1

  • Release 0.9.7

    We are pleased to (at last) announce the release of 0.9.7

  • Release 0.9.6

    Coot-0.9.6 was released 2nd July 2021.

  • New Coot Tutorial Videos

    I have recently added 4 videos to my YouTube channel. They cover how to do the first/basic/introduction tutorial and then how to set up your Coot for more advanced usage:

  • Release 0.9.5

    I am pleased to announce the release of Coot 0.9.5

  • Dynamic Weights

    I have added a means to dynamically change the weights during real space refinement (as the molten zone/moving atoms are being displayed)

  • Coot Goes Nuclear

    I’ve recently updated Coot so that it preferentially uses nuclear distances for bond lengths.

  • Coot Speedrun Map 2

    Coot Speedrun Map 2 is a step up from Map 1. The goal is to create, using de novo model-building, an accurate and full atomic model for a cryo-EM reconstruction.

  • Release

    I fumbled the release of 0.9.4, as I was preparing the binaries I found a critical bug. So, I’ve made a few days later. Today, that is. Here’s the combined release notes:

  • Coot Speedrun

    Here’s a bit of holiday fun: A Coot Speedrun! Pit your Coot skills against the rest of the world!

  • Release 0.9.3

    Release 0.9.3 of Coot is now available. This fixes the Colour-by-chain colours and (perhaps more importantly) fixes the problem apparent when using mmCIF files for backup/undo/redo.

  • Release 0.9.2

    This is a bug-fix release, I’d made of a mess of “colour by B-factor” colouring. This releases fixes most of that.

  • Nature Front Cover Image

    My colleagues recently published a paper (Nakane et al. (2020) “Single Particle cryo-EM at atomic resolution”) and asked me to make a figure. I did so and it is this week’s front cover image.

  • Coot Cryo-EM Tutorial 2: Fitting and Mutating

    By Ana Casañal & Paul Emsley

    This tutorial is designed for 0.9.1 or later.

  • Coot Cryo-EM Tutorial 1: Basics

    By Ana Casañal & Paul Emsley

    This tutorial is designed for 0.9.1 or later

  • Adding in Clustalw2

    Clustalw2 has now joined the Coot dependencies - that means that we can use it for alignments locally (yay!) This replaces the need to use MUSCLE on the EBI web server - which causes cut and paste kerfuffle, and that is entirely non-winning at tutorials.

  • Back to the Sticks

    Some people, maybe even myself, don’t much like having atoms in default represention. The can now be turned of globally:

  • How to Make a Bug Report for Coot

    I may have sent you this to this post. It’s because I am bored of typing out basically the same message every week for the last several years.

  • When Graphics Go Wrong: Eye-Catching or Funny Screenshots of Incorrect Geometry

    I find myself spending quite a lot of time working on the graphics system of Coot-0.9.9. There is (or has been) a lot of graphics infrasture to write/re-write/update and as I am no graphics expert, there have been many errors along the way. Some of them amused me and so I reproduce them here. Some of them are the “unselected” from a group of related images.

  • Molecular architecture of the SARS-CoV-2 virus Image

    Sai Li and co-workers (not least of whom is Max Crispin, a recent co-author of my own) published “Molecular architecture of the SARS-CoV-2 virus” in Cell today:

  • Making a Link with Coot and Acedrg

    Coot makes use of the CCP4 Program “Acedrg” to make links between ligands and proteins.

  • Curlew

    The Coot Utility Refinement Library Extension Wrangler (Curlew) is, the means by which one can easily install extensions.

  • Density Fit Graph Scale

    A long-requested feature has now (eventually) been implemented. The scale for the density fit graph is now easy to find:

  • Turn off Missing-Residue Loops

    It turns out the the missing-residue loops feature was not found to be desirable by everyone - including bucanneer users.

  • Fat Waters

    Waters and ions are now drawn with a larger radius than atoms in residues.

  • Backup file-names for Windows

    I have heard reports from Windows users that their backup file names fail to be written out. I think that this is because there are colons in the file name. To prevent this, use the following setting:

  • Protein Representation has Bond Orders

    Bond orders for protein have been enabled in Colour-by-chain mode (0.9.1-pre). I am not sure that I like it yet.

  • Coot Python API

    Coot Python API

  • Compression of Backup Files

    Sometime Coot reports that it fails to compress the backup files in the coot-backup directory. This might be, perhaps, because the full path of the directory contains a space. In such a case you can turn off the backup compression:

  • 'Too Long' CA-CA distance loop markup

    At the request of John Berrisford and Oliver Clarke, I have changed the representation of loops where the inter-residue number difference is too short for the actual distance between the residue - to say it another way, there are not enough residues in the sequence to span the gap.

  • CootVR Demo

    Hamish has recently made a demonstration video for CootVR. Slightly non-optimal video and audio, but interesting.

  • New Ramachandran Plot

    The data for the Ramachandran Plot in Clipper have been updated to Top8000 and these are now used in Coot. Here is an example of the atom selection in use and a plot for the Pre-PRO residue type.

  • Missing Loops in CA Mode

    Coot now displays missing loops with dotted lines when in CA Mode:

  • Models with Duplicate Residue Numbers are Now Allowed

    I have now enabled the reading of models with duplicate residue-numbers and insertion codes for different residues by default.

  • The Coot Spin Test

    1. Open a new coot, with no state script
  • Burn-up for Converges

    Yay, bug fix list emptied - Here is the progress over the last couple of months:

  • Variable Bond Thickness

    Now we can render our model molecules with “variable” bond thickness, so that molecules that are further away have thinner bond widths (and as we zoom in, they get thicker). You might call this “Natural” Bond Width Mode.

  • Headless N-linked CHO

    Now you can build N-linked carbohydrate without a gui:

  • Raster3D Output has Atom Labels

    So now we have labels, thanks to a request from Vito Calderone.

  • Post-Madrid Burn-up State

    We were looking like a release was imminent. But now, post-Madrid, there is more work to do.

  • User-defined Unimodal Torsion Restraints

    commit 47d61237b3e645087898a0dd9ec8c790e44dcd6f

  • Iron-Sulfur Complexes

    commit 29bb29e2704d3b0c69069fd2b4689a5fbaea5bfa

  • Planar Peptide Restraints added for PTRANS

    Trans Proline links (PTRANS) now have planar peptide restraints applied by default.

  • Link info in Header Browser

    The LINK records are now represented in the header browser:

  • CootVR at Keele University

    CootVR was demonstrated to the public for the first time at the CCP4-EM Meeting at Keele University on the 11th April 2018.

subscribe via RSS