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

#include <InvrotTreeNode.hh>

Inheritance diagram for protocols::toolbox::match_enzdes_util::InvrotTreeNode:
Inheritance graph
[legend]

Public Member Functions

 InvrotTreeNode (InvrotTreeNodeBaseCAP parent)
 
 ~InvrotTreeNode () override
 
bool initialize_from_enzcst_io (core::conformation::Residue const &target_residue, EnzConstraintIOCOP enzcst_io, core::Size invrot_geomcst, core::pose::PoseCOP pose=nullptr)
 generate invrots according to an enzdes cstfile returns true if it was possible to build invrots, i.e. geometry correctly defined in cstfile and no clashes with any parent inverse rotamers More...
 
bool initialize_from_enzcst_io_and_invrots (std::list< core::conformation::ResidueCOP > const &all_invrots, EnzConstraintIOCOP enzcst_io, core::Size invrot_geomcst, core::pose::PoseCOP pose=nullptr)
 
core::scoring::constraints::ConstraintCOP generate_constraints (core::pose::Pose const &pose, AllowedSeqposForGeomCstCOP geomcst_seqpos) const override
 
core::id::AtomID get_fixed_pt (core::pose::Pose const &pose) const
 this function returns the AtomID for an atom in the pose that's supposed to stay fixed during folding, i.e. the neighbor atom of the first target needed to generate the right backbone_stub constraints More...
 
utility::vector1< std::list
< core::conformation::ResidueCOP > > 
all_target_residues (InvrotTreeNodeBaseCAP child_node) const override
 this function traverses up the tree and adds the target residue for every geomcst in the branch toward this node used for clash checking, i.e. in case where the interaction is lig<-geomcst1-<geomcst2-<geomcst3, we don't want geomcst2 rots that clash with the ligand, and we don't wand geomcst3 rots that clash with the ligand or geomcst1 res the child node argument usually represents the node that is asking for the target residues, i.e. the node that's calling this function More...
 
void remove_invrots_clashing_with_parent_res (std::list< core::conformation::ResidueCOP > &invrots, bool covalent) const
 
void collect_all_inverse_rotamers (utility::vector1< InvrotCollectorOP > &invrot_collectors) const override
 convenience funtion to get all inverse rotamers in the tree puts all the inverse rotamers associated with this node into vector, and should call this function on daughter nodes uses std:vector because the targets will be put into 0th element needs vector of vector bc there can be different definitions of the tree More...
 
- Public Member Functions inherited from protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase
 InvrotTreeNodeBase (InvrotTreeNodeBaseCAP parent_node)
 
 ~InvrotTreeNodeBase () override
 
InvrotTreeNodeBaseCOP get_self_ptr () const
 self pointers More...
 
InvrotTreeNodeBaseOP get_self_ptr ()
 
InvrotTreeNodeBaseCAP get_self_weak_ptr () const
 
InvrotTreeNodeBaseAP get_self_weak_ptr ()
 
InvrotTreeNodeBaseCAP parent_node () const
 
void set_location_in_parent_node (core::Size location)
 
core::Size location_in_parent_node () const
 

Private Types

typedef std::pair< std::list
< core::conformation::ResidueCOP >
, utility::vector1
< InvrotTreeNodeBaseOP > > 
invrots_node_ptrs_pair
 
typedef core::Size Size
 

Private Attributes

core::Size geom_cst_
 
utility::vector1
< invrots_node_ptrs_pair
invrots_and_next_nodes_
 
bool generate_invrot_csts_
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::toolbox::match_enzdes_util::InvrotTreeNode::InvrotTreeNode ( InvrotTreeNodeBaseCAP  parent)
protocols::toolbox::match_enzdes_util::InvrotTreeNode::~InvrotTreeNode ( )
overridedefault

Member Function Documentation

utility::vector1< std::list< core::conformation::ResidueCOP > > protocols::toolbox::match_enzdes_util::InvrotTreeNode::all_target_residues ( InvrotTreeNodeBaseCAP  child_node) const
overridevirtual

this function traverses up the tree and adds the target residue for every geomcst in the branch toward this node used for clash checking, i.e. in case where the interaction is lig<-geomcst1-<geomcst2-<geomcst3, we don't want geomcst2 rots that clash with the ligand, and we don't wand geomcst3 rots that clash with the ligand or geomcst1 res the child node argument usually represents the node that is asking for the target residues, i.e. the node that's calling this function

Implements protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase.

References protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase::get_self_weak_ptr(), invrots_and_next_nodes_, and protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase::parent_node().

