Next: , Previous: Build Table Execution Time, Up: Building Tables


17.1.5 DIFF and COMPARE Build Table Options

Normally, the BUILD command will build a table using the main calculation. However, if one specifies COMPARE, the comparison data structures will be used for the table generation. The specification of DIFF directs that a difference table be built. Difference tables require different handling than standard tables. The data in the table results from subtracting the data generated using the comparison calculation from the data generated from the main calculation. I.e. TABLE = MAIN - COMPARISON. Further, atoms must be paired properly in order to ensure that the correct quantities are subtracted. Let us examine the use of the atom pairs more closely.

If a table is constructed from atom properties, we can use the atom pair list directly to define what data points are equivalent, and therefore, should be subtracted form one another. For difference tables of internal coordinate properties (we consider hydrogen bonds to be internal coordinates in this discussion), the process of finding equivalent internal coordinates is more complex. It can be done as follows: for every internal coordinate in the main calculation, we look up each of the atoms in the atom pair list. If any atom is not found, we ignore that internal coordinate. From the equivalent atoms, we construct the equivalent internal coordinate for the comparison structure. The presence of the equivalent internal coordinate in the comparison structure indicates that we have found an equivalent pair. The pairing that is generated after examining all internal coordinates is used to relate the numbers generated for non-atom properties.

The other accommodations that must be made for the difference tables results from the various identifiers used in the table. Segments in the table correspond to a segment pair, so two segment identifiers must be kept for every table segment. Each residue in the table requires to two residue names and two residue identifiers. Likewise, the tags for atoms now refer to an atom pair. If the tags for both atoms in a pair are the same, then the tag for the pair is the same as the tag for one atom. If the atoms are different, the tag is formed by concatenating the tags for both atoms and separating them by a colon. Finally, the table is marked as a difference table so that the PRINT command can handle the double segment and residue identifiers correctly.