Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
core::scoring::hbonds::graph::HBondNode Class Reference

Each HBondNode represents a rotamer from the RotamerSets object. More...

#include <HBondGraph.hh>

Inheritance diagram for core::scoring::hbonds::graph::HBondNode:
Inheritance graph
[legend]

Public Member Functions

 HBondNode ()
 
 HBondNode (const HBondNode &)
 
 HBondNode (Size node_id)
 
 HBondNode (NodeIDSize node_id, MResIDSize mres_id, RotamerIDSize rotamer_id)
 
 ~HBondNode ()
 
void print () const
 
Size count_static_memory () const
 
Size count_dynamic_memory () const
 
unsigned int moltenres () const
 get molten residue id for this rotamer More...
 
void set_moltenres (MResIDSize mres)
 set molten residue id for this rotamer. More...
 
unsigned int local_rotamer_id () const
 get local rotamer id (local to the residue position) More...
 
void set_local_rotamer_id (RotamerIDSize rot_id)
 set local rotamer id (local to the residue position). More...
 
Size global_rotamer_id () const
 duplicate interface for getting the global rotamer id. Identical to this->get_node_index() details this is equivalent to pack_basic::RotamerSetsBase::nrotamer_offset_for_moltenres( this->moltenres() ) + this->local_rotamer_id() More...
 
void register_clash (NodeIDSize node_id)
 keep track of another node (rotamer) that this clashes with. You do not need to call this for all of the rotamers that share a residue position. More...
 
bool clashes (NodeIDSize node_id) const
 does this node clash with another node (at another residue position)? More...
 
AtomInfoSetpolar_sc_atoms_not_satisfied_by_background ()
 
AtomInfoSet const & polar_sc_atoms_not_satisfied_by_background () const
 
void add_polar_atom (unsigned short int local_atom_id, numeric::xyzVector< float > const &atom_position, bool is_hydrogen, bool is_donor, bool is_acceptor, bool is_hydroxyl, bool is_backbone)
 
void add_polar_atom_if_doesnt_exist (AtomInfo const &info)
 The polar atoms are sorted, so we have to cleverly insert and maintain the order. More...
 
void remove_atom_info (unsigned short int local_atom_id)
 
void merge_data (HBondNode const &other, utility::vector1< Size > const &other_node_to_my_node, bool merge_with_OR_logic)
 Only merges new data added by this class. Does not merge edges!!! There are two ways to merge the atoms. OR_logic - Take the union of the atoms at each node AND_logic - Take the intersection of the atoms at each node. More...
 
HBondNodeoperator= (HBondNode const &src)
 

Private Attributes

unsigned int mres_id_
 
unsigned int rotamer_id_
 
boost::container::flat_set
< unsigned int > 
ids_of_clashing_nodes_
 
AtomInfoSet polar_sc_atoms_not_satisfied_by_background_
 

Detailed Description

Each HBondNode represents a rotamer from the RotamerSets object.

Constructor & Destructor Documentation

core::scoring::hbonds::graph::HBondNode::HBondNode ( )

Referenced by count_static_memory().

core::scoring::hbonds::graph::HBondNode::HBondNode ( const HBondNode )
core::scoring::hbonds::graph::HBondNode::HBondNode ( Size  node_id)
core::scoring::hbonds::graph::HBondNode::HBondNode ( NodeIDSize  node_id,
MResIDSize  mres_id,
RotamerIDSize  rotamer_id 
)
core::scoring::hbonds::graph::HBondNode::~HBondNode ( )
default

Member Function Documentation

void core::scoring::hbonds::graph::HBondNode::add_polar_atom ( unsigned short int  local_atom_id,
numeric::xyzVector< float > const &  atom_position,
bool  is_hydrogen,
bool  is_donor,
bool  is_acceptor,
bool  is_hydroxyl,
bool  is_backbone 
)
inline
void core::scoring::hbonds::graph::HBondNode::add_polar_atom_if_doesnt_exist ( AtomInfo const &  info)
inline

