![]() |
Rosetta
2021.16
|
Base class for moves that can obey detailed balance. More...
#include <ThermodynamicMover.hh>

Public Member Functions | |
| ThermodynamicMover () | |
| Default constructor. More... | |
| ~ThermodynamicMover () override | |
| Default destructor. More... | |
| virtual void | initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size cycle) |
| Callback executed before any Monte Carlo trials are attempted. More... | |
| virtual void | observe_after_metropolis (protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) |
| Callback executed after the Metropolis criterion is evaluated. More... | |
| core::Real | last_proposal_density_ratio () override |
| Return the proposal density ratio for last apply method. More... | |
| virtual void | finalize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) |
| Callback executed after all Monte Carlo trials are completed. More... | |
| virtual bool | preserve_detailed_balance () const =0 |
| Return true if detailed balance is being preserved (i.e. no branch angle optimization). More... | |
| virtual void | set_preserve_detailed_balance (bool preserve_detailed_balance)=0 |
| Set to true if detailed balance should be preserved (i.e. no branch angle optimization). This will be set to true for all movers used by MetropolisHastingsMover. More... | |
| virtual bool | is_multi_trial () |
| Return true if the move performs multiple trials on each apply. More... | |
| virtual core::Real | last_inner_score_delta_over_temperature () |
| If this is a multi-trial move, return the change in internal score/temperature caused by the last call to apply(). More... | |
| virtual protocols::canonical_sampling::MetropolisHastingsMoverAP | metropolis_hastings_mover () |
| If this is a multi-trial move, return the MetropolisHastingsMover being used internally. More... | |
| virtual void | set_metropolis_hastings_mover (protocols::canonical_sampling::MetropolisHastingsMoverAP metropolis_hastings_mover) |
| If this is a multi-trial move, set the MetropolisHastingsMover to be used internally. More... | |
| virtual utility::vector1 < core::id::TorsionID_Range > | torsion_id_ranges (core::pose::Pose &pose)=0 |
| Return a list specifying which torsions may be perturbed by apply(), and the in what range each perturbation may be. More... | |
| virtual utility::vector1 < core::id::DOF_ID_Range > | dof_id_ranges (core::pose::Pose &pose) |
| Return a list specifying which degrees of freedom may be perturbed by apply(), and the in what range each perturbation may be. More... | |
Public Member Functions inherited from protocols::moves::Mover | |
| Mover () | |
| virtual MoverOP | create () |
| MoverCOP | get_self_ptr () const |
| MoverOP | get_self_ptr () |
| MoverCAP | get_self_weak_ptr () const |
| MoverAP | get_self_weak_ptr () |
| Mover (std::string const &type_name) | |
| sets the type for a mover; name_ has been removed (2010/05/14) More... | |
| virtual void | apply (Pose &)=0 |
| Main Method. More... | |
| 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... | |
| virtual MoverOP | clone () const |
| Return a clone of the Mover object. 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... | |
| 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... | |
| void | set_type (std::string const &setting) |
| Set the 'type' string. More... | |
| std::string | get_type () const |
| void | type (const std::string &type_in) |
| Set the 'type' string. More... | |
| std::string const & | type () const |
| Get the set 'type' string. More... | |
| 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 | parse_my_tag (TagCOP tag, basic::datacache::DataMap &data) |
| Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
| virtual std::string | get_name () const =0 |
| Each derived class must specify its name. The class name. More... | |
| void | set_current_job (protocols::jobdist::BasicJobCOP job) |
| jobdist::BasicJobCOP | get_current_job () const |
| virtual void | set_current_tag (std::string const &new_tag) |
| 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... | |
| virtual void | show (std::ostream &output=std::cout) const |
| Outputs details about the Mover, including current settings. 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 void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
| Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Additional Inherited Members | |
Public Types inherited from protocols::moves::Mover | |
| typedef utility::tag::TagCOP | TagCOP |
| typedef core::pose::Pose | Pose |
| typedef core::pose::PoseCOP | PoseCOP |
| typedef std::list< std::string > | Strings |
Static Public Member Functions inherited from protocols::moves::Mover | |
| static std::string | name () |
| static void | register_options () |
| Overload this static method if you access options within the mover. More... | |
Protected Member Functions inherited from protocols::moves::Mover | |
| void | set_last_move_status (MoverStatus status) |
| nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More... | |
Base class for moves that can obey detailed balance.
In order to sample a thermodynamic state using a Monte Carlo simulation, the moves must obey detailed balance. This base class provides a framework for writing moves that can obey this condition. One interesting method is set_preserve_detailed_balance(), which indicates whether or not detailed balance needs to be obeyed. This flag makes it possible to implement fancy (but biased) features for use in contexts where rigorous thermodynamic sampling isn't needed. If the move requires a non-unity proposal ratio to obey detailed balance, it can reimplement last_proposal_density_ratio(). Support for movers that make multiple trial moves under the hood is provided by is_multi_trial() and its related methods. A number of callbacks, including initialize_simulation(), observe_after_metropolis(), and finalize_simulation(), are also defined to let the mover react to certain milestones in the simulation.
| protocols::canonical_sampling::ThermodynamicMover::ThermodynamicMover | ( | ) |
Default constructor.
|
overridedefault |
Default destructor.
|
virtual |
Return a list specifying which degrees of freedom may be perturbed by apply(), and the in what range each perturbation may be.
Torsion DOFs that would be returned by torsion_id_ranges() are not returned by this function too.
Reimplemented in protocols::simple_moves::ShearMover, protocols::backrub::BackrubMover, protocols::simple_moves::SmallMover, protocols::simple_moves::BackboneMover, protocols::simple_moves::sidechain_moves::SidechainMover, and protocols::simple_moves::sidechain_moves::SidechainMoverBase.
|
virtual |
Callback executed after all Monte Carlo trials are completed.
Reimplemented in protocols::backrub::BackrubSidechainMover.
|
virtual |
Callback executed before any Monte Carlo trials are attempted.
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover, protocols::backrub::BackrubMover, protocols::backrub::BackrubSidechainMover, protocols::simple_moves::sidechain_moves::SidechainMover, and protocols::simple_moves::sidechain_moves::SidechainMoverBase.
|
virtual |
Return true if the move performs multiple trials on each apply.
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.
|
virtual |
If this is a multi-trial move, return the change in internal score/temperature caused by the last call to apply().
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.
|
overridevirtual |
Return the proposal density ratio for last apply method.
Reimplemented from protocols::moves::Mover.
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMover, protocols::simple_moves::sidechain_moves::SidechainMoverBase, protocols::simple_moves::sidechain_moves::SidechainMCMover, protocols::simple_moves::BBGaussianMover, and protocols::kinematic_closure::BalancedKicMover.
|
virtual |
If this is a multi-trial move, return the MetropolisHastingsMover being used internally.
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.
|
virtual |
Callback executed after the Metropolis criterion is evaluated.
Reimplemented in protocols::backrub::BackrubSidechainMover.
|
pure virtual |
Return true if detailed balance is being preserved (i.e. no branch angle optimization).
Implemented in protocols::backrub::BackrubMover, protocols::simple_moves::BackboneMover, protocols::backrub::BackrubSidechainMover, protocols::simple_moves::sidechain_moves::SidechainMover, protocols::simple_moves::sidechain_moves::SidechainMoverBase, protocols::simple_moves::BBGaussianMover, protocols::rigid::RigidBodyMover, protocols::kinematic_closure::BalancedKicMover, and protocols::rigid::UniformRigidBodyMover.
|
virtual |
If this is a multi-trial move, set the MetropolisHastingsMover to be used internally.
Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.
|
pure virtual |
Set to true if detailed balance should be preserved (i.e. no branch angle optimization). This will be set to true for all movers used by MetropolisHastingsMover.
Implemented in protocols::backrub::BackrubMover, protocols::simple_moves::BackboneMover, protocols::backrub::BackrubSidechainMover, protocols::simple_moves::sidechain_moves::SidechainMover, protocols::simple_moves::sidechain_moves::SidechainMoverBase, protocols::simple_moves::BBGaussianMover, protocols::rigid::RigidBodyMover, protocols::kinematic_closure::BalancedKicMover, and protocols::rigid::UniformRigidBodyMover.
|
pure virtual |
Return a list specifying which torsions may be perturbed by apply(), and the in what range each perturbation may be.
This method should probably not be pure virtual, and in fact should probably not even exist. I searched most of the codebase, and could only find it being used in one pilot app. It is also a somewhat difficult method to write, which means that most of the implementations are either untested or no-ops. It might be better to remove the method altogether and implement it on a class-by-class basis as necessary.
Implemented in protocols::simple_moves::ShearMover, protocols::backrub::BackrubMover, protocols::simple_moves::SmallMover, protocols::backrub::BackrubSidechainMover, protocols::simple_moves::sidechain_moves::SidechainMover, protocols::simple_moves::sidechain_moves::SidechainMoverBase, protocols::simple_moves::BBGaussianMover, protocols::rigid::RigidBodyMover, protocols::kinematic_closure::BalancedKicMover, and protocols::rigid::UniformRigidBodyMover.
1.8.7