The conformational search method specifies how CONGEN explores the conformational space dictated by the degrees of freedom. The SEARCH global option is used to specify which method is used. If no SEARCH option is specified, then the program uses the depth-first search method. The directed search methods are still under development, and are subject to more caveats than the rest of the program. See Overview of Directed Searching, for more information.
If the DEPTH option is specified, the program does a depth first search of the conformational space. The program tries to go down each branch of the search tree until it is either blocked or reaches the leaves. It then backs up to the closest open node to continue its search. This method is the most space efficient, and should be used for shorter loops where a complete search is feasible.
The RDEPTH option is similar to the DEPTH option, except that the children of a node expansion are randomly permuted before being put into the search tree. Effectively, it randomizes the order of search, but is still exhaustive and space efficient.
The BREADTH option specifies the use of a breadth-first search. Here all open nodes for one degree of freedom are expanded before the next degree of freedom is processed. This method is the worst case search method from the space utilization aspect, but was included for completeness.
The EVAL, DEVAL, and MIX options all specify different types of directed searches. These searches can be directed by four different evaluation criteria; ENERGY, RMS, WRMS, and RANDOM. The ENERGY criteria is the calculation of the energy, and it is applied to all of the atoms constructed at the level of the node. The RMS criteria is the Root Mean Square deviation of the constructed atom coordinates with respect to the coordinates of those atoms at the start of the CONGEN conformational search command. The WRMS keyword is mnemonic for Worst RMS, and directs by the worst match rather than the best. The RANDOM criteria is just a random number between 0 and 1. It is most useful when random structures are to be generated using the directed search. See Miscellaneous Global Options, for a description of the SEED keyword for setting the seed for the random number generator.
The EVAL option specifies the evaluation directed search. Here, the program always expands the node which has the lowest evaluation criteria.
The DEVAL option specifies the deepening evaluation strategy. Each degree of freedom is selected in turn, and the open node with the lowest evaluation at the level is selected for expansion. This method drives the search toward the leaves, but generally does not yield high quality results.
The MIX option specifies the mixed strategy, which alternates between the EVAL and DEVAL methods. Currently, it is the best directed search strategy.
The options, EINHERIT and EIMMEDIATE, control evaluation and expansion for specific degrees of freedom during a directed search. These options can be specified for any degree of freedom. The option, EINHERIT, specifies that the value of nodes generated for a degree of freedom inherit their values from their parents.
The option, EIMMEDIATE, specifies that nodes generated from a degree of freedom will be expanded immediately. This is done by setting the value of the node to the largest negative number. The effect is to bypass the degree of freedom from the selection process. This option is very useful in energy directed searches where one wants to direct the search based on backbone and sidechain energies together. In such cases, the EIMMEDIATE option is specified for all backbone and chain closure degrees of freedom. See Energy Directed Search Example, for a nice example.
With the directed search strategies, tree pruning is essential. See Tree Pruning Options, for a description of this process and how it can be controlled.
The QMIN and QMAX options control the size of the work queue when parallel processing is used. The default values for this variables depends upon the type of search. For an exhaustive search, they are set to 10 and 40 times the number of CPU's in use, respectively. For a directed search, they are both set to the number of CPU's. See Parallel Command, for a description of how the number of CPU's can be set. QMIN must always be less than or equal to QMAX.