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

torsion sampling kinematic perturber More...

#include <KinematicPerturber.hh>

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

Public Types

typedef KinematicPerturber parent
 

Public Member Functions

 TorsionSamplingKinematicPerturber (KinematicMoverCAP kinmover_in)
 
 ~TorsionSamplingKinematicPerturber () override
 
std::string perturber_type () const override
 
void perturb_beta_residue (core::Real &phi, core::Real &theta, core::Real &psi, const core::Size beta_residue_type) const
 Varies torsions of a beta-amino acid residue based on minimia in the beta-amino acid Ramachandran cube. This randomly picks a minimum, then chooses phi/theta/psi values randomly in a Gaussian centered in that minimum. More...
 
void initialize_betaresidue_minima (utility::vector1< core::Real > &philist, utility::vector1< core::Real > &thetalist, utility::vector1< core::Real > &psilist, const core::Size mode) const
 Initialize positions of minima in the beta-amino acid Ramachandran cube. More...
 
void perturb_chain (core::pose::Pose const &pose, utility::vector1< core::Real > &torsions, utility::vector1< core::Real > &bond_ang, utility::vector1< core::Real > &) override
 varies torsions always and bond angles sometimes. Currently torsion varying will respect a movemap if present; angles do NOT look for a movemap. More...
 
void set_pose_after_closure (core::pose::Pose &pose, utility::vector1< core::Real > const &torsions, utility::vector1< core::Real > const &bond_ang, utility::vector1< core::Real > const &bond_len, bool closure_successful) const override
 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_vary_ca_bond_angles (bool vary_ca_bond_angles)
 
- 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 bool perturber_exhausted () const
 
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

bool vary_ca_bond_angles_
 
bool sample_omega_for_pre_prolines_
 
core::scoring::Ramachandran const & rama_
 

Detailed Description

torsion sampling kinematic perturber

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::TorsionSamplingKinematicPerturber ( KinematicMoverCAP  kinmover_in)
protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::~TorsionSamplingKinematicPerturber ( )
overridedefault

Member Function Documentation

void protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::initialize_betaresidue_minima ( utility::vector1< core::Real > &  philist,
utility::vector1< core::Real > &  thetalist,
utility::vector1< core::Real > &  psilist,
const core::Size  mode 
) const

Initialize positions of minima in the beta-amino acid Ramachandran cube.

Helper function for TorsionSamplingKinematicPerturber::perturb_beta_residue. This initializes the list of minima in the Ramachandran cube for beta-3-amino acids.

Referenced by perturb_beta_residue().

void protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::perturb_beta_residue ( core::Real phi,
core::Real theta,
core::Real psi,
const core::Size  beta_residue_type 
) const

Varies torsions of a beta-amino acid residue based on minimia in the beta-amino acid Ramachandran cube. This randomly picks a minimum, then chooses phi/theta/psi values randomly in a Gaussian centered in that minimum.

This randomly picks a minimum from the enumerated minimia of the beta-amino acid Ramachandran cube, then chooses phi/theta/psi values randomly in a Gaussian centered in that minimum. The behaviour depends on beta_residue_type (0=pick everything randomly, 1=pick using beta-3-alanine Ramachandran cube).

References initialize_betaresidue_minima(), and core::scoring::rg.

Referenced by perturb_chain().

void protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::perturb_chain ( core::pose::Pose const &  pose,
utility::vector1< core::Real > &  torsions,
utility::vector1< core::Real > &  bond_ang,
utility::vector1< core::Real > &   
)
overridevirtual

varies torsions always and bond angles sometimes. Currently torsion varying will respect a movemap if present; angles do NOT look for a movemap.

randomly varies the torsions (and possibly the bond angles) for the loop. Respects a MoveMap, if present, for torsions. Does NOT respect the movemap for angles; does NOT cause any sort of interactions between the MoveMap and the KinematicMover's pivot residues.

Implements protocols::loops::loop_closure::kinematic_closure::KinematicPerturber.

References core::pose::Pose::aa(), core::conformation::Residue::aa(), core::chemical::aa_dpr, core::chemical::aa_pro, protocols::loops::loop_closure::kinematic_closure::KinematicPerturber::get_movemap(), core::conformation::Residue::has_property(), core::chemical::is_canonical_D_aa(), core::conformation::Residue::is_lower_terminus(), protocols::loops::loop_closure::kinematic_closure::KinematicPerturber::kinmover(), perturb_beta_residue(), rama_, core::scoring::Ramachandran::random_phipsi_from_rama(), core::pose::Pose::residue(), core::scoring::rg, sample_omega_for_pre_prolines_, and vary_ca_bond_angles_.

std::string protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::perturber_type ( ) const
inlineoverridevirtual
void protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::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
overridevirtual
void protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::set_vary_ca_bond_angles ( bool  vary_ca_bond_angles)
inline

References vary_ca_bond_angles_.

Member Data Documentation

core::scoring::Ramachandran const& protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::rama_
private

Referenced by perturb_chain().

bool protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::sample_omega_for_pre_prolines_
private

Referenced by perturb_chain().

bool protocols::loops::loop_closure::kinematic_closure::TorsionSamplingKinematicPerturber::vary_ca_bond_angles_
private

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