Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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 
)
protocols::moves::DualMonteCarlo::~DualMonteCarlo ( )
overridedefault
protocols::moves::DualMonteCarlo::DualMonteCarlo ( )
private

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

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

bool protocols::moves::DualMonteCarlo::boltzmann ( core::pose::Pose DMC_pose,
core::pose::Pose MC_pose,
std::string const &  move_type = "unk" 
)
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_.

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

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

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.

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

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

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

References score_function_.

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

Member Data Documentation

core::pose::PoseOP protocols::moves::DualMonteCarlo::last_accepted_pose_
private
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().

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

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: