A Cache is used to keep in memory some sub-structures that have already been generated to reduce redundant processing. It is generally attached to a backtrack fragment generator. It is possible to reduce the number of cache-saved structures by eliminating any new structure that is too similar to the previously generated ones. This allows one to avoid generating plenty of equivalent models and greatly facilitates results analysis. The selection algorithm performs Root Mean Square (RMS) alignment of any new structure with all cache-saved models and for each comparison, it returns the RMS deviation. Any value smaller than a user-set RMSD bound will cause the new model to be rejected. The basic idea behind this algorithm is to minimize the differences between the coordinates of corresponding atoms by doing a set of translations and rotations of the ``fit'' set.
Typical values of the RMSD bound are in the range [ 0.0, 5.0 ].
Extensive use of cache objects while modeling large molecules causes the memory needed by the program to grow very rapidly. It is advisable to limit excessive cache growth by an appropriate RMSD bound. This will avoid unecessary virtual memory swapping (or even overflow) and will considerably decrease the execution time.
<name1> = cache (<name><filter function>)
<filter function> | = | rmsd ( <bound> [align] [ <atomset>] [no_hydrogen]) | ||
<atomset> | = | all | base_only | backbone_only | pse_only |
Example:
hairpin_cache = cache ( hairpin rmsd (1.0 base_only no_hydrogen) ) |