home overview research resources outreach & training outreach & training visitors center visitors center search search
Full source code for all of our software distributions is available. Licensing terms vary with the package. The available packages are:
extensible molecular modeling system
Cytoscape plugins
visualization plugins such as StructureViz and ChemViz
create transmembrane proteins images
tool for determining protein similarity
PDB record I/O libraries
read/write PDB files
compute protein secondary structure
Virtual sphere
3D manipulation with a mouse
NMR data analysis software
NMR computation and visualization
Simple OpenGL Stereo Test Program

Deprecated software includes:

molecular visualization
compute molecular surfaces
Object Technology Framework
C++ molecular class generator
SGI OpenGL stereo software
automatically switch SGI stereo mode


TOPO2 is an open source program written in Python for the creation of transmembrane protein 2D topology images. It makes no attempt to predict the TMDs that it displays. The user needs to supply that information. Residues of interest can be highlighted, if desired.

PDB Record I/O Libraries

We have open source versions of two libraries for reading and writing Brookhaven Protein DataBank (PDB) formatted files. One library is written in the C programming language, and other in the C++ programming language. Each can parse a PDB record (one line) into a structure, and output a PDB record from a structure.

Also available is an electronic poster with a description of the scene annotations to PDB files that the above libraries support. The full paper describing the annotations has been published in the Journal of Molecular Graphics 13, 3 (June 1995).


ksdssp is an open source implementation of the algorithm described in Wolfgang Kabsch and Christian Sander, "Dictionary of Protein Secondary Structure: Pattern Recognition of Hydrogen-Bonded and Geometrical Features," Biopolymers, 22, 2577-2637 (1983).

The package is distributed in C++ source code form and uses the C++ version of the PDB record I/O library above.

Virtual Sphere

We have an open source implementation of a "virtual sphere" algorithm, which provides a means for interacting with an object in three-dimensions using a workstation mouse. This technique is similar to the one described in: M. Chen, S. Mountford, and A. Sellen, "A Study in Interactive 3-D Rotation Using 2-D Control Devices," Proceedings of SIGGRAPH '88, Computer Graphics 22, 4 (August 1988), pp.121-129.

NMR Data Analysis Software

Through our close relationship with the UCSF Nuclear Magnetic Resonance Laboratory, we develop and distribute applications for performing data analysis and display from magnetic resonance spectroscopy experiments. Available software includes MARDIGRAS, a package for calculating proton-proton distances from cross-peak intensities measured from a 2D NOE experiment, CORMA, a package for calculating the dipole-dipole relaxation matrix for a system of protons and converting that to intensities expected for a 2D NOE experiment, and SPARKY, an open source package for doing NOE cross peak assignments.


The stereotest program is a simple OpenGL program for troubleshooting OpenGL 3D stereo in a window on Linux and Windows. Binaries and source are available.

Deprecated Software


Our Chimera extensible molecular modeling system has supplanted Midasplus and we are no longer distributing this software.

MidasPlus (Molecular Interactive Display and Simulation) is used extensively for the display and manipulation of macromolecules. Features of MidasPlus include the selective display of protein and nucleic acid structures, display of several types of molecular surfaces including van der Waals, solvent accessible, and space filling images with shadows, ability to depict protein secondary structure using "ribbon" drawings, viewing of images in three dimensions using stereo glasses, and easy interactive adjustment of various viewing parameters.


NOTE: If you are using DMS to generate UCSF DOCK input, it is much easier to use UCSF Chimera's Write DMS tool instead.

DMS is an open source program written in C for computing the molecular surface of a molecule. It can distribute the computation across multiple hosts for maximal performance. The surface computed is that defined by F. M. Richards (1977, Ann. Rev. Biophys. Bioeng.). In addition to the molecular surface, DMS can report the molecular surface area associated with each surface point, and surface normals at each surface point.

DMS may be downloaded either in zip or shar format. The zip archive (dms.zip) can be expanded using either the "unzip" command or any zip utility program. The shar archive (dms.shar) can be extracted with the command sh < dms.shar from a Unix or Cygwin shell. In either case, the result should be a "dms" directory that contains the source to DMS as well as a README file describing how to compile DMS.

Object Technology Framework

Our Object Technology Framework (OTF) is an open source package for easily generating powerful C++ classes tailored to the needs and specifications of biochemical application developers.

SGI OpenGL Stereo Software

Autostereo is an open source package for developers to support adding multi-application stereo support on SGI IRIX workstations. The first application to use a stereo window will cause the video format to switch to stereo viewing and when the last application is done with stereo, the video format switches back. The package includes a small library for linking with applications and a daemon that can be invoked automatically by the library or placed in a X session file.

Laboratory Overview | Research | Outreach & Training | Available Resources | Visitors Center | Search