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

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

< HashEdge > * 
std::map< int, std::set
< core::Size > > 
core::Size last_node_added_
ScoreResults special_edge_data_

Constructor & Destructor Documentation

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

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 

Factory method for edge creation.

References hash_edge_pool_.

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

Factory method for node creation.

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

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_
core::Size protocols::legacy_sewing::SewGraph::last_node_added_

Referenced by add_edges_from_binary().

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

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