![]() |
Rosetta
2021.16
|
#include <DualMonteCarlo.hh>

Public Member Functions | |
| DualMonteCarlo (core::pose::Pose const &DMC_pose, core::pose::Pose const &MC_pose, core::scoring::ScoreFunction const &DMC_scorefunction, core::scoring::ScoreFunction const &MC_scorefunction, core::Real const temperature) | |
| ~DualMonteCarlo () override | |
| bool | boltzmann (core::pose::Pose &DMC_pose, core::pose::Pose &MC_pose, std::string const &move_type="unk") |
| void | reset (core::pose::Pose const &DMC_pose, core::pose::Pose const &MC_pose) |
| sets lowest and last_accepted poses to pose; calls MC's reset too More... | |
| core::pose::Pose const & | last_accepted_pose () const |
| this gets you only the DMC's pose; call MC directly for its. Note that this pose is accepted based on the partner pose in the underlying MC. More... | |
| core::pose::Pose const & | lowest_score_pose () const |
| void | recover_low (core::pose::Pose &DMC_pose) |
| Copies the lowest_score_ pose into the input pose, as well as into last_accepted_pose_. Copies action for underlying MC but does not return that pose. More... | |
| void | recover_low (core::pose::Pose &DMC_pose, core::pose::Pose &MC_pose) |
| Copies the lowest_score_ pose into the input pose, as well as into last_accepted_pose_. Always copies action for underlying MC. This version returns the MC's pose. More... | |
| core::scoring::ScoreFunction const & | score_function () const |
| void | show_scores () const |
| core::Real | last_accepted_score () const |
| core::Real | lowest_score () const |
| protocols::moves::MonteCarlo const & | MC () const |
| const access to MC object More... | |
Private Member Functions | |
| void | reset_DMC (core::pose::Pose const &DMC_pose) |
| DualMonteCarlo & | operator= (DualMonteCarlo const &rhs) |
| declared only for the #inclusion drive. If you need this function implement it and move it to public. More... | |
| DualMonteCarlo () | |
| declared only for the #inclusion drive. If you need this function implement it and move it to public. More... | |
| DualMonteCarlo (DualMonteCarlo const &rhs) | |
| declared only for the #inclusion drive. If you need this function implement it and move it to public. More... | |
Private Attributes | |
| core::pose::PoseOP | last_accepted_pose_ |
| accepted structure More... | |
| core::pose::PoseOP | lowest_score_pose_ |
| lowest energy structure we've seen More... | |
| core::scoring::ScoreFunctionOP | score_function_ |
| our own internal scoring function - passed in and out by reference to force calls to score_function, enforcing bookkeeping More... | |
| protocols::moves::MonteCarlo | MC_ |
| our MC; not intended to be dropped into EnergyCutRotamerTrialsMover, TrialMover, etc. More... | |
DualMonteCarlo is a wrapper class around MonteCarlo. Its original purpose is to allow for Boltzmann scoring a pose in centroid mode while simultaneously tracking a fullatom equivalent. It should work for any paired poses. Generally, "DMC_pose" refers to the pose this class tracks, whereas "MC_pose" refers to the one used by the underlying MC object. While this class contains a MonteCarlo object (by composition, not inheritance); you cannot pass in a MC object to it, nor can you get an OP to that object. const access to the underlying MC is provided at this time; if you want nonconst access you can write it in but beware that the user can then ruin the bookkeeping! Also note that I (SML) left the framework in place in comments for a lot of MC's functions within DMC like checkpointing and counters. Flesh these out if you want them...
| protocols::moves::DualMonteCarlo::DualMonteCarlo | ( | core::pose::Pose const & | DMC_pose, |
| core::pose::Pose const & | MC_pose, | ||
| core::scoring::ScoreFunction const & | DMC_scorefunction, | ||
| core::scoring::ScoreFunction const & | MC_scorefunction, | ||
| core::Real const | temperature | ||
| ) |
ctor; will call MC ctor too
References core::scoring::ScoreFunction::clone(), last_accepted_pose_, lowest_score_pose_, reset(), and score_function_.
|
overridedefault |
|
private |
declared only for the #inclusion drive. If you need this function implement it and move it to public.
|
private |
declared only for the #inclusion drive. If you need this function implement it and move it to public.
| bool protocols::moves::DualMonteCarlo::boltzmann | ( | core::pose::Pose & | DMC_pose, |
| core::pose::Pose & | MC_pose, | ||
| std::string const & | move_type = "unk" |
||
| ) |
remember that this function DOES NOT CARE what scores the DMC_poses have!
References protocols::moves::MonteCarlo::boltzmann(), last_accepted_pose_, MC_, protocols::moves::MonteCarlo::mc_accepted(), protocols::moves::MCA_accepted_score_beat_last, protocols::moves::MCA_accepted_score_beat_low, protocols::moves::MCA_accepted_thermally, protocols::moves::MCA_rejected, and reset_DMC().
Referenced by protocols::metal_interface::ZincHeterodimerMover::apply().
|
inline |
this gets you only the DMC's pose; call MC directly for its. Note that this pose is accepted based on the partner pose in the underlying MC.
References last_accepted_pose_.
| core::Real protocols::moves::DualMonteCarlo::last_accepted_score | ( | ) | const |
References last_accepted_pose_.
Referenced by show_scores().
| core::Real protocols::moves::DualMonteCarlo::lowest_score | ( | ) | const |
References lowest_score_pose_.
Referenced by show_scores().
|
inline |
References lowest_score_pose_.
| protocols::moves::MonteCarlo const & protocols::moves::DualMonteCarlo::MC | ( | ) | const |
const access to MC object
References MC_.
Referenced by protocols::metal_interface::ZincHeterodimerMover::apply().
|
private |
declared only for the #inclusion drive. If you need this function implement it and move it to public.
| void protocols::moves::DualMonteCarlo::recover_low | ( | core::pose::Pose & | DMC_pose | ) |
Copies the lowest_score_ pose into the input pose, as well as into last_accepted_pose_. Copies action for underlying MC but does not return that pose.
Referenced by protocols::metal_interface::ZincHeterodimerMover::apply().
| void protocols::moves::DualMonteCarlo::recover_low | ( | core::pose::Pose & | DMC_pose, |
| core::pose::Pose & | MC_pose | ||
| ) |
Copies the lowest_score_ pose into the input pose, as well as into last_accepted_pose_. Always copies action for underlying MC. This version returns the MC's pose.
References last_accepted_pose_, lowest_score_pose_, MC_, and protocols::moves::MonteCarlo::recover_low().
| void protocols::moves::DualMonteCarlo::reset | ( | core::pose::Pose const & | DMC_pose, |
| core::pose::Pose const & | MC_pose | ||
| ) |
sets lowest and last_accepted poses to pose; calls MC's reset too
References MC_, protocols::moves::MonteCarlo::reset(), and reset_DMC().
Referenced by DualMonteCarlo().
|
private |
References last_accepted_pose_, and lowest_score_pose_.
Referenced by boltzmann(), and reset().
| core::scoring::ScoreFunction const & protocols::moves::DualMonteCarlo::score_function | ( | ) | const |
References score_function_.
| void protocols::moves::DualMonteCarlo::show_scores | ( | ) | const |
References last_accepted_score(), lowest_score(), and protocols::moves::TR().
|
private |
accepted structure
Referenced by boltzmann(), DualMonteCarlo(), last_accepted_pose(), last_accepted_score(), recover_low(), and reset_DMC().
|
private |
lowest energy structure we've seen
Referenced by DualMonteCarlo(), lowest_score(), lowest_score_pose(), recover_low(), and reset_DMC().
|
private |
our MC; not intended to be dropped into EnergyCutRotamerTrialsMover, TrialMover, etc.
Referenced by boltzmann(), MC(), recover_low(), and reset().
|
private |
our own internal scoring function - passed in and out by reference to force calls to score_function, enforcing bookkeeping
Referenced by DualMonteCarlo(), and score_function().
1.8.7