Design and application of PDBlib, a C++ macromolecular class library

Abstract
PDBlib is an extensible object-oriented class library written in C++ for representing the three-dimensional structure of biological macromolecules. The software design strategy, features of many of the 129 classes currently distributed with the library, and two sample applications which use the library are described. Version 1.0 of the library represents the structural features of proteins, DNA, RNA and complexes thereof at a level of detail on a par with that which can be parsed from a Protein Data Bank (PDB) entry. However, the memor, v-resident representation of the macromolecule is independent of the PDB entr and can be obtained from other sources, e.g. relational and object orien ted databases. PDBlib classes are organized into four categories. (i) classes that model the macromolecule; (ii) classes that enhance the extensibility of the library; (iii) classes that provide navigation facilities of the object orien ted macromolecular structure representation; and (iv) a class that loads a PDB file into the memory-resident object-oriented representation. A number of general- purpose procedures that return features of this representa tion and that are relevant to all biological disciplines are included in (i). The library has been used to develop PDBtool, a prototype structure ver tool, and PDBview, a structure rendering tool that requires no specialized graphics hardware and software. Current work centers on making the macromolecular structures repre sented by PDBlib persistent using a commercial object-oriented database and providing an additional class library, MMQLlib, to query those structures.