|
| LoopProtocol () |
| Default constructor. More...
|
|
| ~LoopProtocol () |
| Default destructor. More...
|
|
string | get_name () const |
| Return the class 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) |
| Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
|
|
void | add_mover (LoopMoverOP mover) |
| Add a LoopMover to the simulation. More...
|
|
void | add_refiner (LoopMoverOP refiner) |
| Add a LoopMover to the simulation as a refiner. More...
|
|
void | add_filter (protocols::filters::FilterOP filter) |
| Add a Filter to the simulation. More...
|
|
void | add_acceptance_check (string name="loop_move") |
| Add an acceptance check to the simulation. More...
|
|
void | add_logger (loggers::LoggerOP logger) |
| Add a logger to this simulation. More...
|
|
void | clear_movers () |
|
void | clear_refiners () |
|
void | clear_movers_and_refiners () |
|
void | mark_as_default () |
|
void | set_sfxn_cycles (Size x) |
| Specify how many times the loop that ramps the score function should iterate. More...
|
|
void | set_temp_cycles (Size x, bool times_loop_length=false) |
| Specify how many times the loop that ramps the temperature should iterate. More...
|
|
void | set_mover_cycles (Size x) |
| Specify how many times the loops movers should be invoked after the score function and temperature have been updated. More...
|
|
void | set_temperature_schedule (Real start, Real stop) |
| Set the initial and final temperatures for the simulation. More...
|
|
void | set_temperature_ramping (bool value) |
| Enable or disable temperature ramping in this simulation. More...
|
|
void | set_repulsive_term_ramping (bool value) |
| Enable or disable ramping the repulsive term of the score function. More...
|
|
void | set_rama_term_ramping (bool value) |
| Enable or disable ramping the repulsive term of the score function. 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...
|
|
Monte Carlo search for low energy loop conformations.
This class provides an easy way to run a Monte Carlo simulation searching for the lowest energy conformations for a set of loops. This is most common way to use the classes in this namespace. This simulation is organized into three nested loops. On each iteration of the outermost loop, the lowest scoring pose is recovered and the repulsive terms in the score function may be ramped (although this ramping is disabled by default). On each iteration of the intermediate loop, the temperature may be ramped (this ramping is enabled by default). And on each iteration of the innermost loop, a new conformation is sampled and either accepted or rejected according to the Metropolis criterion. The intermediate loop usually goes through more than 100 iterations, while the innermost and outermost loops only go through less than 5.
Like any mover, all the work is done by the apply() method. The rest of the methods of this class are just getters and setters that can be used to control various aspects of the simulation. The add_mover(), add_filter(), and add_acceptance_check() methods are worth drawing some attention to. These methods are used to build up the group of LoopMover objects that samples new loop conformations in the innermost loop. The movers are guaranteed to be applied in the order they are added to the protocol.
void protocols::loop_modeling::LoopProtocol::add_refiner |
( |
LoopMoverOP |
refiner | ) |
|
Add a LoopMover to the simulation as a refiner.
This method is very similar to add_mover(). Both methods add a new LoopMover to the simulation. This difference is subtle, but relevant when a LoopProtocol is being filled with a default set of movers that might be modified later.
This situation arises when a LoopModeler object is being constructed, or when a <LoopModeler> tag is being parsed by rosetta scripts. In both of these cases, centroid and fullatom LoopProtocols are created right away and filled with default movers. This avoids the necessity of specifying all the usual movers every time loop modeling is invoked. But the default movers may be subsequently overridden. In this case, there is a difference between LoopMovers added via add_mover() (i.e. movers) and add_refiner() (i.e. refiners).
The difference is that movers can be marked as "default" and then be implicitly overridden. Consider the following sequence of calls:
protocol->add_mover(new CcdMover);
protocol->mark_as_default();
protocol->add_mover(new KicMover);
This will result in a LoopProtocol containing only a KicMover. When mark_as_default() is called, all movers within the protocol are set to be replaced the next time add_mover() is called. You can think of those movers as being part of a default configuration that should be replaced when a new configuration is given.
Refiners are not affected by mark_as_default(). Calling add_refiner() will always add a refiner and will never remove old ones, although old refiners can be explicitly removed with clear_refiners(). Refiners are also applied after movers, regardless of the order in which add_mover() and add_refiner() were called. The purpose of all this is to make it easy to replace the parts of a LoopProtocol that are more variable without having to also replace those that are more static.
The variable part of a LoopProtocol is typically the sampling algorithm: KIC or CCD, often with myriad options. The static part is typically the refinement algorithm: minimization, rotamer trials, and repacking, all with carefully tuned parameters. Using add_mover(), mark_as_default(), and add_refiner() makes it easy to change the sampling algorithm without having to worry about the refinement algorithm.