Rosetta Protocols  2014.35
Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::simple_moves::sidechain_moves::SidechainMCMover Class Reference

class for non-discrete side chain sampling using Dunbrack rotamer probabilities/distributions More...

#include <SidechainMCMover.hh>

Public Member Functions

 SidechainMCMover ()
 default constructor More...
 
 SidechainMCMover (core::pack::dunbrack::RotamerLibrary const &rotamer_library)
 constructor with user provided rotamer library More...
 
 ~SidechainMCMover ()
 
void show_counters (std::ostream &out)
 
void setup (core::scoring::ScoreFunctionCOP sfxn)
 
protocols::moves::MoverOP clone () const
 Return a clone of the Mover object. More...
 
protocols::moves::MoverOP fresh_instance () const
 Generates a new Mover object freshly created with the default ctor. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &, protocols::filters::Filters_map const &, protocols::moves::Movers_map const &, core::pose::Pose const &)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
 
void apply (core::pose::Pose &pose)
 apply a sidechain move to a Pose object More...
 
virtual std::string get_name () const
 Each derived class must specify its name. The class name. More...
 
void set_ntrials (core::Size ntrial)
 
core::Size ntrials ()
 
void set_temperature (core::Real temp)
 
core::Real temperature ()
 
void set_inherit_scorefxn_temperature (bool inherit_scorefxn_temperature)
 
bool inherit_scorefxn_temperature () const
 
void set_scorefunction (core::scoring::ScoreFunction const &sfxn)
 
core::scoring::ScoreFunctionCOP scorefunction ()
 
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 core::Real last_proposal_density_ratio ()
 get the ratio of proposal densities for the last move More...
 
virtual bool is_multi_trial ()
 Return true if the move performs multiple trials on each apply. More...
 
virtual core::Real last_inner_score_temperature_delta ()
 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...
 
- Public Member Functions inherited from protocols::simple_moves::sidechain_moves::SidechainMover
 SidechainMover ()
 default constructor More...
 
 SidechainMover (core::pack::dunbrack::RotamerLibrary const &rotamer_library)
 constructor with user provided rotamer library More...
 
 SidechainMover (SidechainMover const &mover)
 
 ~SidechainMover ()
 
void init_task (core::pose::Pose const &pose)
 initialize the packer task if necessary More...
 
core::conformation::ResidueOP make_move (core::conformation::ResidueOP res)
 
bool task_initialized ()
 
void apply (core::pose::Pose &pose)
 apply a sidechain move to a Pose object More...
 
core::Real proposal_density (core::conformation::Residue const &proposed_residue, core::Size const proposed_resnum, core::chemical::ResidueType const &initial_residue_type, utility::vector1< core::Real > const &initial_chi_angles) const
 
void test_move (core::pose::Pose &)
 test the backrub move More...
 
void idealize_sidechains (core::pose::Pose &pose)
 idealize sidechains that might be altered More...
 
core::pack::dunbrack::RotamerLibrary
const & 
rotamer_library () const
 get the rotamer library More...
 
core::pack::task::TaskFactoryCOP task_factory () const
 get the task factory More...
 
void set_task_factory (core::pack::task::TaskFactoryCOP task_factory)
 set the task factory More...
 
core::pack::task::PackerTaskCOP task () const
 get the packer task More...
 
void set_task (core::pack::task::PackerTaskCOP task)
 set the task More...
 
core::Real prob_uniform () const
 get the probability of uniformly sampling chi angles More...
 
void set_prob_uniform (core::Real prob_uniform)
 set the probability of uniformly sampling chi angles More...
 
bool preserve_detailed_balance () const
 get whether detailed balance is preserved (i.e. proposal density ratio calculated) More...
 
void set_preserve_detailed_balance (bool preserve_detailed_balance)
 set whether detailed balance is preserved (i.e. proposal density ratio calculated) More...
 
bool change_chi_without_replacing_residue () const
 perform direct chi manipulations rather than using replace_residue to effect rotamer changes; useful if things are kinematically dependent on a sidechain. More...
 
