home overview research resources outreach & training outreach & training visitors center visitors center search search

Source Code for UCSF Chimera

Browse the source code at the Chimera SVN repository. To check-out a copy of the Chimera source code use

	svn checkout http://svn.cgl.ucsf.edu/svn/chimera/trunk chimera

Compiling Chimera requires building over 40 third-party packages and is not recommended. See below for the problems you will face.

Python Code

Most of Chimera is written in Python and that code is included in all distributions in

	chimera/share

or on Mac computers in

	Chimera.app/Contents/Resources/share

(On Mac OS 10.5 or later ctrl-click on the Chimera icon and choose Show Package Contents to see the folders inside Chimera.app.)

C++ Header Files

The Chimera C++ header files are included in Chimera distributions in

	chimera/include

Uses of the Source Code

The links on this page provide software developers interested in writing extensions to Chimera with access to all of the UCSF-developed Chimera source code. This allows extension writers to see exactly how Chimera works. Note that most of Chimera (~85%) is written in Python, and the Python source is automatically included with every Chimera distribution (see subdirectories of chimera/share or, on OS X systems, Chimera.app/Contents/Resources/share). This makes it easy for the vast majority of developers to write their own extensions.

Note that it's not possible to re-compile a fully functional Chimera from the source code distributed here because we do not include the proprietary solvent-accessible molecular surfacing library, MSMS, developed by Michel Sanner and licensed separately by Scripps Research Institute. In addition, creating a full build-from-source copy of Chimera is challenging and depends on getting a bunch of things in the build environment set up just right for your particular platform. We do not have any documentation describing the details of our build environment or procedures we use; sorry, but this would require too much time and be of benefit to too few to make it worthwhile for us to do.

The distributions below with "headers" in the name contain the C++ and C header files for Chimera and third party packages used to build Chimera. The Python header file pyconfig.h depends on the operating system while all others are the same for all operating systems. Note that header files are now included with all Chimera distributions. Headers are in the include directory of the distribution. The distributions with "source" in the name include both the Python and C++ Chimera source code. The distributions with "foreign" in the name consist of approximately 40 third party packages used by Chimera. You will probably not need these foreign packages to understand how Chimera works.

Chimera source code is covered by the same license agreement as our Chimera binary distributions.

Questions about the source code should be sent to the Chimera Developer's mailing list.