Rosetta 3.4
Public Member Functions | Protected Attributes
protocols::simple_moves::sidechain_moves::SidechainMover Class Reference

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

#include <SidechainMover.hh>

Inheritance diagram for protocols::simple_moves::sidechain_moves::SidechainMover:
Inheritance graph
[legend]
Collaboration diagram for protocols::simple_moves::sidechain_moves::SidechainMover:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SidechainMover ()
 default constructor
 SidechainMover (core::pack::dunbrack::RotamerLibrary const &rotamer_library)
 constructor with user provided rotamer library
 SidechainMover (SidechainMover const &mover)
 ~SidechainMover ()
virtual protocols::moves::MoverOP clone () const
 clone has to be overridden only if clone invocation is expected.
virtual void parse_my_tag (utility::tag::TagPtr const tag, protocols::moves::DataMap &data, protocols::filters::Filters_map const &filters, protocols::moves::Movers_map const &movers, core::pose::Pose const &pose)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.
void init_task (core::pose::Pose const &pose)
 initialize the packer task if necessary
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
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
virtual std::string get_name () const
 Each derived class must specify its name. The class name.
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
void idealize_sidechains (core::pose::Pose &pose)
 idealize sidechains that might be altered
core::pack::dunbrack::RotamerLibrary
const & 
rotamer_library () const
 get the rotamer library
core::pack::task::TaskFactoryCOP task_factory () const
 get the task factory
void set_task_factory (core::pack::task::TaskFactoryCOP task_factory)
 set the task factory
core::pack::task::PackerTaskCOP task () const
 get the packer task
void set_task (core::pack::task::PackerTaskCOP task)
 set the task
core::Real prob_uniform () const
 get the probability of uniformly sampling chi angles
void set_prob_uniform (core::Real prob_uniform)
 set the probability of uniformly sampling chi angles
bool preserve_detailed_balance () const
 get whether detailed balance is preserved (i.e. proposal density ratio calculated)
void set_preserve_detailed_balance (bool preserve_detailed_balance)
 set whether detailed balance is preserved (i.e. proposal density ratio calculated)
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.
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.
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
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
core::Real prob_withinrot () const
 get the probability of sampling within the same rotamer
void set_prob_withinrot (core::Real prob_withinrot)
 set the probability of sampling within the same rotamer
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
utility::vector1< bool > const & residue_packed () const
 get a vector indicating whether each residue can be packed
core::Size next_resnum () const
 get the next residue to be changed, 0 means a random will be chosen
void next_resnum (core::Size resnum)
 set the next residue to be changed, 0 means a random will be chosen
core::Size last_nchi () const
 get the number of chi angles sampled in the last move
bool last_mutation () const
 get whether the last move mutated the residue
bool last_uniform () const
 get whether the last move used uniform chi sampling
bool last_withinrot () const
 get whether the last move sampled within the same rotamer
virtual core::Real last_proposal_density_ratio ()
 get the ratio of proposal densities for the last move
void update_type ()
 update string describing the move type
void set_sampling_temperature (core::Real temp)
 set temperature for bias sampling at dunbrack distribution
core::Real sampling_temperature ()

Protected Attributes

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::SidechainMover::SidechainMover ( )

default constructor

Referenced by clone().

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

constructor with user provided rotamer library

protocols::simple_moves::sidechain_moves::SidechainMover::SidechainMover ( SidechainMover const &  mover)
protocols::simple_moves::sidechain_moves::SidechainMover::~SidechainMover ( )

Member Function Documentation

void protocols::simple_moves::sidechain_moves::SidechainMover::apply ( core::pose::Pose pose) [virtual]
bool protocols::simple_moves::sidechain_moves::SidechainMover::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.

Referenced by apply(), parse_my_tag(), and set_change_chi_without_replacing_residue().

protocols::moves::MoverOP protocols::simple_moves::sidechain_moves::SidechainMover::clone ( ) const [virtual]

clone has to be overridden only if clone invocation is expected.

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::moves::Mover.

Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.