void set_change_chi_without_replacing_residue (bool const change_chi_without_replacing_residue)
 perform direct chi manipulations rather than using replace_residue to effect rotamer changes; useful if things are kinematically dependent on a sidechain. More...
 
virtual utility::vector1
< core::id::TorsionID_Range
torsion_id_ranges (core::pose::Pose &pose)
 get the TorsionIDs perturbed by the mover during moves, along with their ranges More...
 
virtual utility::vector1
< core::id::DOF_ID_Range
dof_id_ranges (core::pose::Pose &pose)
 get the DOF_IDs perturbed by the mover during moves, along with their ranges More...
 
core::Real prob_withinrot () const
 get the probability of sampling within the same rotamer More...
 
void set_prob_withinrot (core::Real prob_withinrot)
 set the probability of sampling within the same rotamer More...
 
core::Real prob_random_pert_current () const
 
void set_prob_random_pert_current (core::Real prob_pert)
 
utility::vector1< core::Size >
const & 
packed_residues () const
 get the residues that can be changed by this mover More...
 
utility::vector1< bool > const & residue_packed () const
 get a vector indicating whether each residue can be packed More...
 
core::Size next_resnum () const
 get the next residue to be changed, 0 means a random will be chosen More...
 
void next_resnum (core::Size resnum)
 set the next residue to be changed, 0 means a random will be chosen More...
 
core::Size last_nchi () const
 get the number of chi angles sampled in the last move More...
 
bool last_mutation () const
 get whether the last move mutated the residue More...
 
bool last_uniform () const
 get whether the last move used uniform chi sampling More...
 
bool last_withinrot () const
 get whether the last move sampled within the same rotamer More...
 
void update_type ()
 update string describing the move type More...
 
void set_sampling_temperature (core::Real temp)
 set temperature for bias sampling at dunbrack distribution More...
 
core::Real sampling_temperature ()
 
- Public Member Functions inherited from protocols::canonical_sampling::ThermodynamicMover
 ThermodynamicMover ()
 Default constructor. More...
 
virtual ~ThermodynamicMover ()
 Default destructor. More...
 
virtual void observe_after_metropolis (protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover)
 Callback executed after the Metropolis criterion is evaluated. 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...
 
- Public Member Functions inherited from protocols::moves::Mover
 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)
 
Moveroperator= (Mover const &other)
 assignment operator More...
 
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
 
void type (const std::string &type_in)
 
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 Stringsinfo ()
 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...
 
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...
 

Private Member Functions

bool pass_metropolis (core::Real delta_energy, core::Real last_proposal_density_ratio)
 
void perturb_chi (numeric::random::RandomGenerator Rand, core::Real max_deviation, utility::vector1< core::Real > &current_chi, utility::vector1< core::Real > &new_chi)
 

Private Attributes

utility::vector1
< core::conformation::ResidueOP
current_
 
utility::vector1
< core::conformation::ResidueOP
previous_
 
utility::vector1
< core::conformation::ResidueOP
best_
 
core::Real temperature_
 
core::Size ntrials_
 
core::Real best_energy_
 
core::Real current_energy_
 
core::scoring::ScoreFunctionOP sfxn_
 
bool inherit_scorefxn_temperature_
 
core::pack::interaction_graph::SimpleInteractionGraphOP ig_
 
core::Real accepts_
 
core::Real current_ntrial_
 
core::Real score_pre_apply_
 
core::Real score_post_apply_
 
protocols::canonical_sampling::MetropolisHastingsMoverAP metropolis_hastings_mover_
 

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
protocols::filters::Filters_map 
Filters_map
 
typedef std::list< std::stringStrings
 
- 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...
 
- Protected Attributes inherited from protocols::simple_moves::sidechain_moves::SidechainMover
core::Real temperature0_
 
core::Real sampling_temperature_
 

Detailed Description

class for non-discrete side chain sampling using Dunbrack rotamer probabilities/distributions

Constructor & Destructor Documentation

protocols::simple_moves::sidechain_moves::SidechainMCMover::SidechainMCMover ( )

default constructor

References scoring.

