Developer Tale

The Lure of the Sandbox

Paul Emsley and Coot

MRC Laboratory of Molecular Biology, UK

Published October 15, 2011

A little over a decade ago, Paul Emsley, biochemistry professor at the University of Oxford, was looking to ditch his white coat. What he really wanted was to spend more time programming in the computer lab. “I was happy using existing software tools,” said Emsley, who had used O and other tools in his research. “But you go down the pub and think, if only the tool did this, and if only it did that. That festered for years.”

In the late 1990s, Emsley had the opportunity to join the lab of Kevin Cowtan at University of York with the task of implementing software to perform crystallographic “ridge line tracing” in three dimensions, a concept first imagined in the 1970s by Johnathan Greer, now Director of Structural Biology with Abbott Global Pharmaceuticals.

Early on in this work, and at the beginning of a Christmas holiday, Emsley realized that he wanted his program to be visual, to show the molecules, electron density maps and noncrystallographic symmetry. “There was no easy way of showing these with other people's tools,” says Emsley. “I spent that holiday playing with this idea, and I have just not stopped playing.”

That holiday's work eventually produced Coot.

Since then, Emsley, along with other contributors including Cowtan, have continued to expand Coot. It includes a feature similar to the Lego-like fragment selection tools in O. Coot also includes a novel way of representing electron densities in 3D using a technique called “marching cubes” rather than using contour algorithms. In addition, Coot provides very convenient ways to transform data and view from one representation to another.

That convenience comes from Coot's graphical interface. “Click-click on the data, and up pops a map,” says Emsley. The easy to navigate menu systems allow users to “discover” the program's features rather than memorizing commands. Also, the program “is forgiving,” he says. “You can drag things around in the model and then undo them. Coot doesn't punish you for exploring or experimenting.”

COOT is also an open source program with a GPLv3 license. Anyone can view the source code and submit suggested changes. Emsley recently updated Coot to include changes supplied by a researcher who models RNA. In addition, Phenix integrates with Coot through its Python interface.

In an upcoming release, Coot will include a novel model representation that is more familiar to chemists. “When you try to get medicinal chemists to look at Coot, it just doesn't work,” says Emsley. “They want to see a standard chemical structure diagram, so that's what we're working on.”

While it has become a bit of a standing joke, Emsley believes that version 1.0 will be released within the 18 months promised on Coot's website (http://www.biop.ox.ac.uk/coot/). Regardless, nightly builds provide fully tested releases daily, so users awaiting new features can begin using them as soon as they are complete.

-- Elizabeth Dougherty