Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber Class Reference

WARNING WARNING UNTESTED!!!! torsion sweeping kinematic perturber. More...

#include <KinematicPerturber.hh>

Inheritance diagram for protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber:
Inheritance graph
[legend]

Public Member Functions

 TorsionSweepingKinematicPerturber ()
 
 ~TorsionSweepingKinematicPerturber () override
 
std::string perturber_type () const override
 
void perturb_chain (core::pose::Pose const &pose, utility::vector1< core::Real > &torsions, utility::vector1< core::Real > &bond_ang, utility::vector1< core::Real > &) override
 movemap control NOT IMPLEMENTED in TorsionSweepingKP. It is also NOT NEEDED because you can use set_nonpivot_res_to_sweep instead. More...
 
bool perturber_exhausted () const override
 
void set_nonpivot_res_to_sweep (utility::vector1< core::Size > const &resids)
 
void set_nonpivot_bb_torsion_id (utility::vector1< core::Size > const &bbtorids)
 
void set_sweep_start_angle (utility::vector1< core::Real > const &angles_in_degrees)
 
void set_sweep_step_size (utility::vector1< core::Real > const &angle_steps_in_degrees)
 
void set_sweep_nsteps (utility::vector1< core::Size > const &nsteps)
 
- Public Member Functions inherited from protocols::loops::loop_closure::kinematic_closure::KinematicPerturber
 KinematicPerturber ()
 
 ~KinematicPerturber () override
 
void set_kinmover (KinematicMoverCAP kinmover)
 
void set_movemap (core::kinematics::MoveMapCOP mm)
 
core::kinematics::MoveMapCOP get_movemap () const
 
virtual void set_pose_after_closure (core::pose::Pose &pose, utility::vector1< core::Real > const &torsions, utility::vector1< core::Real > const &, utility::vector1< core::Real > const &, bool) const
 after the kinmover has closed the loop, the perturber needs to put the solutions into the pose note: the base class version of this function sets the torsions, so any KinematicPerturber that only changes the torsions will not have to implement this function More...
 
void set_max_sample_iterations (core::Size sample_its)
 
core::Size max_sample_iterations () const
 
void clear_torsion_string_stack ()
 
KinematicMoverCAP kinmover () const
 

Private Attributes

utility::vector1< core::Sizenonpivot_res_to_sweep_
 
utility::vector1< core::Sizesweep_torsion_ids_
 
utility::vector1< core::Realsweep_nonpivot_torsion_starts_
 
utility::vector1< core::Realsweep_step_sizes_
 
utility::LexicographicalIterator sweep_iterator_
 

Detailed Description

WARNING WARNING UNTESTED!!!! torsion sweeping kinematic perturber.

WARNING WARNING UNTESTED!!!! used to work in other implementation probably works now, but to make sure you shoud doublecheck

Here's some commentary on why the TorsionSweepingKinematicPerturber is Fun and Awesome to use! Basically, you take the loop as given and search for solutions nearby. Its purpose is not to produce large changes, but instead to produce small perturbations to find the bottom of the current energy well. It's not meant to be used for the original KIC protocol, in which the pivots are changed regularly: you can't sweep through nonpivot torsion space if the pivots don't stay the same.

Constructor & Destructor Documentation

protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::TorsionSweepingKinematicPerturber ( )
protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::~TorsionSweepingKinematicPerturber ( )
overridedefault

Member Function Documentation

void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::perturb_chain ( core::pose::Pose const &  pose,
utility::vector1< core::Real > &  torsions,
utility::vector1< core::Real > &  bond_ang,
utility::vector1< core::Real > &   
)
overridevirtual
bool protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::perturber_exhausted ( ) const
inlineoverridevirtual
std::string protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::perturber_type ( ) const
inlineoverridevirtual
void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::set_nonpivot_bb_torsion_id ( utility::vector1< core::Size > const &  bbtorids)
void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::set_nonpivot_res_to_sweep ( utility::vector1< core::Size > const &  resids)
void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::set_sweep_nsteps ( utility::vector1< core::Size > const &  nsteps)

Initializes the LexicographicalIterator

References nonpivot_res_to_sweep_, and sweep_iterator_.

void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::set_sweep_start_angle ( utility::vector1< core::Real > const &  angles_in_degrees)
void protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::set_sweep_step_size ( utility::vector1< core::Real > const &  angle_steps_in_degrees)

Member Data Documentation

utility::vector1< core::Size > protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::nonpivot_res_to_sweep_
private
utility::LexicographicalIterator protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::sweep_iterator_
mutableprivate
utility::vector1< core::Real > protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::sweep_nonpivot_torsion_starts_
private
utility::vector1< core::Real > protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::sweep_step_sizes_
private
utility::vector1< core::Size > protocols::loops::loop_closure::kinematic_closure::TorsionSweepingKinematicPerturber::sweep_torsion_ids_
private

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