protocols::simple_moves::sidechain_moves::SidechainMCMover::SidechainMCMover ( core::pack::dunbrack::RotamerLibrary const &  rotamer_library)

constructor with user provided rotamer library

References scoring.

protocols::simple_moves::sidechain_moves::SidechainMCMover::~SidechainMCMover ( )

Member Function Documentation

void protocols::simple_moves::sidechain_moves::SidechainMCMover::apply ( core::pose::Pose pose)
virtual
protocols::moves::MoverOP protocols::simple_moves::sidechain_moves::SidechainMCMover::clone ( ) const
virtual

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::simple_moves::sidechain_moves::SidechainMover.

Referenced by parse_my_tag().

protocols::moves::MoverOP protocols::simple_moves::sidechain_moves::SidechainMCMover::fresh_instance ( ) const
virtual

Generates a new Mover object freshly created with the default ctor.

fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.

Reimplemented from protocols::moves::Mover.

std::string protocols::simple_moves::sidechain_moves::SidechainMCMover::get_name ( ) const
virtual

Each derived class must specify its name. The class name.

Reimplemented from protocols::simple_moves::sidechain_moves::SidechainMover.

bool protocols::simple_moves::sidechain_moves::SidechainMCMover::inherit_scorefxn_temperature ( ) const
inline
void protocols::simple_moves::sidechain_moves::SidechainMCMover::initialize_simulation ( core::pose::Pose pose,
protocols::canonical_sampling::MetropolisHastingsMover const &  metropolis_hastings_mover,
core::Size  cycle 
)
virtual
virtual bool protocols::simple_moves::sidechain_moves::SidechainMCMover::is_multi_trial ( )
inlinevirtual

Return true if the move performs multiple trials on each apply.

See also
last_inner_score_temperature_delta()
metropolis_hastings_mover()
set_metropolis_hastings_mover()

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

virtual core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::last_inner_score_temperature_delta ( )
inlinevirtual

If this is a multi-trial move, return the change in internal score/temperature caused by the last call to apply().

See also
is_multi_trial()

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

References score_post_apply_, score_pre_apply_, and temperature_.

virtual core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::last_proposal_density_ratio ( )
inlinevirtual

get the ratio of proposal densities for the last move

Reimplemented from protocols::simple_moves::sidechain_moves::SidechainMover.

Referenced by pass_metropolis().

virtual protocols::canonical_sampling::MetropolisHastingsMoverAP protocols::simple_moves::sidechain_moves::SidechainMCMover::metropolis_hastings_mover ( )
inlinevirtual

If this is a multi-trial move, return the MetropolisHastingsMover being used internally.

See also
is_multi_trial()

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

References metropolis_hastings_mover_.

Referenced by set_metropolis_hastings_mover().

core::Size protocols::simple_moves::sidechain_moves::SidechainMCMover::ntrials ( )
inline

References ntrials_.

void protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data,
protocols::filters::Filters_map const &  filters,
protocols::moves::Movers_map const &  movers,
core::pose::Pose const &  pose 
)
virtual

Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.

Some movers need not be parsed, so we shouldn't stop executions. This, however, calls attention to the lack of this method, which could be due to something as silly as a wrong parameters definition.

Reimplemented from protocols::simple_moves::sidechain_moves::SidechainMover.

References clone(), core::pack::task::TaskFactory::create_packer_task(), end, basic::datacache::DataMap::get(), protocols::rosetta_scripts::get_score_function_name(), basic::datacache::DataMap::has(), inherit_scorefxn_temperature(), ntrials_, protocols::rosetta_scripts::parse_score_function(), protocols::simple_moves::sidechain_moves::SidechainMover::preserve_detailed_balance(), protocols::simple_moves::sidechain_moves::SidechainMover::prob_random_pert_current(), protocols::simple_moves::sidechain_moves::SidechainMover::prob_uniform(), protocols::simple_moves::sidechain_moves::SidechainMover::prob_withinrot(), core::pack::task::TaskFactory::push_back(), core::pack::task::PackerTask::restrict_to_repacking(), set_inherit_scorefxn_temperature(), protocols::simple_moves::sidechain_moves::SidechainMover::set_preserve_detailed_balance(), protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_random_pert_current(), protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_uniform(), protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_withinrot(), protocols::simple_moves::sidechain_moves::SidechainMover::set_task(), protocols::simple_moves::sidechain_moves::SidechainMover::set_task_factory(), setup(), utility::string_split(), temperature_, and protocols::simple_moves::sidechain_moves::TR.