References SidechainMover().

utility::vector1< core::id::DOF_ID_Range > protocols::simple_moves::sidechain_moves::SidechainMover::dof_id_ranges ( core::pose::Pose pose) [virtual]
std::string protocols::simple_moves::sidechain_moves::SidechainMover::get_name ( ) const [virtual]

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

Implements protocols::moves::Mover.

Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.

void protocols::simple_moves::sidechain_moves::SidechainMover::idealize_sidechains ( core::pose::Pose pose)

idealize sidechains that might be altered

Detailed:
all sidechains that might be changed are replaced with ideal coordinates that have the original chi angles

References core::chemical::aa_pro, core::pose::Pose::chi(), core::pose::Pose::conformation(), init_task(), core::pose::Pose::replace_residue(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::pose::Pose::set_chi().

Referenced by initialize_simulation().

void protocols::simple_moves::sidechain_moves::SidechainMover::init_task ( core::pose::Pose const &  pose)

initialize the packer task if necessary

Detailed:
Check to make sure that a packer task exists and matches the numer of residues in the given pose. If that isn't the case, create a new one with the task factory. Exits with an error if no task factory exists.

References set_task(), and core::pose::Pose::total_residue().

Referenced by apply(), protocols::simple_moves::sidechain_moves::SidechainMCMover::apply(), dof_id_ranges(), and idealize_sidechains().

void protocols::simple_moves::sidechain_moves::SidechainMover::initialize_simulation ( core::pose::Pose pose,
protocols::canonical_sampling::MetropolisHastingsMover const &  metropolis_hastings_mover,
core::Size  cycle 
) [virtual]

callback executed before any Monte Carlo trials

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.

References idealize_sidechains().

bool protocols::simple_moves::sidechain_moves::SidechainMover::last_mutation ( ) const

get whether the last move mutated the residue

core::Size protocols::simple_moves::sidechain_moves::SidechainMover::last_nchi ( ) const

get the number of chi angles sampled in the last move

core::Real protocols::simple_moves::sidechain_moves::SidechainMover::last_proposal_density_ratio ( ) [virtual]
bool protocols::simple_moves::sidechain_moves::SidechainMover::last_uniform ( ) const

get whether the last move used uniform chi sampling

bool protocols::simple_moves::sidechain_moves::SidechainMover::last_withinrot ( ) const

get whether the last move sampled within the same rotamer

core::conformation::ResidueOP protocols::simple_moves::sidechain_moves::SidechainMover::make_move ( core::conformation::ResidueOP  res)
void protocols::simple_moves::sidechain_moves::SidechainMover::next_resnum ( core::Size  resnum)

set the next residue to be changed, 0 means a random will be chosen

core::Size protocols::simple_moves::sidechain_moves::SidechainMover::next_resnum ( ) const

get the next residue to be changed, 0 means a random will be chosen

utility::vector1< core::Size > const & protocols::simple_moves::sidechain_moves::SidechainMover::packed_residues ( ) const

get the residues that can be changed by this mover

Referenced by protocols::simple_moves::sidechain_moves::SidechainMCMover::apply().

void protocols::simple_moves::sidechain_moves::SidechainMover::parse_my_tag ( utility::tag::TagPtr const  tag,
protocols::moves::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::moves::Mover.

Reimplemented in protocols::simple_moves::sidechain_moves::SidechainMCMover.

References change_chi_without_replacing_residue(), core::sequence::end, protocols::moves::DataMap::get(), protocols::moves::DataMap::has(), preserve_detailed_balance(), prob_random_pert_current(), prob_uniform(), prob_withinrot(), set_change_chi_without_replacing_residue(), set_preserve_detailed_balance(), set_prob_random_pert_current(), set_prob_uniform(), and set_prob_withinrot().

bool protocols::simple_moves::sidechain_moves::SidechainMover::preserve_detailed_balance ( ) const [virtual]

get whether detailed balance is preserved (i.e. proposal density ratio calculated)

Implements protocols::canonical_sampling::ThermodynamicMover.

Referenced by parse_my_tag(), protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag(), and set_preserve_detailed_balance().

core::Real protocols::simple_moves::sidechain_moves::SidechainMover::prob_random_pert_current ( ) const
core::Real protocols::simple_moves::sidechain_moves::SidechainMover::prob_uniform ( ) const

get the probability of uniformly sampling chi angles

Referenced by parse_my_tag(), protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag(), and set_prob_uniform().

core::Real protocols::simple_moves::sidechain_moves::SidechainMover::prob_withinrot ( ) const

get the probability of sampling within the same rotamer

Referenced by parse_my_tag(), protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag(), and set_prob_withinrot().

core::Real protocols::simple_moves::sidechain_moves::SidechainMover::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
utility::vector1< bool > const & protocols::simple_moves::sidechain_moves::SidechainMover::residue_packed ( ) const

get a vector indicating whether each residue can be packed

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

get the rotamer library

core::Real protocols::simple_moves::sidechain_moves::SidechainMover::sampling_temperature ( ) [inline]

References sampling_temperature_.

void protocols::simple_moves::sidechain_moves::SidechainMover::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.

References change_chi_without_replacing_residue().

Referenced by parse_my_tag().

void protocols::simple_moves::sidechain_moves::SidechainMover::set_preserve_detailed_balance ( bool  preserve_detailed_balance) [virtual]

set whether detailed balance is preserved (i.e. proposal density ratio calculated)

Implements protocols::canonical_sampling::ThermodynamicMover.

References preserve_detailed_balance().

Referenced by parse_my_tag(), and protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag().

void protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_random_pert_current ( core::Real  prob_pert)
void protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_uniform ( core::Real  prob_uniform)
void protocols::simple_moves::sidechain_moves::SidechainMover::set_prob_withinrot ( core::Real  prob_withinrot)

set the probability of sampling within the same rotamer

References prob_withinrot().

Referenced by parse_my_tag(), and protocols::simple_moves::sidechain_moves::SidechainMCMover::parse_my_tag().

void protocols::simple_moves::sidechain_moves::SidechainMover::set_sampling_temperature ( core::Real  temp) [inline]

set temperature for bias sampling at dunbrack distribution

References sampling_temperature_.

void protocols::simple_moves::sidechain_moves::SidechainMover::set_task ( core::pack::task::PackerTaskCOP  task)
void protocols::simple_moves::sidechain_moves::SidechainMover::set_task_factory ( core::pack::task::TaskFactoryCOP  task_factory)
core::pack::task::PackerTaskCOP protocols::simple_moves::sidechain_moves::SidechainMover::task ( ) const

get the packer task

Referenced by set_task().

core::pack::task::TaskFactoryCOP protocols::simple_moves::sidechain_moves::SidechainMover::task_factory ( ) const

get the task factory

Referenced by set_task_factory().

bool protocols::simple_moves::sidechain_moves::SidechainMover::task_initialized ( )
void protocols::simple_moves::sidechain_moves::SidechainMover::test_move ( core::pose::Pose ) [virtual]

test the backrub move

Detailed:

Reimplemented from protocols::moves::Mover.

utility::vector1< core::id::TorsionID_Range > protocols::simple_moves::sidechain_moves::SidechainMover::torsion_id_ranges ( core::pose::Pose pose) [virtual]

get the TorsionIDs perturbed by the mover during moves, along with their ranges

Implements protocols::canonical_sampling::ThermodynamicMover.

void protocols::simple_moves::sidechain_moves::SidechainMover::update_type ( )

update string describing the move type

Detailed:
All move types are prefixed with "sc". Sections are divided by underscores. The next section indicates whether a mutation was made ("mut") or not ("chi"). The last section indicates wehter chi sampling was uniform ("unif"), used Dunbrack rotamer statistics ("rot"), or whether no chi angles existed in the placed residue ("none").

References protocols::motifs::mt(), and protocols::moves::Mover::type().

Referenced by make_move().


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines