If you’re a chemist, you need to visualize and model molecular information. Avogadro lets you interactively build and edit molecular models on your screen. You can buy commercial applications that let you visualize molecules for upwards of $10,000 per seat, but few of them let you build new molecules or edit existing chemical data, as this open source application can.
With Avogadro you can see in 3-D the shape and structure of chemistry. Want a protein? Want to see a gold surface? Want to build the next great cancer treatment? Avogadro’s the tool for you.
Geoff Hutchison, an assistant professor in chemistry at the University of Pittsburgh, and Donald Curtis began planning Avogadro in 2006. The project got a big help the following year with a Google Summer of Code project from Marcus Hanwell, who has now become a lead developer. Today, the project is releasing Avogadro 1.0, in honor of its namesake. Avogadro’s number is 6.02×1023, so chemists often celebrate October 23 as Mole Day.
When he set out to build the application, Hutchison says, “I needed something like Avogadro. I didn’t really see any truly great tools to create molecular models. For my research, it’s the critical first step of doing computational chemistry simulations – you need the molecular data!
“We’ve tried to make the most intuitive program for building chemical systems – molecules, proteins, crystals, nanotubes, whatever. And we’ve made everything modular – almost everything is a plugin – so you can easily add or change functionality. We want Avogadro to be flexible and scale from educational use to advanced research.”
Avogadro is written in C++ and uses the Qt user interface toolkit. “This allows us to have releases on Windows, Mac, and Linux simultaneously. Qt has also really helped out with multithreading our interface – most of the chemistry simulation occurs in the background on multicore machines, which makes the interface much smoother.”
The chemistry side is largely handled by the Open Babel toolkit, since it handles scores of chemistry file formats and data types. Hutchison is also the lead developer for Open Babel.
In Avogadro, if you’re drawing a molecule, you can switch elements, say from from carbon to nitrogen, by just typing the atom symbol. You can also move things around with either the mouse or the arrow keys.
One of the coolest features, Hutchison says, is the auto-optimization tool. “This lets you optimize the geometry of a molecule as you edit or manipulate it. Think of it as running an interactive chemistry simulation. Pull an atom, and the molecule will respond. Drag a molecule around, and you can see others move in response. It’s like a little video game.”
The project makes regular bug-fix releases, and anticipates a major feature release every year. Hutchison also hopes that the Python scripting interface and plugin framework will make it easy for people to add features and extend Avogadro between releases.
Right now, about 15-20 people work on the code, and Hutchison says “we’d love to have more contributors. We could use help with documentation and tutorials (particularly for education), translations, OpenGL rendering optimization, GLSL shaders … We’ve got a list on our wiki actually. Of course people can always contact us on the avogadro-devel@lists.sourceforge.net mailing list.”
Today Avogadro has been adopted by a lot of universities for teaching, but it has also gained traction in the business and research communities. “We will shortly have our first journal cover,” Hutchison says, “and there’s a blog posting about using Avogadro to visualize molecular databases for drug leads.”