Rosetta Protocols  2014.35
Classes | Typedefs | Functions
protocols::backrub Namespace Reference


class  BackrubMover
 class for applying backrub moves to arbitrary protein segments More...
class  BackrubMoverCreator
class  BackrubSegment
 a class for holind information about individual backrub segments More...
class  BackrubSidechainMover
class  BackrubSidechainMoverCreator


< BackrubMover
< BackrubMover const > 
< BackrubSidechainMover
< BackrubSidechainMover const > 


void init_backrub_mover_with_options (BackrubMover &mover)
int tree_distance (kinematics::tree::AtomCOP ancestor, kinematics::tree::AtomCOP descendent)
 calculate the number of atom tree bonds between the two atoms possibly move this into the Atom class More...
core::Size connected_mainchain_atomids (Pose const &pose, core::id::AtomID atomid, utility::vector1< core::id::AtomID > &atomids)
void backrub_rotation_constants (core::kinematics::tree::AtomCOP PM2_atom, core::kinematics::tree::AtomCOP PM1_atom, core::kinematics::tree::AtomCOP P_atom, core::kinematics::tree::AtomCOP PP1_atom, core::kinematics::tree::AtomCOP PP2_atom, core::kinematics::tree::AtomCOP REF_atom, utility::vector0< double > &constants, core::Real const alpha_min=0, core::Real const alpha_max=numeric::NumericTraits< core::Real >::pi(), numeric::IntervalSet< core::Real > *tau_intervals=NULL)
 calculate constants necessary for calculating internal angles/derivatives More...
void backrub_rotation_angles (utility::vector0< core::Real > const &constants, core::Real const tau, core::Real &bondange, core::Real &torsion1, core::Real &torsion2)
 calculate internal coordinate values for any tau value More...

Typedef Documentation

Function Documentation

void protocols::backrub::backrub_rotation_angles ( utility::vector0< Real > const &  constants,
Real const  tau,
Real bondange,
Real torsion1,
Real torsion2 

calculate internal coordinate values for any tau value

tau is the angular displacement

References numeric::sin_cos_range(), and sin_cos_range().

Referenced by protocols::backrub::BackrubMover::rotate_segment().

void protocols::backrub::backrub_rotation_constants ( core::kinematics::tree::AtomCOP  PM2_atom,
core::kinematics::tree::AtomCOP  PM1_atom,
core::kinematics::tree::AtomCOP  P_atom,
core::kinematics::tree::AtomCOP  PP1_atom,
core::kinematics::tree::AtomCOP  PP2_atom,
core::kinematics::tree::AtomCOP  REF_atom,
utility::vector0< Real > &  constants,
core::Real const  alpha_min,
core::Real const  alpha_max,
numeric::IntervalSet< core::Real > *  tau_intervals 

calculate constants necessary for calculating internal angles/derivatives

PM1 & PM2 are the parent and grandparent atoms (respectively) of the pivot atom, P. PP1 and PP2 are the child and grandchiled atoms (respectively) of the pivot atom. PM2 and PP2 are optional and may be NULL. REF is the other (reference) pivot atom that defines the rotation axis.

The first 9 constants returned represent A1-A3, B1-B3, & C1-C3 as described in Betancourt 2005. The last 6 constants allow calculation of the signs of phi and psi. They could be called B4-B6 & C4-C6. For a given tau angle, phi is negative if the following is true:

B4 < B5 * cos(B6 + tau)

Similarly, psi is negative if the following is true:

C4 < C5 * cos(C6 + tau)

References beta, C, protocols::frag_picker::CA, cross(), dot(), in_sin_cos_range(), numeric::in_sin_cos_range(), N, numeric::nearest_angle_radians(), normalize, pi, numeric::conversions::radians(), numeric::IntervalSet< class >::set(), sin_cos_range(), numeric::sin_cos_range(), U, V, and W.

Referenced by protocols::backrub::BackrubMover::random_angle(), and protocols::backrub::BackrubMover::rotate_segment().

core::Size protocols::backrub::connected_mainchain_atomids ( Pose const &  pose,
core::id::AtomID  atomid,
utility::vector1< core::id::AtomID > &  atomids 
void protocols::backrub::init_backrub_mover_with_options ( BackrubMover &  mover)
int protocols::backrub::tree_distance ( kinematics::tree::AtomCOP  ancestor,
kinematics::tree::AtomCOP  descendent 

calculate the number of atom tree bonds between the two atoms possibly move this into the Atom class

Referenced by protocols::backrub::BackrubMover::add_segment().