Rosetta 3.4
Public Member Functions
protocols::backrub::BackrubMover Class Reference

class for applying backrub moves to arbitrary protein segments More...

#include <BackrubMover.hh>

Inheritance diagram for protocols::backrub::BackrubMover:
Inheritance graph
[legend]
Collaboration diagram for protocols::backrub::BackrubMover:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BackrubMover ()
 BackrubMover (BackrubMover const &mover)
virtual protocols::moves::MoverOP clone () const
 clone has to be overridden only if clone invocation is expected.
virtual protocols::moves::MoverOP fresh_instance () const
 this is like clone(), except it generates a new mover object freshly created with the default ctor. This function _should_ be pure virtual but that would disrupt the code base; MAKE SURE YOU DEFINE IT if you want to have your mover be a protocol handed to the job distributor (august 08 vintage).
void init_with_options ()
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.
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
void apply (Pose &pose)
virtual std::string get_name () const
 Each derived class must specify its name. The class name.
Size segment_id (core::id::AtomID start_atomid, core::id::AtomID end_atomid)
 get the segment ID for a given starting and ending atom
bool has_segment (core::id::AtomID start_atomid, core::id::AtomID end_atomid)
 determine whether a given segment exists
BackrubSegment const & segment (core::Size segment_id)
 get a particular segment
void clear_segments ()
 remove all segements
core::Size num_segments ()
 get the number of segments
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
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
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
core::Size add_mainchain_segments ()
 add segments between mainchain atoms using stored parameters
core::Size add_mainchain_segments_from_options ()
 add segments between mainchain atoms using command line options
void optimize_branch_angles (Pose &pose)
 optimize branching atoms for all segment pivot atoms
utility::vector1< core::Size >
const & 
pivot_residues () const
 get residues to pivot if no segments manually defined
void set_pivot_residues (utility::vector1< core::Size > const &pivot_residues)
 set residues to pivot if no segments manually defined
utility::vector1< std::string >
const & 
pivot_atoms () const
 get atom names to pivot if no segments manually defined
void set_pivot_atoms (utility::vector1< std::string > const &pivot_atoms)
 set atom names to pivot if no segments manually defined
core::Size min_atoms () const
 get minimum segment length if no segments manually defined
void set_min_atoms (core::Size min_atoms)
 set minimum segment length if no segments manually defined
core::Size max_atoms () const
 get maximum segment length if no segments manually defined
void set_max_atoms (core::Size max_atoms)
 set maximum segment length if no segments manually defined
core::Real max_angle_disp_4 () const
 get maximum angular displacement for 4 atom segments
void set_max_angle_disp_4 (core::Real max_angle_disp_4)
 set maximum angular displacement for 4 atom segments
core::Real max_angle_disp_7 () const
 get maximum angular displacement for 7 atom segments
void set_max_angle_disp_7 (core::Real max_angle_disp_7)
 set maximum angular displacement for 7 atom segments
core::Real max_angle_disp_slope () const
 get maximum angular displacement slope for other atom segments
void set_max_angle_disp_slope (core::Real max_angle_disp_slope)
 set maximum angular displacement slope for other atom segments
virtual bool preserve_detailed_balance () const
 get whether detailed balance is preserved (i.e. no branch angle optimization during moves)
virtual void set_preserve_detailed_balance (bool preserve_detailed_balance)
 set whether detailed balance is preserved (i.e. no branch angle optimization during moves)
bool require_mm_bend () const
 get whether to exit during initialize_simulation if the mm_bend term isn't turned on
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
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
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
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
protocols::branch_angle::BranchAngleOptimizerbranchopt ()
 get the branch angle optimizer stored in the mover
core::Size next_segment_id () const
 set the id for the next move (i.e. nonrandom)
void set_next_segment_id (core::Size next_segment_id)
 set the id for the next move (i.e. nonrandom)
core::Size last_segment_id () const
 get id the last backrub segment moved
std::string last_start_atom_name () const
 get the name of the atom at the start of the last segment
std::string last_end_atom_name () const
 get the name of the atom at the end of the last segment
core::Real last_angle () const
 get the last rotation angle
