Welcome to the second alpha release of the UCSF Computer Graphics Laboratory's Object Technology Framework (OTF) for molecular modeling and computational chemistry. This release just contains the molecule object toolkit. The IFS (Item File System), that you may have read about in the Proceedings of the NSF Scientic Database Projects 1991-1993, will be part of a future release. The source directory structure is: ./bin/ source for applications (both developer and end user) ./lib/ source for linkable libraries ./doc/ source for documention The installation tree is the familar: ${OTFHOME}/bin/ installed programs ${OTFHOME}/include/ installed include files for libraries ${OTFHOME}/lib/ installed code libraries and data files for applications ${OTFHOME}/man/ installed manual pages All of the code is written in C++ and was developed using the GNU project's gcc and libg++. It was compiled locally with gcc version 2.6.3 and libg++ version 2.6.2 (and some modifications to the genclass script, see below). The C++ is fairly generic, but there are dependencies on the container classes provided by the libg++ library. We were planning to add support for other container class libraries. But we may just switch over to the Standard Template Library. The Makefile's in the the source hierarchy support three different types of installation, sysv.install, bsd.install, and osf1.install. You should be able to do a "make xxxx.install" in this directory and have everything install correctly. There is a mailing list, otf@cgl.ucsf.edu for reporting bugs and for general discussion of the OTF. Send mail to otf-request@cgl.ucsf.edu to be put on the mailing list. We are especially interested in hearing about what functionality you think should be added. Greg Couch, gregc@cgl.ucsf.edu January 1995 Changes since the first release: The code has been modified to compile under gcc 2.6.3. The bool type is used, const correctness is improved (used the mutable keyword for the first time), conforms better to standard C++. >>> Added two new argument types to libg++'s genclass script, ptr and cptr, for pointer and const type pointer. We also modified some of the g++-include/gen/*P prototype files to more const correct. The diff's to genclass can be found in genclass.diffs and are needed to build the mol library. There has been some code reorganization. For example, the tmplBondRadius function has been moved to the mol library into the AtomicSymbol class. In mol library, there is a new Geom3d class (future namespace) for 3D transformations. In mol library, switch from coordinates being 3 float's to 3 double's to avoid precision problems. We would like to add back the option of using float's for applications that don't need double's, but if you don't have double's when you need them, you're out of luck. In mol library, fixed a bug with Iterator's where the count function wasn't copied when it should have been. In the molgraph library, aggregate interators were added (this makes it possible to iterate over all of the dihedrals). No ring detection yet.