Macromolecular Geometry
Calculation Programs

"geometry" code library 2.0


This is a general "code base" for geometric calculations on macromolecular structures. It includes: (1) code and executables for calculating Voronoi polyhedra and Delaunay triangulations; (2) programs to calculate related geometric quantities -- such as accessible surfaces, helix axes, least-squares fits, H-bonds, VDW contacts, and crystal symmetry; and (3) many data files associated with this -- e.g. standard volumes and radii.

The primary use of this computer code is for volume or surface calculations. If you use it for calculating volumes, please refer to the following references:

J Tsai, R Taylor, C Chothia & M Gerstein (1999). "The Packing Density in Proteins: Standard Radii and Volumes," J. Mol. Biol. 290: 253-266.

J Tsai & M Gerstein, "Volume Calculations of Protein Atomic Groups: Sensitivity Analysis and Determination of a Minimal Set of Volumes," submitted.

If you use the code for other purposes (such as calculating surfaces areas or helix axes), please cite:

M Gerstein (1992). "A Resolution-Sensitive Procedure for Comparing Protein Surfaces and its Application to the Comparison of Antigen-Combining Sites," Acta Cryst. A48: 271-276.

Authorship, Copying, Building, Using...

This code was assembled by Mark Gerstein. Much of it was written by Mark Gerstein but there are substantial contributions from Jerry Tsai, Yehouda Harpaz, David Hinds, and others. This code is copyright 1995, 1999.

You are free to use it for whatever academic calculations you may wish to. However, you are asked to:

  1. Cite the references above when you use the programs for published work;
  2. Keep this statement with the programs;
  3. Not incorporate this code into any commercial programs without obtaining explicit permission from the author.

Contact Mark Gerstein if you have any questions or difficulties.

Most everything here is written in the C language and compiles using make under unix. It has so far been tested on DEC alphas, SG Indigos, and a i486s thorugh PIIIs running linux. To get everything going, just type 'make' in the top level directory and all the libraries and executables should be built and tested.


data / README . This subdirectory contains various data files pertinent to the calculations -- e.g. standard radii and volumes for atoms.

src-prog / README . These were the original programs distributed with version 1.0 of the code -- calculation of Voronoi volumes, accessible surfaces, and the Delauney triangulation.

src-prog2 / README .This directory contains extra programs for finding H-bonds, VDW contacts, and helix axes.

src-prog3 / README . This directory contains programs to calculate packing efficiency, generate crystal symmetry, and do RMS fitting.

sh / README . This directory contains perl scripts for condensing and expanding volume data files.

src-lib / lib . The library source and binary is contained in these subdirectories.

sample-runs .Sample runs are in this directory.

bin . The executables.

Location of the code

This file and all the computer code is located at the following URL:

This URL is a tar achive that contains the source code plus sample output and scripts for checking out the programs. To extract files from the archive use the command 'uncompress -c code-mbg.tar.Z | tar xvf -' .

Unpacked versions of all the computer code is located at:

There are also pre-built libraries and executables for DEC alpha, Silicon Graphics, and i486 linux computers stored at:

These binaries are stored in the subdirectories lib-alpha, lib-sgi, lib-linux, bin-alpha, bin-sgi, and bin-linux .


25 October 1995 -- Version 1.0, released code

3 May 1996 -- Version 1.1, Corrected bug that prevented the calculation of hydrogen volumes, Corrected bug (I think) that lead to the first atom type being given a zero radius. To make doubly sure this doesn't happen, just make this first atom type a dummy type ("JUNK").

7 June 1996 -- Version 1.101, Added a few references to this README

26 November 1996 -- Version 1.102, Fixed typing of GLY CA (was C4H, now C4HH)

24 December 1996 -- Version 1.103, Updated this README file to better document the calculation of Delauney Tessellations [Version 1.103 README]

25 July 1997 -- Created version "1.0" of "extra-mbg" programs. [original readme]

10 September 1999 -- Version 2.0b1

Other References

Regarding surfaces and volumes, you may also want to look at:

M Gerstein, J Tsai & M Levitt (1995). "The volume of atoms on the protein surface: Calculated from simulation, using Voronoi polyhedra," J. Mol. Biol. 249: 955-966.

Y Harpaz, M Gerstein & C Chothia (1994). "Volume Changes on Protein Folding," Structure 2: 641-649.

F M Richards (1974), J. Mol. Biol. 82: 1-14; F M Richards (1977), Annu. Rev. Biophys. Bioeng. 6: 151-176

M Gerstein & C Chothia (1996). "Packing at the Protein-Water Interface" PNAS 93: 10167-10172.

M Gerstein & R M Lynden-Bell (1993). "What is the natural boundary for a protein in solution?" J. Mol. Biol. 230: 641-650.