![]() |
Rosetta Protocols
2014.35
|
class for applying backrub moves to arbitrary protein segments More...
#include <BackrubMover.hh>
Public Member Functions | |
BackrubMover () | |
BackrubMover (BackrubMover const &mover) | |
virtual protocols::moves::MoverOP | clone () const |
Return a clone of the Mover object. More... | |
virtual protocols::moves::MoverOP | fresh_instance () const |
Generates a new Mover object freshly created with the default ctor. More... | |
void | init_with_options () |
virtual void | 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) |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
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... | |
void | apply (Pose &pose) |
virtual std::string | get_name () const |
Each derived class must specify its name. The class name. More... | |
Size | segment_id (core::id::AtomID start_atomid, core::id::AtomID end_atomid) |
get the segment ID for a given starting and ending atom More... | |
bool | has_segment (core::id::AtomID start_atomid, core::id::AtomID end_atomid) |
determine whether a given segment exists More... | |
BackrubSegment const & | segment (core::Size segment_id) |
get a particular segment More... | |
void | clear_segments () |
remove all segements More... | |
core::Size | num_segments () |
get the number of segments More... | |
Size | add_segment (core::id::AtomID start_atomid, core::id::AtomID end_atomid, core::Real max_angle_disp=0) |
add a segment to the mover More... | |
core::Size | add_mainchain_segments (utility::vector1< core::id::AtomID > atomids, core::Size min_atoms, core::Size max_atoms) |
add segments between a list of mainchain atomids More... | |
core::Size | add_mainchain_segments (utility::vector1< core::Size > resnums, utility::vector1< std::string > atomnames, core::Size min_atoms, core::Size max_atoms) |
add segments between mainchain atoms in contiguous stretches of residues More... | |
core::Size | add_mainchain_segments () |
add segments between mainchain atoms using stored parameters More... | |
core::Size | add_mainchain_segments_from_options () |
add segments between mainchain atoms using command line options More... | |
void | optimize_branch_angles (Pose &pose) |
optimize branching atoms for all segment pivot atoms More... | |
utility::vector1< core::Size > const & | pivot_residues () const |
get residues to pivot if no segments manually defined More... | |
void | set_pivot_residues (utility::vector1< core::Size > const &pivot_residues) |
set residues to pivot if no segments manually defined More... | |
utility::vector1< std::string > const & | pivot_atoms () const |
get atom names to pivot if no segments manually defined More... | |
void | set_pivot_atoms (utility::vector1< std::string > const &pivot_atoms) |
set atom names to pivot if no segments manually defined More... | |
core::Size | min_atoms () const |
get minimum segment length if no segments manually defined More... | |
void | set_min_atoms (core::Size min_atoms) |
set minimum segment length if no segments manually defined More... | |
core::Size | max_atoms () const |
get maximum segment length if no segments manually defined More... | |
void | set_max_atoms (core::Size max_atoms) |
set maximum segment length if no segments manually defined More... | |
core::Real | max_angle_disp_4 () const |
get maximum angular displacement for 4 atom segments More... | |
void | set_max_angle_disp_4 (core::Real max_angle_disp_4) |
set maximum angular displacement for 4 atom segments More... | |
core::Real | max_angle_disp_7 () const |
get maximum angular displacement for 7 atom segments More... | |
void | set_max_angle_disp_7 (core::Real max_angle_disp_7) |
set maximum angular displacement for 7 atom segments More... | |
core::Real | max_angle_disp_slope () const |
get maximum angular displacement slope for other atom segments More... | |
void | set_max_angle_disp_slope (core::Real max_angle_disp_slope) |
set maximum angular displacement slope for other atom segments More... | |
virtual bool | custom_angle () const |
get whether rotation angle is customized More... | |
virtual void | set_custom_angle (bool custom_angle) |
set whether rotation angle is customized More... | |
virtual bool | preserve_detailed_balance () const |
get whether detailed balance is preserved (i.e. no branch angle optimization during moves) More... | |
virtual void | set_preserve_detailed_balance (bool preserve_detailed_balance) |
set whether detailed balance is preserved (i.e. no branch angle optimization during moves) More... | |
bool | require_mm_bend () const |
get whether to exit during initialize_simulation if the mm_bend term isn't turned on More... | |
void | set_require_mm_bend (bool require_mm_bend) |
set whether to exit during initialize_simulation if the mm_bend term isn't turned on 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... | |
void | rotate_segment (Pose &pose, Size segment_id, core::Real angle, utility::vector0< core::Real > &start_constants, utility::vector0< core::Real > &end_constants) |
do a manual rotation about the given segment More... | |
core::Real | random_angle (Pose &pose, Size segment_id, utility::vector0< core::Real > &start_constants, utility::vector0< core::Real > &end_constants) |
get a random angle for a segment subject to bond angle and rotation constraints More... | |
protocols::branch_angle::BranchAngleOptimizer & | branchopt () |
get the branch angle optimizer stored in the mover More... | |
core::Size | next_segment_id () const |
set the id for the next move (i.e. nonrandom) More... | |
void | set_next_segment_id (core::Size next_segment_id) |
set the id for the next move (i.e. nonrandom) More... | |
core::Size | last_segment_id () const |
get id the last backrub segment moved More... | |
std::string | last_start_atom_name () const |
get the name of the atom at the start of the last segment More... | |
std::string | last_end_atom_name () const |
get the name of the atom at the end of the last segment More... | |
void | set_next_angle (core::Real next_angle) |
set the rotation angle for the next move More... | |
core::Real | next_angle () const |
get the rotation angle for the next move More... | |
core::Real | last_angle () const |
get the last rotation angle More... | |
void | update_type () |
update string describing the move type More... | |
![]() | |
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 core::Real | last_proposal_density_ratio () |
Return the proposal density ratio for last apply method. 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... | |
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... | |
![]() | |
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) | |
Mover & | operator= (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 |
virtual void | test_move (Pose &pose) |
: Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More... | |
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 Strings & | info () |
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... | |
Additional Inherited Members | |
![]() | |
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::string > | Strings |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
![]() | |
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... | |
class for applying backrub moves to arbitrary protein segments
protocols::backrub::BackrubMover::BackrubMover | ( | ) |
References radians().
Referenced by fresh_instance().
protocols::backrub::BackrubMover::BackrubMover | ( | BackrubMover const & | mover | ) |
References canonical_sampling.
core::Size protocols::backrub::BackrubMover::add_mainchain_segments | ( | utility::vector1< core::id::AtomID > | atomids, |
core::Size | min_atoms, | ||
core::Size | max_atoms | ||
) |
add segments between a list of mainchain atomids
References protocols::backrub::connected_mainchain_atomids(), and runtime_assert.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply().
core::Size protocols::backrub::BackrubMover::add_mainchain_segments | ( | utility::vector1< core::Size > | resnums, |
utility::vector1< std::string > | atomnames, | ||
core::Size | min_atoms, | ||
core::Size | max_atoms | ||
) |
add segments between mainchain atoms in contiguous stretches of residues
References runtime_assert, and protocols::TR.
core::Size protocols::backrub::BackrubMover::add_mainchain_segments | ( | ) |
add segments between mainchain atoms using stored parameters
core::Size protocols::backrub::BackrubMover::add_mainchain_segments_from_options | ( | ) |
add segments between mainchain atoms using command line options
Size protocols::backrub::BackrubMover::add_segment | ( | core::id::AtomID | start_atomid, |
core::id::AtomID | end_atomid, | ||
core::Real | max_angle_disp = 0 |
||
) |
add a segment to the mover
If the segment is for whatever reason invalid, 0 is returned. Otherwise, the segment is added to the end of the segments vector and the ID to the new segment is returned. If the segment already exists, then nothing is changed and the existing segment ID is returned.
There has been absolutely no testing of how the code handles jumps! Use this with jumps at your own risk!
References runtime_assert, protocols::TR, and protocols::backrub::tree_distance().
Referenced by protocols::dna::DesignProteinBackboneAroundDNA::backrub().
|
virtual |
Implements protocols::moves::Mover.
References core::id::AtomID::atomno(), numeric::conversions::degrees(), core::pose::Pose::fold_tree(), fold_tree, numeric::random::RandomGenerator::random_range(), core::pose::Pose::residue_type(), protocols::RG, core::id::AtomID::rsd(), runtime_assert, and protocols::TR.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply(), and protocols::dna::DesignProteinBackboneAroundDNA::backrub().
|
inline |
get the branch angle optimizer stored in the mover
References branchopt_.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::loops::loop_mover::refine::LoopMover_Refine_Backrub::apply(), and protocols::dna::DesignProteinBackboneAroundDNA::backrub().
|
inline |
remove all segements
References segments_.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::dna::DesignProteinBackboneAroundDNA::backrub(), and protocols::flexpep_docking::FlexPepDockingProtocol::backrub_move().
|
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::moves::Mover.
|
virtual |
get whether rotation angle is customized
|
virtual |
get the DOF_IDs perturbed by the mover during moves, along with their ranges
Reimplemented from protocols::canonical_sampling::ThermodynamicMover.
References core::kinematics::AtomTree::atom(), core::pose::Pose::atom_tree(), protocols::backrub::BackrubSegment::end_atomid(), pi, runtime_assert, protocols::backrub::BackrubSegment::start_atomid(), protocols::backrub::BackrubSegment::start_atomid1(), and protocols::backrub::BackrubSegment::start_atomid2().
|
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.
References BackrubMover().
|
virtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
|
inline |
determine whether a given segment exists
References segment_id().
void protocols::backrub::BackrubMover::init_with_options | ( | ) |
|
virtual |
Callback executed before any Monte Carlo trials are attempted.
Reimplemented from protocols::canonical_sampling::ThermodynamicMover.
References fold_tree, core::pose::Pose::fold_tree(), core::scoring::mm_bend, monte_carlo, protocols::canonical_sampling::MetropolisHastingsMover::monte_carlo(), protocols::TR, and utility_exit.
core::Real protocols::backrub::BackrubMover::last_angle | ( | ) | const |
get the last rotation angle
std::string protocols::backrub::BackrubMover::last_end_atom_name | ( | ) | const |
get the name of the atom at the end of the last segment
core::Size protocols::backrub::BackrubMover::last_segment_id | ( | ) | const |
get id the last backrub segment moved
std::string protocols::backrub::BackrubMover::last_start_atom_name | ( | ) | const |
get the name of the atom at the start of the last segment
core::Real protocols::backrub::BackrubMover::max_angle_disp_4 | ( | ) | const |
get maximum angular displacement for 4 atom segments
core::Real protocols::backrub::BackrubMover::max_angle_disp_7 | ( | ) | const |
get maximum angular displacement for 7 atom segments
core::Real protocols::backrub::BackrubMover::max_angle_disp_slope | ( | ) | const |
get maximum angular displacement slope for other atom segments
core::Size protocols::backrub::BackrubMover::max_atoms | ( | ) | const |
get maximum segment length if no segments manually defined
core::Size protocols::backrub::BackrubMover::min_atoms | ( | ) | const |
get minimum segment length if no segments manually defined
core::Real protocols::backrub::BackrubMover::next_angle | ( | ) | const |
get the rotation angle for the next move
core::Size protocols::backrub::BackrubMover::next_segment_id | ( | ) | const |
set the id for the next move (i.e. nonrandom)
|
inline |
get the number of segments
References segments_.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply().
void protocols::backrub::BackrubMover::optimize_branch_angles | ( | Pose & | pose | ) |
optimize branching atoms for all segment pivot atoms
References utility::keys::Key3Vector< class >::key1(), utility::keys::Key3Vector< class >::key2(), utility::keys::Key3Vector< class >::key3(), and protocols::TR.
Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply().
|
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.
References core::pose::get_resnum_list(), and utility::string_split().
utility::vector1< std::string > const & protocols::backrub::BackrubMover::pivot_atoms | ( | ) | const |
get atom names to pivot if no segments manually defined
utility::vector1< core::Size > const & protocols::backrub::BackrubMover::pivot_residues | ( | ) | const |
get residues to pivot if no segments manually defined
|
virtual |
get whether detailed balance is preserved (i.e. no branch angle optimization during moves)
Implements protocols::canonical_sampling::ThermodynamicMover.
Real protocols::backrub::BackrubMover::random_angle | ( | Pose & | pose, |
Size | segment_id, | ||
utility::vector0< core::Real > & | start_constants, | ||
utility::vector0< core::Real > & | end_constants | ||
) |
get a random angle for a segment subject to bond angle and rotation constraints
References angle, core::kinematics::AtomTree::atom(), core::pose::Pose::atom_tree(), protocols::backrub::backrub_rotation_constants(), protocols::backrub::BackrubSegment::end_atomid(), numeric::IntervalSet< class >::length(), length, numeric::nearest_angle_radians(), pi, numeric::IntervalSet< class >::random_point(), protocols::RG, numeric::IntervalSet< class >::set(), protocols::backrub::BackrubSegment::start_atomid(), protocols::backrub::BackrubSegment::start_atomid1(), protocols::backrub::BackrubSegment::start_atomid2(), threshold, and numeric::random::RandomGenerator::uniform().
bool protocols::backrub::BackrubMover::require_mm_bend | ( | ) | const |
get whether to exit during initialize_simulation if the mm_bend term isn't turned on
void protocols::backrub::BackrubMover::rotate_segment | ( | Pose & | pose, |
Size | segment_id, | ||
core::Real | angle, | ||
utility::vector0< core::Real > & | start_constants, | ||
utility::vector0< core::Real > & | end_constants | ||
) |
do a manual rotation about the given segment
References core::kinematics::AtomTree::atom(), core::pose::Pose::atom_tree(), protocols::backrub::backrub_rotation_angles(), protocols::backrub::backrub_rotation_constants(), core::pose::Pose::dof(), protocols::backrub::BackrubSegment::end_atomid(), pi, core::pose::Pose::set_dof(), protocols::backrub::BackrubSegment::start_atomid(), protocols::backrub::BackrubSegment::start_atomid1(), and protocols::backrub::BackrubSegment::start_atomid2().
|
inline |
get a particular segment
References segment_id(), and segments_.
|
inline |
get the segment ID for a given starting and ending atom
References segments_.
Referenced by has_segment(), and segment().
|
virtual |
set whether rotation angle is customized
void protocols::backrub::BackrubMover::set_max_angle_disp_4 | ( | core::Real | max_angle_disp_4 | ) |
set maximum angular displacement for 4 atom segments
void protocols::backrub::BackrubMover::set_max_angle_disp_7 | ( | core::Real | max_angle_disp_7 | ) |
set maximum angular displacement for 7 atom segments
void protocols::backrub::BackrubMover::set_max_angle_disp_slope | ( | core::Real | max_angle_disp_slope | ) |
set maximum angular displacement slope for other atom segments
void protocols::backrub::BackrubMover::set_max_atoms | ( | core::Size | max_atoms | ) |
set maximum segment length if no segments manually defined
Referenced by protocols::backrub::init_backrub_mover_with_options().
void protocols::backrub::BackrubMover::set_min_atoms | ( | core::Size | min_atoms | ) |
set minimum segment length if no segments manually defined
Referenced by protocols::backrub::init_backrub_mover_with_options().
void protocols::backrub::BackrubMover::set_next_angle | ( | core::Real | next_angle | ) |
set the rotation angle for the next move
void protocols::backrub::BackrubMover::set_next_segment_id | ( | core::Size | next_segment_id | ) |
set the id for the next move (i.e. nonrandom)
void protocols::backrub::BackrubMover::set_pivot_atoms | ( | utility::vector1< std::string > const & | pivot_atoms | ) |
set atom names to pivot if no segments manually defined
Referenced by protocols::backrub::init_backrub_mover_with_options().
void protocols::backrub::BackrubMover::set_pivot_residues | ( | utility::vector1< core::Size > const & | pivot_residues | ) |
set residues to pivot if no segments manually defined
Referenced by protocols::backrub::init_backrub_mover_with_options().
|
virtual |
set whether detailed balance is preserved (i.e. no branch angle optimization during moves)
Implements protocols::canonical_sampling::ThermodynamicMover.
void protocols::backrub::BackrubMover::set_require_mm_bend | ( | bool | require_mm_bend | ) |
set whether to exit during initialize_simulation if the mm_bend term isn't turned on
|
virtual |
get the TorsionIDs perturbed by the mover during moves, along with their ranges
Implements protocols::canonical_sampling::ThermodynamicMover.
void protocols::backrub::BackrubMover::update_type | ( | ) |
update string describing the move type
References protocols::motifs::mt, and type.
|
private |
|
private |
Referenced by branchopt().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by clear_segments(), num_segments(), segment(), and segment_id().