Source Code for UCSF Chimera
Browse the source code at the Chimera SVN repository. To check-out a copy of the Chimera source code usesvn 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.
Most of Chimera is written in Python and that code is included in all distributions inchimera/share
or on Mac computers inChimera.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 inchimera/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.