void protocols::toolbox::match_enzdes_util::InvrotTreeNode::collect_all_inverse_rotamers ( utility::vector1< InvrotCollectorOP > &  invrot_collectors) const
overridevirtual

convenience funtion to get all inverse rotamers in the tree puts all the inverse rotamers associated with this node into vector, and should call this function on daughter nodes uses std:vector because the targets will be put into 0th element needs vector of vector bc there can be different definitions of the tree

Implements protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase.

References geom_cst_, protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase::get_self_ptr(), invrots_and_next_nodes_, and protocols::toolbox::match_enzdes_util::tr().

core::scoring::constraints::ConstraintCOP protocols::toolbox::match_enzdes_util::InvrotTreeNode::generate_constraints ( core::pose::Pose const &  pose,
AllowedSeqposForGeomCstCOP  geomcst_seqpos 
) const
overridevirtual
  1. for each invrots/node pointer pair: a.generate an ambigous constraint for the inverse rots for each node pointer to child nodes (only if there are child nodes, of course) b. call the generate_constraints function on the pointers to child nodes c. package the ambig constraint generated for the inverse rots and the constraints that come from the child nodes into one multicst caveat: if the child nodes send up a multi constraint and not an ambiguous constraint, 'unpackage' those multicst and generate a new multicst containing this nodes ambigcst and the member_csts from the child nodes' multicsts
  2. if there is more than one invrots/node pointer pair, throw all the generated multicsts into one ambig cst
  3. return either the multicst (one pair) or the ambigcst
  4. hope this works

the real meat of this thing see brief description in .hh file

Implements protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase.

References protocols::toolbox::match_enzdes_util::constrain_pose_res_to_invrots(), generate_invrot_csts_, geom_cst_, get_fixed_pt(), and invrots_and_next_nodes_.

core::id::AtomID protocols::toolbox::match_enzdes_util::InvrotTreeNode::get_fixed_pt ( core::pose::Pose const &  pose) const

this function returns the AtomID for an atom in the pose that's supposed to stay fixed during folding, i.e. the neighbor atom of the first target needed to generate the right backbone_stub constraints

approach: get the target residues, then find a residue in the pose that has the same name as the first target residue and a neighbor atom in the same position. this will be the fixed point. exit w error if not found

References core::conformation::Residue::atom(), core::conformation::Residue::atoms(), protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase::get_self_weak_ptr(), core::chemical::ResidueTypeBase::name3(), protocols::toolbox::match_enzdes_util::InvrotTreeNodeBase::parent_node(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::pose::Pose::size(), and core::conformation::Atom::xyz().

Referenced by generate_constraints().

bool protocols::toolbox::match_enzdes_util::InvrotTreeNode::initialize_from_enzcst_io ( core::conformation::Residue const &  target_residue,
EnzConstraintIOCOP  enzcst_io,
core::Size  invrot_geomcst,
core::pose::PoseCOP  pose = nullptr 
)

generate invrots according to an enzdes cstfile returns true if it was possible to build invrots, i.e. geometry correctly defined in cstfile and no clashes with any parent inverse rotamers

assumptions: this node represents the upstream_res of this geom_cst (invrot_geomcst), and the given target_residue corresponds to the downstream_res of invrot_geomcst

References protocols::toolbox::match_enzdes_util::cst_residue_in_pose(), core::conformation::Residue::get_self_ptr(), initialize_from_enzcst_io_and_invrots(), invrots_and_next_nodes_, remove_invrots_clashing_with_parent_res(), and protocols::toolbox::match_enzdes_util::tr().

bool protocols::toolbox::match_enzdes_util::InvrotTreeNode::initialize_from_enzcst_io_and_invrots ( std::list< core::conformation::ResidueCOP > const &  all_invrots,
EnzConstraintIOCOP  enzcst_io,
core::Size  invrot_geomcst,
core::pose::PoseCOP  pose = nullptr 
)
void protocols::toolbox::match_enzdes_util::InvrotTreeNode::remove_invrots_clashing_with_parent_res ( std::list< core::conformation::ResidueCOP > &  invrots,
bool  covalent 
) const

Member Data Documentation

bool protocols::toolbox::match_enzdes_util::InvrotTreeNode::generate_invrot_csts_
private

Referenced by generate_constraints().

core::Size protocols::toolbox::match_enzdes_util::InvrotTreeNode::geom_cst_
private
utility::vector1< invrots_node_ptrs_pair > protocols::toolbox::match_enzdes_util::InvrotTreeNode::invrots_and_next_nodes_
private

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