Rosetta
Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::moves::DualMonteCarlo Class Reference

#include <DualMonteCarlo.hh>

Inheritance diagram for protocols::moves::DualMonteCarlo:
Inheritance graph
[legend]

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)
 
DualMonteCarlooperator= (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...
 

Detailed Description

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...

Constructor & Destructor Documentation

◆ DualMonteCarlo() [1/3]

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 
)

◆ ~DualMonteCarlo()

protocols::moves::DualMonteCarlo::~DualMonteCarlo ( )
overridedefault

◆ DualMonteCarlo() [2/3]

protocols::moves::DualMonteCarlo::DualMonteCarlo ( )
private

declared only for the #inclusion drive. If you need this function implement it and move it to public.

◆ DualMonteCarlo() [3/3]

protocols::moves::DualMonteCarlo::DualMonteCarlo ( DualMonteCarlo const &  rhs)
private

declared only for the #inclusion drive. If you need this function implement it and move it to public.

Member Function Documentation

◆ boltzmann()

bool protocols::moves::DualMonteCarlo::boltzmann ( core::pose::Pose DMC_pose,
core::pose::Pose MC_pose,
std::string const &  move_type = "unk" 
)

◆ last_accepted_pose()

core::pose::Pose const& protocols::moves::DualMonteCarlo::last_accepted_pose ( ) const
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_.

◆ last_accepted_score()

core::Real protocols::moves::DualMonteCarlo::last_accepted_score ( ) const

References last_accepted_pose_.

Referenced by show_scores().

◆ lowest_score()

core::Real protocols::moves::DualMonteCarlo::lowest_score ( ) const

References lowest_score_pose_.

Referenced by show_scores().

◆ lowest_score_pose()

core::pose::Pose const& protocols::moves::DualMonteCarlo::lowest_score_pose ( ) const
inline

References lowest_score_pose_.

◆ MC()

protocols::moves::MonteCarlo const & protocols::moves::DualMonteCarlo::MC ( ) const

const access to MC object

References MC_.

Referenced by protocols::metal_interface::ZincHeterodimerMover::apply().

◆ operator=()

DualMonteCarlo& protocols::moves::DualMonteCarlo::operator= ( DualMonteCarlo const &  rhs)
private

declared only for the #inclusion drive. If you need this function implement it and move it to public.

◆ recover_low() [1/2]

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().

◆ recover_low() [2/2]

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().

◆ reset()

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().

◆ reset_DMC()

void protocols::moves::DualMonteCarlo::reset_DMC ( core::pose::Pose const &  DMC_pose)
private

References last_accepted_pose_, and lowest_score_pose_.

Referenced by boltzmann(), and reset().

◆ score_function()

core::scoring::ScoreFunction const & protocols::moves::DualMonteCarlo::score_function ( ) const

References score_function_.

◆ show_scores()

void protocols::moves::DualMonteCarlo::show_scores ( ) const

Member Data Documentation

◆ last_accepted_pose_

core::pose::PoseOP protocols::moves::DualMonteCarlo::last_accepted_pose_
private

◆ lowest_score_pose_

core::pose::PoseOP protocols::moves::DualMonteCarlo::lowest_score_pose_
private

lowest energy structure we've seen

Referenced by DualMonteCarlo(), lowest_score(), lowest_score_pose(), recover_low(), and reset_DMC().

◆ MC_

protocols::moves::MonteCarlo protocols::moves::DualMonteCarlo::MC_
private

our MC; not intended to be dropped into EnergyCutRotamerTrialsMover, TrialMover, etc.

Referenced by boltzmann(), MC(), recover_low(), and reset().

◆ score_function_

core::scoring::ScoreFunctionOP protocols::moves::DualMonteCarlo::score_function_
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().


The documentation for this class was generated from the following files: