The Object Technology Framework (OTF) is a software system developed at the University of California, San Francisco Computer Graphics Laboratory for creating powerful C++ classes that facilitate rapid biomolecular application development.
The OTF organizes an application's molecular data into natural abstractions such as atoms, residues, molecules, etc., encapsulated as C++ classes. The application developer specifies what OTF-supported functionality he/she wants each class to have and the OTF automatically generates classes that incorporate the designated features. No unwanted functionality is included.
The application developer will typically also want to extend the classes to support application-specific data and functionality. Such extensions are specified in the same format that OTF features are specified (C++ code segments embedded in identifying tagged delimiters). Consequently, if the programmer creates extension functionality that is of general utility, it is easy to incorporate the functionality back into the OTF as a new feature for use with future applications.
There are standard C++ mechanisms for providing mix-in functionality, customizability, and re-usability as described above. These mechanisms for the most part work well in the context of single application or closely-related suite of applications, but have severe shortcomings in the context of a library usable by various unrelated applications. The development of the OTF has always been motivated by the realization that biomolecular application developers were constantly re-inventing functionality present in other applications and that it would be a great leap forward if such functionality could be offered as easily re-usable components that could be simply integrated into custom applications. The functionality would be tested, would be complete, and would be consistent from application to application. The shortcomings in C++ library re-usability stood in the way of these very desirable goals, and therefore the OTF was developed to offer a way to make functionality generally re-usable.
The major functionality that is provided with the OTF is:
(Features shown in this style are being developed and are not yet available)
Aside from the features that should be completed in the near term, noted in the preceding section, we anticipate two principal areas of effort for expanding the functionality of the OTF.
First, we anticipate adding import/export functionality to and from additional molecular data formats, particularly generic formats such as mmCIF and CEX.
The second area will be to create toolkits of features for use in specific problem domains of biochemical analysis. We anticipate that the first such toolkits would deal with NMR analysis and molecular dynamics.