Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::ligand_docking::ResidueTorsionRestraints Class Reference

Manages harmonic restraints on torsions, so they can be turned off for packing. More...

#include <ResidueTorsionRestraints.hh>

Inheritance diagram for protocols::ligand_docking::ResidueTorsionRestraints:
Inheritance graph
[legend]

Public Member Functions

 ResidueTorsionRestraints (core::pose::Pose &pose, core::Size resid, core::Real stddev_degrees)
 Establishes initial constraints set – constraints start off enabled. More...
 
 ~ResidueTorsionRestraints () override=default
 
void enable (core::pose::Pose &pose)
 Constrain residue torsions for specified pose. More...
 
void disable (core::pose::Pose &pose)
 Remove residue torsions constraints added by this object (if any). More...
 
bool operator== (const ResidueTorsionRestraints &other)
 

Private Member Functions

void setup_constraints (core::pose::Pose &pose)
 Shared logic for creating torsional constraints. More...
 
core::scoring::constraints::ConstraintSetOP without_my_constraints (core::scoring::constraints::ConstraintSetCOP old_constraints, utility::vector1< core::scoring::constraints::ConstraintCOP > &removed_constraints)
 Shared logic; returns old_constraints without my_constraints_. More...
 

Private Attributes

core::Size resid_
 
core::Real stddev_degrees_
 
std::set< std::string > my_constraints_
 
utility::vector1< core::Realold_chi_
 
utility::vector1
< core::scoring::constraints::ConstraintCOP
old_constraints_
 

Detailed Description

Manages harmonic restraints on torsions, so they can be turned off for packing.

Restraints are created when object is created, so they start off enabled. I had to change from a PoseOP in the constructor to Pose references in enable/disable because Movers only get Pose references, not PoseOPs. Do not try to use one of these with multiple different poses, or surely the C++ gods will smite thee.

Constructor & Destructor Documentation

protocols::ligand_docking::ResidueTorsionRestraints::ResidueTorsionRestraints ( core::pose::Pose pose,
core::Size  resid,
core::Real  stddev_degrees 
)

Establishes initial constraints set – constraints start off enabled.

References enable().

protocols::ligand_docking::ResidueTorsionRestraints::~ResidueTorsionRestraints ( )
overridedefault

Member Function Documentation

void protocols::ligand_docking::ResidueTorsionRestraints::disable ( core::pose::Pose pose)
void protocols::ligand_docking::ResidueTorsionRestraints::enable ( core::pose::Pose pose)
bool protocols::ligand_docking::ResidueTorsionRestraints::operator== ( const ResidueTorsionRestraints other)

References resid_.

void protocols::ligand_docking::ResidueTorsionRestraints::setup_constraints ( core::pose::Pose pose)
private

Shared logic for creating torsional constraints.

Adds constraints to all rotatable torsions except proton chis. Conserves all existing constraints except ones previously added by this object.

References core::pose::Pose::constraint_set(), my_constraints_, resid_, core::pose::Pose::residue(), core::pose::Pose::residue_type(), stddev_degrees_, protocols::ligand_docking::TR(), and without_my_constraints().

Referenced by enable().

core::scoring::constraints::ConstraintSetOP protocols::ligand_docking::ResidueTorsionRestraints::without_my_constraints ( core::scoring::constraints::ConstraintSetCOP  old_constraints,
utility::vector1< core::scoring::constraints::ConstraintCOP > &  removed_constraints 
)
private

Shared logic; returns old_constraints without my_constraints_.

References my_constraints_, and protocols::ligand_docking::TR().

Referenced by disable(), and setup_constraints().

Member Data Documentation

std::set< std::string > protocols::ligand_docking::ResidueTorsionRestraints::my_constraints_
private

Constraints that were created and added by this object. We compare by to_string() names rather than object identity because copying a Pose creates a deep copy of its constraints.

Referenced by setup_constraints(), and without_my_constraints().

utility::vector1< core::Real > protocols::ligand_docking::ResidueTorsionRestraints::old_chi_
private

Referenced by disable(), and enable().

utility::vector1< core::scoring::constraints::ConstraintCOP > protocols::ligand_docking::ResidueTorsionRestraints::old_constraints_
private

Referenced by disable(), and enable().

core::Size protocols::ligand_docking::ResidueTorsionRestraints::resid_
private
core::Real protocols::ligand_docking::ResidueTorsionRestraints::stddev_degrees_
private

Referenced by setup_constraints().


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