Avogadro 0.1.0

Avogadro version 0.1.0 was released on May 18, 2007.

What Works

  • Drawing of Molecules from scratch (Atoms, Bonds)
  • Reading and Writing of over 80 chemical formats through OpenBabel
  • Manipulation of Molecule structures
  • Geometric Optimization through OpenBabel forcefield support.
  • Export to image.
  • Engine overlay system allowing different three dimensional views;
    • Wireframe
    • Ball and Stick
    • Van Der Wall Spheres
    • Atom Labels
  • Tools for interaction with the three dimensional representation;
    • Selection
      • Select Molecule
      • Select Atom
      • Select Area
    • Navigation
      • Scale (Zoom)
      • Rotation
      • Move
    • Draw
      • Draw Atom
      • Draw Bond
      • Change Atom Type
      • Delete Atom
    • Manipulation
      • Rotate Selection
      • Move Selection
    • Measure
      • Measure Distance
      • Measure Angle
  • Extensions which easy extend the functionality of Avogadro (see below for more information)
    • Select by SMILES string
    • Add/Remove Hydrogens
    • Geometric Optimization of Molecule Structure using OpenBabel Forcefields
    • GAMESS Input Deck Generation


  1. Eigen http://eigen.tuxfamily.org/ – for compiling. Not required for running Avogadro.
  2. OpenBabel 2.1.0 http://openbabel.sourceforge.net
  3. Qt 4.2.x or later http://www.trolltech.com


untar the source <pre>tar zxvf avogadro-0.1.0.tar.gz</pre>

make the build directory <pre> cd avogadro-0.1.0 mkdir build </pre>

configure <pre> cd build cmake .. </pre>

CMake takes a few optional parameters:

  • -DCMAKE_INSTALL_PREFIX= : specify the installation prefix (default /usr)
  • -DOPENBABEL2_LIBRARIES= : specify the OpenBabel2 libraries
  • -DOPENBABEL2_INCLUDE_DIR : specify the OpenBabel2 include directory
  • -DEIGEN_INCLUDE_DIR : specify the Eigen include directory

For more information see the CMake website; http://www.cmake.org/

build <pre>make</pre>

install <pre>make install</pre>

Known Issues & Limitations

This release is an early beta release and is intended to gain feedback and interest in the project.

The code currently expects to be editing one 3D molecule per file with one coordinate set. This means:

  • No animations are currently supported (or molecular dynamics trajectories, movies, vibrations, etc.).
  • Editing a multi-molecule file will only edit the first molecule. Saving will overwrite all records except the first.
  • Opening a 2D file will not result in 3D coordinates. Opening a SMILES file will not create 3D coordinates either.
  • Saving to a 2D format will not necessarily produce correct 2D stereochemistry.

  • Only one color scheme is currently available, although the code allows different types to be implemented. Suggestions are welcome.
  • Only one label scheme (by atom index) is currently available.
  • No protein ribbon or cartoon render option is available.
  • Surface rendering is not implemented.
  • The underlying rendering engines support different rendering for individual atoms, bonds, residues, etc. This is not exposed in the user interface yet.
  • The underlying code supports rendering crystallographic unit cells, but this is not exposed in the interface yet.
  • Transparent spheres for selected atoms do not always appear transparent.

  • Not all elements are available through the draw tool. A “periodic table” window will be implemented soon.
  • A three-button mouse is required to use the tools. Mac users without a three-button mouse (ideally with scroll wheel) will have difficulty.
  • The fragment library, protein and biomolecule builder features are not implemented yet.
  • The “click measure” tool does not allow measuring 4-atom dihedral angles. All output is graphical, so it is not currently possible to copy the text to another program.
  • The draw tool cannot delete a bond without deleting atoms.

  • The Mac interface is not completely “native.” A more unified, polished version is intended for the final release, without graphics in the menus and a “unified” toolbar look.
  • The atom and bond list on the right side of the window only allows a list. It is not interactive – for example, selecting an atom in the list will not select it in the view (or vice-versa). Only the atom and bond index are reported, nothing else yet.
  • Views cannot yet be removed into separate windows. In future releases, you will be able to have separate views of the same molecule in separate windows.
  • Export graphics will only save the current resolution in the window in bitmap form. Vector formats (SVG, PS, PDF) and other formats (POV-Ray) are intended to be implemented in the future.
  • No “preferences” are saved (e.g., rendering detail, default colors, etc.).

A select list of commands is currently available, mostly as examples of what can be done using the Avogadro framework.

  • Commands are only available in the “Tools” menu. Future releases will allow them to extend any menu or create new menus.
  • The “Optimize Geometry” command uses the Ghemical force field, but offers no other options. It also does not display any feedback except in the “Messages” box.
  • Only the GAMESS input generation is complete (as an example). Other programs are intended for support in future releases.
  • No scripting support (for Python, Perl, Ruby, and shell scripting) is available. Future releases will allow users to add scripts for tasks such as submitting jobs to computational programs, changing molecular structure, or other uses. The entire engine will be scriptable through Avogadro and Open Babel scripting layers.
  • A z-matrix builder command is intended for future releases.
  • A unit cell / crystal builder is intended for future releases.


Problem: OpenBabel2 / Eigen libraries are not found.

Solution: Most likely the cause of this problem is due to non-standard install locations. Additionally, the detection system for finding libraries and includes is not flawless. The most likely remedy is manually specify the library location and include directory for the package using the cmake arguments specified above.