|
| LoopBuilder () |
| Default constructor. More...
|
|
string | get_name () const |
| Return the name of this mover. More...
|
|
void | parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data, protocols::filters::Filters_map const &filters, protocols::moves::Movers_map const &movers, Pose const &pose) |
| Configure from a RosettaScripts tag. More...
|
|
void | use_fragments (utility::vector1< core::fragment::FragSetCOP > const &frag_libs) |
| Use the given fragment libraries when building the loop. More...
|
|
void | set_max_attempts (Size attempts) |
| Specify how many time to invoke KIC before giving up. More...
|
|
Size | get_max_attempts () const |
| Return the number of times KIC will be invoked before the LoopBuilder gives up. More...
|
|
| LoopMover () |
| Default constructor. More...
|
|
| ~LoopMover () |
| Default destructor. More...
|
|
void | apply (Pose &pose) |
| Sample the pose in the regions specified by get_loops(). More...
|
|
bool | was_successful () const |
| Return true if the previous move was successful. More...
|
|
Loops | get_loops () const |
| Return the loops to be sampled on the next call to apply(). More...
|
|
core::scoring::ScoreFunctionCOP | get_score_function () const |
| Return the score function to be used on the next call to apply(). More...
|
|
core::scoring::ScoreFunctionOP | get_score_function () |
| Return the score function to be used on the next call to apply() (non-const access). More...
|
|
void | set_loop (Loop const &loop) |
| Set the loop to be sampled on the next call to apply(). More...
|
|
void | set_loops (Loops const &loops) |
| Set the loops to be sampled on the next call to apply(). More...
|
|
void | set_score_function (core::scoring::ScoreFunctionOP sfxn) |
| Set the score function to be used on the next call to apply(). More...
|
|
virtual FoldTreeRequest | request_fold_tree () const |
| Return an enum representing the kind of fold tree that is compatible with this mover. More...
|
|
void | trust_fold_tree () |
| Promise that the calling code will setup a fold tree compatible with request_fold_tree(). If this method is not called, most movers will setup a fold tree on their own the first time apply() is called. More...
|
|
| Mover () |
|
virtual | ~Mover () |
|
virtual MoverSP | create () |
|
virtual void | apply (core::io::serialization::PipeMap &pmap) |
|
virtual void | parse_state (SerializableState const &state) |
|
virtual void | parse_def (utility::lua::LuaObject const &def, utility::lua::LuaObject const &score_fxns, utility::lua::LuaObject const &tasks, MoverCacheSP cache) |
|
virtual void | save_state (SerializableState &state) |
|
| Mover (std::string const &type_name) |
| sets the type for a mover; name_ has been removed (2010/05/14) More...
|
|
| Mover (Mover const &other) |
|
Mover & | operator= (Mover const &other) |
| assignment operator More...
|
|
virtual core::Real | last_proposal_density_ratio () |
|
std::string const & | type () const |
|
void | set_type (std::string const &setting) |
|
std::string | get_current_tag () const |
| A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
|
|
void | set_current_tag (std::string const &new_tag) |
|
virtual void | set_input_pose (PoseCOP pose) |
| setter for poses contained for rms More...
|
|
virtual void | set_native_pose (PoseCOP pose) |
| setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
|
|
PoseCOP | get_input_pose () const |
|
PoseCOP | get_native_pose () const |
|
virtual void | test_move (Pose &pose) |
| : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
|
|
void | type (const std::string &type_in) |
|
virtual MoverOP | clone () const |
| Return a clone of the Mover object. More...
|
|
std::string | get_type () const |
|
MoverStatus | get_last_move_status () const |
| end parser interface, start Job Distributor interface///////////// More...
|
|
void | reset_status () |
| resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
|
|
virtual core::pose::PoseOP | get_additional_output () |
| Mechanism by which a mover may return multiple output poses from a single input pose. More...
|
|
virtual void | clear_info () |
| Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
|
|
virtual Strings & | info () |
| non-const accessor More...
|
|
virtual Strings const & | info () const |
| const accessor More...
|
|
virtual bool | reinitialize_for_each_job () const |
| Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
|
|
virtual bool | reinitialize_for_new_input () const |
| Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
|
|
virtual MoverOP | fresh_instance () const |
| Generates a new Mover object freshly created with the default ctor. More...
|
|
void | set_current_job (protocols::jobdist::BasicJobCOP job) |
|
jobdist::BasicJobCOP | get_current_job () const |
|
virtual void | show (std::ostream &output=std::cout) const |
| Outputs details about the Mover, including current settings. More...
|
|
Build loops from scratch.
- Author
- Kale Kundert
-
Roland A. Pache, PhD
Building a loop from scratch is useful in two scenarios. The first is when there's missing density that needs to be modeled, and the second is when the whole loop modeling algorithm needs to be benchmarked. This mover uses kinematic closure (KIC) to build loops. By default, the loop are built by picking phi and psi values from a Ramachandran distribution and setting all other DOFs to ideal values. Phi and psi values can also be picked using fragment libraries. Loop building succeeds when a model is found that passes a more-lenient-than-usual bump check. If no such model is found after 1000 iterations, the mover gives up and reports failure.
This process can be very slow for long loops, because there's nothing guiding the algorithm towards the right solution. By default, torsions are just being randomly picked, and they often won't fit in the relatively narrow space that's available. The problem is worse for interior loops than it is for surface loops, of course. This algorithm seems to work well enough on 12 residue loops, but beyond that it may be necessary to develop a smarter algorithm that preferentially builds into free space.