void update_type ()
 update string describing the move type

Detailed Description

class for applying backrub moves to arbitrary protein segments


Constructor & Destructor Documentation

protocols::backrub::BackrubMover::BackrubMover ( )

Referenced by clone(), and fresh_instance().

protocols::backrub::BackrubMover::BackrubMover ( BackrubMover const &  mover)

Member Function Documentation

core::Size protocols::backrub::BackrubMover::add_mainchain_segments ( utility::vector1< core::id::AtomID atomids,
core::Size  min_atoms,
core::Size  max_atoms 
)
core::Size protocols::backrub::BackrubMover::add_mainchain_segments ( )

add segments between mainchain atoms using stored parameters

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 protocols::TR().

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

Detailed:
The start atom MUST have all three stub atoms defined. However, the end atom may be at the very end of the chain. There must be at least one atom between start and end atoms.

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 core::kinematics::tree::Atom::parent(), protocols::TR(), and protocols::backrub::tree_distance().

void protocols::backrub::BackrubMover::apply ( Pose pose) [virtual]
protocols::branch_angle::BranchAngleOptimizer& protocols::backrub::BackrubMover::branchopt ( ) [inline]
void protocols::backrub::BackrubMover::clear_segments ( ) [inline]
protocols::moves::MoverOP protocols::backrub::BackrubMover::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.

References BackrubMover().

utility::vector1< core::id::DOF_ID_Range > protocols::backrub::BackrubMover::dof_id_ranges ( core::pose::Pose pose) [virtual]
protocols::moves::MoverOP protocols::backrub::BackrubMover::fresh_instance ( ) const [virtual]

this is like clone(), except it generates a new mover object freshly created with the default ctor. This function _should_ be pure virtual but that would disrupt the code base; MAKE SURE YOU DEFINE IT if you want to have your mover be a protocol handed to the job distributor (august 08 vintage).

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

std::string protocols::backrub::BackrubMover::get_name ( ) const [virtual]

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

Implements protocols::moves::Mover.

bool protocols::backrub::BackrubMover::has_segment ( core::id::AtomID  start_atomid,
core::id::AtomID  end_atomid 
) [inline]

determine whether a given segment exists

References segment_id().

void protocols::backrub::BackrubMover::init_with_options ( )
void protocols::backrub::BackrubMover::initialize_simulation ( core::pose::Pose pose,
protocols::canonical_sampling::MetropolisHastingsMover const &  metropolis_hastings_mover,
core::Size  cycle 
) [virtual]
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::Size protocols::backrub::BackrubMover::next_segment_id ( ) const

set the id for the next move (i.e. nonrandom)

core::Size protocols::backrub::BackrubMover::num_segments ( ) [inline]
void protocols::backrub::BackrubMover::optimize_branch_angles ( Pose pose)

optimize branching atoms for all segment pivot atoms

References protocols::TR().

Referenced by protocols::protein_interface_design::movers::BackrubDDMover::apply().

void protocols::backrub::BackrubMover::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.

References protocols::rosetta_scripts::get_resnum_list().

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

bool protocols::backrub::BackrubMover::preserve_detailed_balance ( ) const [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 
)
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 
)
BackrubSegment const& protocols::backrub::BackrubMover::segment ( core::Size  segment_id) [inline]

get a particular segment

References segment_id().

Size protocols::backrub::BackrubMover::segment_id ( core::id::AtomID  start_atomid,
core::id::AtomID  end_atomid 
) [inline]

get the segment ID for a given starting and ending atom

Detailed:
if the segment ID does not exist, 0 is returned

Referenced by has_segment(), and segment().

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

void protocols::backrub::BackrubMover::set_preserve_detailed_balance ( bool  preserve_detailed_balance) [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

utility::vector1< core::id::TorsionID_Range > protocols::backrub::BackrubMover::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::backrub::BackrubMover::update_type ( )

update string describing the move type

Detailed:
All move types are prefixed with "br". Sections are divided by underscores. The next two sections indicates the names of the atoms at the start and end of the backrub segment. The last section gives the size of the segment.

References protocols::motifs::mt().


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