The polar atoms are sorted, so we have to cleverly insert and maintain the order.

Used by merge

References polar_sc_atoms_not_satisfied_by_background_.

Referenced by merge_data().

bool core::scoring::hbonds::graph::HBondNode::clashes ( NodeIDSize  node_id) const
inline
Size core::scoring::hbonds::graph::HBondNode::count_dynamic_memory ( ) const
Size core::scoring::hbonds::graph::HBondNode::count_static_memory ( ) const

References HBondNode().

Size core::scoring::hbonds::graph::HBondNode::global_rotamer_id ( ) const
inline
unsigned int core::scoring::hbonds::graph::HBondNode::local_rotamer_id ( ) const
inline

get local rotamer id (local to the residue position)

this is equivalent to pack_basic::RotamerSetsBase::rotid_on_moltenresidue( this->get_node_index() )

References rotamer_id_.

Referenced by protocols::hbnet::HBNet::MC_traverse_IG(), core::scoring::hbonds::graph::HBondGraph::merge(), and merge_data().

void core::scoring::hbonds::graph::HBondNode::merge_data ( HBondNode const &  other,
utility::vector1< Size > const &  other_node_to_my_node,
bool  merge_with_OR_logic 
)

Only merges new data added by this class. Does not merge edges!!! There are two ways to merge the atoms. OR_logic - Take the union of the atoms at each node AND_logic - Take the intersection of the atoms at each node.

other_node_to_my_node is a map of node indices from the other graph to node indices in this graph. other_node_to_my_node.size() == other_graph.num_nodes()

References add_polar_atom_if_doesnt_exist(), clashes(), ids_of_clashing_nodes_, local_rotamer_id(), moltenres(), polar_sc_atoms_not_satisfied_by_background(), polar_sc_atoms_not_satisfied_by_background_, and register_clash().

Referenced by core::scoring::hbonds::graph::HBondGraph::merge().

unsigned int core::scoring::hbonds::graph::HBondNode::moltenres ( ) const
inline
HBondNode& core::scoring::hbonds::graph::HBondNode::operator= ( HBondNode const &  src)
inline
AtomInfoSet& core::scoring::hbonds::graph::HBondNode::polar_sc_atoms_not_satisfied_by_background ( )
inline
AtomInfoSet const& core::scoring::hbonds::graph::HBondNode::polar_sc_atoms_not_satisfied_by_background ( ) const
inline
void core::scoring::hbonds::graph::HBondNode::print ( ) const
void core::scoring::hbonds::graph::HBondNode::register_clash ( NodeIDSize  node_id)
inline

keep track of another node (rotamer) that this clashes with. You do not need to call this for all of the rotamers that share a residue position.

References ids_of_clashing_nodes_.

Referenced by core::pack::hbonds::HBondGraphInitializerIG::eval_rot_pair(), and merge_data().

void core::scoring::hbonds::graph::HBondNode::remove_atom_info ( unsigned short int  local_atom_id)
inline
void core::scoring::hbonds::graph::HBondNode::set_local_rotamer_id ( RotamerIDSize  rot_id)
inline

set local rotamer id (local to the residue position).

References rotamer_id_.

Referenced by core::pack::hbonds::init_node_info().

void core::scoring::hbonds::graph::HBondNode::set_moltenres ( MResIDSize  mres)
inline

set molten residue id for this rotamer.

References mres_id_.

Referenced by core::pack::hbonds::init_node_info().

Member Data Documentation

boost::container::flat_set< unsigned int > core::scoring::hbonds::graph::HBondNode::ids_of_clashing_nodes_
private
unsigned int core::scoring::hbonds::graph::HBondNode::mres_id_
private
AtomInfoSet core::scoring::hbonds::graph::HBondNode::polar_sc_atoms_not_satisfied_by_background_
private
unsigned int core::scoring::hbonds::graph::HBondNode::rotamer_id_
private

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