Introduction
Using This Manual
This manual is intended for users that wish to use the library to implement their own protein design applications. It is not intended as a guide for modifying the internal components of the library. Users that wish to do that will find that the source code documentation is far more helpful.
Organization
The manual begins with an introduction to the library's purpose, structure and installation on common systems such as Linux and Windows. You are reading part of the introduction now.
The next sections are devoted to describing how to set up various parts of a protein design application. They are written in a tutorial fashion with example code embedded within the text. Physical Models describes how the library represents physical information such as the locations of atoms and molecules. Energy Functions describes how to set up your own customized energy functions to score protein conformations. Minimizers describes how to set up the many minimization algorithms available in the library.
Utilities contains descriptions of miscellanious objects found within the library. Advanced Techniques describes some of the things that have been done with the library that simply did not make sense to add to the basic tutorials.
Finally, the appendix contains two important reference sections. The class documentation contains class and function specific documentation. When you don't know what a function does, this is a good place to look. The file formats section describes the file formats that EGAD Library recognizes, their specifications, and how to read them into library objects.
Special Text
Some text in the manual is formatted specially. Important words are emphasized with bold print. Crucial points are contained in a specially colored text box (like the one for Error Checking, below). Code examples are displayed in grey text boxes with monospaced font. Code examples that represent pitfalls, or what not to do, are shown in colored text boxes with monospaced font.
Error Checking
Important
Code examples in this manual do not contain error checking. This is not recommended practice in actual code. Because these are examples, adding error checking would obscure the points being dicussed, so we have intentionally omitted it.
Contributions
If you find part of this manual difficult to understand, or wish to add your own documentation, feel free to contact any of the developers. We're happy to take suggestions and submissions!