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

#include <SewGraph.hh>

Inheritance diagram for protocols::legacy_sewing::SewGraph:
Inheritance graph
[legend]

Public Member Functions

 ~SewGraph () override
 
 SewGraph ()
 
 SewGraph (SewGraph const &src)
 
 SewGraph (std::map< int, Model > const &models, core::Size segment_matches_per_edge)
 default construct More...
 
utility::graph::Node * create_new_node (core::Size index) override
 Factory method for node creation. More...
 
utility::graph::Edge * create_new_edge (core::Size index1, core::Size index2) override
 Factory method for edge creation. More...
 
void delete_edge (utility::graph::Edge *edge) override
 
HashEdgefind_hash_edge (core::Size n1, core::Size n2)
 
HashEdge const * find_hash_edge (core::Size n1, core::Size n2) const
 
std::set< core::Sizeget_node_indices_from_model_id (int model_id) const
 
ModelNode const * get_model_node (core::Size n) const
 
ModelNode const * get_model_node (int model_id, std::set< core::Size > segment_ids) const
 
ModelNode const * get_random_node () const
 get a random node from the graph More...
 
ModelNode const * get_random_node_with_edges () const
 get a random node involved in at least one edge from the graph More...
 
void set_special_edges (ScoreResults const &scores)
 
void add_special_edges ()
 
void generate_binary_score_file (std::string score_filename, std::string binary_filename)
 
void add_all_model_edges_from_binary (std::string filename, int model_id)
 
void add_edges_from_binary (std::string filename, core::Size node_id)
 
void report_binary_stats (std::map< int, Model > const &models, std::string filename)
 

Private Attributes

boost::unordered_object_pool
< HashEdge > * 
hash_edge_pool_
 
std::map< int, std::set
< core::Size > > 
model_indices_
 
core::Size last_node_added_
 
ScoreResults special_edge_data_
 

Constructor & Destructor Documentation

protocols::legacy_sewing::SewGraph::~SewGraph ( )
override

References hash_edge_pool_.

protocols::legacy_sewing::SewGraph::SewGraph ( )
protocols::legacy_sewing::SewGraph::SewGraph ( SewGraph const &  src)

Notice that this does not call the parent( src ) copy constructor. This is because the copy constructor relies on polymorphic functions which are unavailable during the Graph constructor. Instead, this function waits until parent construction is complete, and relies on the assigmnent operator.

protocols::legacy_sewing::SewGraph::SewGraph ( std::map< int, Model > const &  models,
core::Size  segment_matches_per_edge 
)

default construct

iterate through the models and add all the nodes to the graph

References protocols::legacy_sewing::ModelNode::model(), model_indices_, and protocols::legacy_sewing::TR().

Member Function Documentation

void protocols::legacy_sewing::SewGraph::add_all_model_edges_from_binary ( std::string  filename,
int  model_id 
)
void protocols::legacy_sewing::SewGraph::add_edges_from_binary ( std::string  filename,
core::Size  node_id 
)
void protocols::legacy_sewing::SewGraph::add_special_edges ( )
utility::graph::Edge * protocols::legacy_sewing::SewGraph::create_new_edge ( core::Size  index1,
core::Size  index2 
)
override

Factory method for edge creation.

References hash_edge_pool_.

utility::graph::Node * protocols::legacy_sewing::SewGraph::create_new_node ( core::Size  index)
override

Factory method for node creation.

void protocols::legacy_sewing::SewGraph::delete_edge ( utility::graph::Edge *  edge)
override

References hash_edge_pool_.

HashEdge * protocols::legacy_sewing::SewGraph::find_hash_edge ( core::Size  n1,
core::Size  n2 
)
HashEdge const * protocols::legacy_sewing::SewGraph::find_hash_edge ( core::Size  n1,
core::Size  n2 
) const
void protocols::legacy_sewing::SewGraph::generate_binary_score_file ( std::string  score_filename,
std::string  binary_filename 
)
ModelNode const * protocols::legacy_sewing::SewGraph::get_model_node ( core::Size  n) const
ModelNode const * protocols::legacy_sewing::SewGraph::get_model_node ( int  model_id,
std::set< core::Size segment_ids 
) const
std::set< core::Size > protocols::legacy_sewing::SewGraph::get_node_indices_from_model_id ( int  model_id) const
ModelNode const * protocols::legacy_sewing::SewGraph::get_random_node ( ) const

get a random node from the graph

References get_model_node().

Referenced by get_random_node_with_edges().

ModelNode const * protocols::legacy_sewing::SewGraph::get_random_node_with_edges ( ) const

get a random node involved in at least one edge from the graph

References get_random_node().

void protocols::legacy_sewing::SewGraph::report_binary_stats ( std::map< int, Model > const &  models,
std::string  filename 
)
void protocols::legacy_sewing::SewGraph::set_special_edges ( ScoreResults const &  scores)

References special_edge_data_.

Member Data Documentation

boost::unordered_object_pool< HashEdge >* protocols::legacy_sewing::SewGraph::hash_edge_pool_
private
core::Size protocols::legacy_sewing::SewGraph::last_node_added_
private

Referenced by add_edges_from_binary().

std::map< int, std::set<core::Size> > protocols::legacy_sewing::SewGraph::model_indices_
private
ScoreResults protocols::legacy_sewing::SewGraph::special_edge_data_
private

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