Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs
HBondGraph.hh File Reference

class headers for HBondGraph, HBondNode, and HBondEdge More...

#include <core/scoring/hbonds/graph/HBondGraph.fwd.hh>
#include <core/scoring/hbonds/graph/AtomInfo.hh>
#include <core/scoring/hbonds/graph/HBondInfo.hh>
#include <numeric/xyzVector.hh>
#include <utility/graph/unordered_object_pool.hpp>
#include <utility/graph/LowMemGraph.hh>
#include <utility/VirtualBase.hh>
#include <core/types.hh>
#include <core/scoring/hbonds/HBondSet.fwd.hh>
#include <set>
#include <algorithm>
#include <boost/container/flat_set.hpp>
#include <utility/strong_aliasing.hh>

Classes

class  core::scoring::hbonds::graph::HBondNode
 Each HBondNode represents a rotamer from the RotamerSets object. More...
 
class  core::scoring::hbonds::graph::HBondEdge
 Each HBondEdge represents a hydrogen bond. More...
 
class  core::scoring::hbonds::graph::HBondGraph
 

Namespaces

 core
 A class for reading in the atom type properties.
 
 core::scoring
 
 core::scoring::hbonds
 
 core::scoring::hbonds::graph
 

Typedefs

using core::scoring::hbonds::graph::NodeIDSize = utility::StrongSize< struct NodeIDSize_ >
 
using core::scoring::hbonds::graph::MResIDSize = utility::StrongSize< struct MResIDSize_ >
 
using core::scoring::hbonds::graph::RotamerIDSize = utility::StrongSize< struct RotamerIDSize_ >
 

Detailed Description

class headers for HBondGraph, HBondNode, and HBondEdge

This graph is different from a HBondGraph because it stores atom information for hbonds and residues. See core/pack/hbonds/HBondGraph_util.hh (especially create_init_and_create_edges_for_hbond_graph() ) and HBondGraph.hh for instructions on how to best use this data structure. Here is the inteded way to use an HBondGraph: (1) Call ctor (2) Immediately call core::pack::hbonds::init_node_info() (3) Use HBondGraphInitializerIG and RotamerSets::compute_energies() to populate edges into this graph (4) If you are using an HBondGraph, call core::pack::hbonds::determine_atom_level_edge_info_for_all_edges() and core::pack::hbonds::determine_atom_level_node_info_for_all_nodes() (5) Optional: If you are using an HBondGraph and you only care to analyze unsatisfied atoms, call find_satisfying_interactions_with_background()

Author
Jack Maguire, jackm.nosp@m.agui.nosp@m.re144.nosp@m.4@gm.nosp@m.ail.c.nosp@m.om

This class is used to store and traverse data used for HBNet's monte carlo branching protocol. Most (if not all) of the information held in this graph is from HBNet's RotamerSets and InteractionGraph. Nodes in this graph represent rotamers from the rotamer set (node id == global rotamer id) and edges respresent hydrogen bonds.

Author
Jack Maguire, jackm.nosp@m.agui.nosp@m.re144.nosp@m.4@gm.nosp@m.ail.c.nosp@m.om