Instead of systematically trying every possible conformation for each residue, this probabilistic algorithm takes a random conformation for each residue. If this random choice of conformations satisfies every given structural constraints, the probabilistic algorithm has succeeded in finding a complete valid tertiary structure for the molecule. It will save this correct solution and make another set of random choices for each residues conformation. If the random choices doesnt satisfy every constraints, the current solution is simply ignored and probabilistic exploration continues with a new set of random conformations. This Las Vegas probabilistic algorithm doesnt achieve an exhaustive tertiary structures exploration. It randomly find a subset of every possible tertiary structures for a molecule. However, non-exhaustive probabilistic exploration has a major advantage over exhaustive exploration by backtrack, that is its higher valid structures finding rate. Actually, probabilistic exploration succeed more rapidly in finding a correct path from the implicit tree root to one of its leaves. Even if this probabilistic approach to explore a molecules tertiary structures seems quite naive, it has the benefit of never become trapped in an excessively fastidious and useless exploration of a sterile sub-tree due to a shallower residue conformation. A consequence for this approach is that valid tertiary structures are generated independently, so theres more diversity in a given set of tertiary structures explored by a Las Vegas algorithm than by a backtrack algorithm. In fact, the chances are that a newly found tertiary structure by probabilistic exploration will be totally different from its predecessor, which aint the case in exploration by backtrack.
The cache fragment generators in the exploration tree are disable when using the probabilistic search. To filter the generated structures, use the cache sub-statement described below.
exploreLV (<name> [<filter function>] [<option>] [<time limit>] [<backtrack size>])
<filter function> | = | rmsd ( <float> [align] [ <atomset>] [no_hydrogen]) | ||
<atomset> | = | all | base_only | backbone_only | pse_only | ||
<option> | = | file_pdb (" <Cformat>" [zipped]) | ||
= | file_rnaml (" <File name>" [zipped]) | |||
= | file_bin (" <Cformat>" [zipped]) | |||
= | socket_bin (" <address>" <port> " <Cformat>") | |||
<time limit> | = | time_limit ( <time limits>+) | ||
<time limits> | = | <integer> seconds | ||
= | <integer> sec | |||
= | <float> minutes | |||
= | <float> min | |||
= | <float> hours | |||
= | <float> hr | |||
= | <float> days | |||
= | <float> d | |||
<backtrack size> | = | backtrack_size ( <integer> <integer>) |
The filter sub-statement builds a special cache for filtering the structures to be saved.
The only present filtering function is a rmsd function that compares the new solution with the cached ones. It's arguments are the rmsd lower bound, an flag to align the candidate structure with it's best match in the cache and the atom sets to be considered in the rmsd function.
The optional zipped keyword will enable the compression of output files.
Example:
exploreLV ( anticodon rmsd (1 align base_only no_hydrogen) file_rnaml ("PDB/helix.xml" zipped) time_limit (1 days) ) |