bool protocols::simple_moves::sidechain_moves::SidechainMCMover::pass_metropolis ( core::Real  delta_energy,
core::Real  last_proposal_density_ratio 
)
private
void protocols::simple_moves::sidechain_moves::SidechainMCMover::perturb_chi ( numeric::random::RandomGenerator  Rand,
core::Real  max_deviation,
utility::vector1< core::Real > &  current_chi,
utility::vector1< core::Real > &  new_chi 
)
private
core::scoring::ScoreFunctionCOP protocols::simple_moves::sidechain_moves::SidechainMCMover::scorefunction ( )
inline

References sfxn_.

void protocols::simple_moves::sidechain_moves::SidechainMCMover::set_inherit_scorefxn_temperature ( bool  inherit_scorefxn_temperature)
inline
virtual void protocols::simple_moves::sidechain_moves::SidechainMCMover::set_metropolis_hastings_mover ( protocols::canonical_sampling::MetropolisHastingsMoverAP  metropolis_hastings_mover)
inlinevirtual

If this is a multi-trial move, set the MetropolisHastingsMover to be used internally.

See also
is_multi_trial()

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

References metropolis_hastings_mover(), and metropolis_hastings_mover_.

void protocols::simple_moves::sidechain_moves::SidechainMCMover::set_ntrials ( core::Size  ntrial)
inline

References ntrials_.

void protocols::simple_moves::sidechain_moves::SidechainMCMover::set_scorefunction ( core::scoring::ScoreFunction const &  sfxn)
inline
void protocols::simple_moves::sidechain_moves::SidechainMCMover::set_temperature ( core::Real  temp)
inline

References temperature_.

Referenced by apply(), and initialize_simulation().

void protocols::simple_moves::sidechain_moves::SidechainMCMover::setup ( core::scoring::ScoreFunctionCOP  sfxn)

References ig_, and set_scorefunction().

Referenced by parse_my_tag().

void protocols::simple_moves::sidechain_moves::SidechainMCMover::show_counters ( std::ostream &  out)

References accepts_, and current_ntrial_.

core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::temperature ( )
inline

References temperature_.

Member Data Documentation

core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::accepts_
private

Referenced by pass_metropolis(), and show_counters().

utility::vector1< core::conformation::ResidueOP > protocols::simple_moves::sidechain_moves::SidechainMCMover::best_
private

Referenced by apply().

core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::best_energy_
private

Referenced by apply().

utility::vector1< core::conformation::ResidueOP > protocols::simple_moves::sidechain_moves::SidechainMCMover::current_
private

Referenced by apply().

core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::current_energy_
private
core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::current_ntrial_
private

Referenced by pass_metropolis(), and show_counters().

core::pack::interaction_graph::SimpleInteractionGraphOP protocols::simple_moves::sidechain_moves::SidechainMCMover::ig_
private

Referenced by apply(), and setup().

bool protocols::simple_moves::sidechain_moves::SidechainMCMover::inherit_scorefxn_temperature_
private
protocols::canonical_sampling::MetropolisHastingsMoverAP protocols::simple_moves::sidechain_moves::SidechainMCMover::metropolis_hastings_mover_
private
core::Size protocols::simple_moves::sidechain_moves::SidechainMCMover::ntrials_
private
utility::vector1< core::conformation::ResidueOP > protocols::simple_moves::sidechain_moves::SidechainMCMover::previous_
private

Referenced by apply().

core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::score_post_apply_
private
core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::score_pre_apply_
private
core::scoring::ScoreFunctionOP protocols::simple_moves::sidechain_moves::SidechainMCMover::sfxn_
private
core::Real protocols::simple_moves::sidechain_moves::SidechainMCMover::temperature_
private

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