Copyright © 1996 by the Regents of the University of California.

Libtmpl Overview

The template library, libtmpl.a, provides classes and functions for accessing molecular data templates. (A reminder: these are not C++ templates.) The only functionality currently in library is support for residue templates. See the manual pages for the routines listed below for more details. (i.e., use the loader option -ltmpl)

Residue Templates

The residue templates are a specific instantiation of genlib Molecule toolkit classes where the classes have been renamed to be TmplBond, TmplAtom, TmplResidue, TmplCoord, TmplCoordSet, and TmplMolecule. The above classes are mostly like the normal ones except that the TmplResidue class contains two more functions, chief() and link() which, respectively, return a pointer to the TmplAtom which connects the residue to the previous or following residue (this is meant for protein chains). Also, the container class for the residues is indexed by the residue type rather than the residue's MolResId.

All of the residue template classes and associated functions (see next section) accessed by including <tmpl/residues.h>.

The residue templates were taken from the AMBER program LEaP. There are 3 different histidine templates: HID -- which has a hydrogen connected to ND1, but not NE2; HIE -- which has a hydrogen connected to NE2, but not ND1; and HIP -- which has both of the previous hydrogens. HIS is mapped to HID for compatibility reasons.

Residue Template Functions

const TmplResidue *restmplFindResidue(Symbol name, bool start, bool end)
Find a residue template by name. The start and end arguments indicate if the template should be for a residue at the beginning or end of a chain. For example, there are different templates for the N-terminus and the C-terminus of amino acids.

Greg Couch, UCSF Computer Graphics Laboratory