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::sewing::hashing::EdgeMapGenerator Class Reference

Class used to generate and load in edge files for use with SEWING protocols. More...

#include <EdgeMapGenerator.hh>

Inheritance diagram for protocols::sewing::hashing::EdgeMapGenerator:
Inheritance graph
[legend]

Public Member Functions

 EdgeMapGenerator ()
 
 EdgeMapGenerator (std::string model_file_name, core::Size boxes_per_dimension, core::Size min_hash_score, core::Size max_clash_score, std::string edge_file_name, bool hash_opposite_termini)
 
 EdgeMapGenerator (EdgeMapGenerator const &other)
 
 EdgeMapGenerator (std::string edge_file_name)
 
 ~EdgeMapGenerator () override
 
EdgeMapGeneratorOP clone ()
 
bool edge_exists (data_storage::SmartSegmentCOP seg1, data_storage::SmartSegmentCOP seg2, HasherOP hasher)
 Check whether two SewSegments can form an edge. More...
 
void write_edges_for_segment (core::Size current_n_segment, HasherOP hasher, std::ostream &output_file, utility::vector1< core::Size > const &c_segs)
 Method called by each individual processor to write to its edge file. More...
 
std::pair< utility::vector1
< core::Size >
, utility::vector1< core::Size > > 
get_terminal_segments ()
 Generate vectors of IDs of N-terminal and C-terminal segments. More...
 
void append_to_edge_map (core::Size base_seg_id)
 Used to add a given segment's n-most and c-most terminal segments to EdgeMap. More...
 
void generate_edge_file ()
 Main method of this class that is responsible for dividing work between nodes and iterating over models. More...
 
void initialize_from_options ()
 Get values of command-line options. More...
 
void set_private_data (std::string model_file_name, core::Size boxes_per_dimension, core::Size min_hash_score, core::Size max_clash_score, bool hash_opposite_termini)
 Shared setup of private data members. More...
 
EdgeMapOP edge_map () const
 
core::Size version () const
 
std::string edge_file_name () const
 
HasherSettings hasher_settings () const
 
std::map< core::Size,
data_storage::SmartSegmentOP > & 
pdb_segments ()
 
std::map< core::Size,
data_storage::SmartSegmentOP >
const 
const_pdb_segments () const
 
SegmentVectorCOP segment_vector () const
 
bool is_edge_file_loaded () const
 
void version (core::Size ver)
 
void edge_file_name (std::string name)
 
void segment_vector (SegmentVectorCOP segvector)
 
void hasher_settings (HasherSettings &hs)
 
void pdb_segments (std::map< core::Size, data_storage::SmartSegmentOP > &)
 
void load_edge_file (std::string edge_file_name)
 Main function for reading edge files (sets values of other member variables) More...
 
void read_edge_file ()
 Alternate function to read edge file when name is already known. More...
 
EdgeMap::iterator get_edges (core::Size)
 function returns a set of segments that the provided segment can connect to. More...
 

Private Attributes

HasherSettings hasher_settings_
 
core::Size version_ =0
 
EdgeMapOP edges_ = utility::pointer::make_shared< EdgeMap >()
 
SegmentVectorCOP segment_vector_
 
std::string edge_file_name_
 
bool is_edge_file_loaded_
 
std::map< core::Size,
data_storage::SmartSegmentOP
pdb_segments_
 

Detailed Description

Class used to generate and load in edge files for use with SEWING protocols.

Constructor & Destructor Documentation

protocols::sewing::hashing::EdgeMapGenerator::EdgeMapGenerator ( )

References pdb_segments_.

protocols::sewing::hashing::EdgeMapGenerator::EdgeMapGenerator ( std::string  model_file_name,
core::Size  boxes_per_dimension,
core::Size  min_hash_score,
core::Size  max_clash_score,
std::string  edge_file_name,
bool  hash_opposite_termini 
)
protocols::sewing::hashing::EdgeMapGenerator::EdgeMapGenerator ( EdgeMapGenerator const &  other)
protocols::sewing::hashing::EdgeMapGenerator::EdgeMapGenerator ( std::string  edge_file_name)

References pdb_segments_.

protocols::sewing::hashing::EdgeMapGenerator::~EdgeMapGenerator ( )
override

Member Function Documentation

void protocols::sewing::hashing::EdgeMapGenerator::append_to_edge_map ( core::Size  base_seg_id)

Used to add a given segment's n-most and c-most terminal segments to EdgeMap.

This function is intended to be used with AppendAssemblyMover ( and possibly with some later applications) to add a set of connected segments (formerly known as a model) to an existing EdgeMap

References edge_exists(), protocols::sewing::data_storage::SmartSegment::get_c_most_segment(), protocols::sewing::data_storage::SmartSegment::get_n_most_segment(), get_terminal_segments(), hasher_settings_, pdb_segments_, and segment_vector_.

EdgeMapGeneratorOP protocols::sewing::hashing::EdgeMapGenerator::clone ( )
std::map< core::Size, data_storage::SmartSegmentOP > const protocols::sewing::hashing::EdgeMapGenerator::const_pdb_segments ( ) const

References pdb_segments_.

bool protocols::sewing::hashing::EdgeMapGenerator::edge_exists ( data_storage::SmartSegmentCOP  seg1,
data_storage::SmartSegmentCOP  seg2,
HasherOP  hasher 
)

Check whether two SewSegments can form an edge.

References protocols::TR().

Referenced by append_to_edge_map(), and write_edges_for_segment().

std::string protocols::sewing::hashing::EdgeMapGenerator::edge_file_name ( ) const

References edge_file_name_.

Referenced by load_edge_file().

void protocols::sewing::hashing::EdgeMapGenerator::edge_file_name ( std::string  name)

References edge_file_name_.

EdgeMapOP protocols::sewing::hashing::EdgeMapGenerator::edge_map ( ) const

References edges_.

void protocols::sewing::hashing::EdgeMapGenerator::generate_edge_file ( )

Main method of this class that is responsible for dividing work between nodes and iterating over models.

This function handles the distribution of labor for edge file generation. The actual calls to the hasher & writing to the file (really everything directly dealing with SEWING elements) happens elsewhere.

References protocols::sewing::hashing::HasherSettings::boxes_per_dimension, edge_file_name_, get_terminal_segments(), protocols::sewing::hashing::HasherSettings::hash_between_termini, hasher_settings_, protocols::sewing::hashing::HasherSettings::max_clash_score, protocols::sewing::hashing::HasherSettings::min_hash_score, protocols::wum::mpi_rank(), pdb_segments_, segment_vector_, core::id::to_string(), protocols::TR(), version_, and write_edges_for_segment().

EdgeMap::iterator protocols::sewing::hashing::EdgeMapGenerator::get_edges ( core::Size  sew_segment)

function returns a set of segments that the provided segment can connect to.

References edges_.

std::pair< utility::vector1< core::Size >, utility::vector1< core::Size > > protocols::sewing::hashing::EdgeMapGenerator::get_terminal_segments ( )

Generate vectors of IDs of N-terminal and C-terminal segments.

References pdb_segments_, and segment_vector_.

Referenced by append_to_edge_map(), and generate_edge_file().

HasherSettings protocols::sewing::hashing::EdgeMapGenerator::hasher_settings ( ) const

References hasher_settings_.

void protocols::sewing::hashing::EdgeMapGenerator::hasher_settings ( HasherSettings hs)

References hasher_settings_.

void protocols::sewing::hashing::EdgeMapGenerator::initialize_from_options ( )

Get values of command-line options.

References edge_file_name_, and set_private_data().

bool protocols::sewing::hashing::EdgeMapGenerator::is_edge_file_loaded ( ) const

References is_edge_file_loaded_.

void protocols::sewing::hashing::EdgeMapGenerator::load_edge_file ( std::string  edge_file_name)

Main function for reading edge files (sets values of other member variables)

References edge_file_name(), edge_file_name_, and read_edge_file().

std::map< core::Size, data_storage::SmartSegmentOP > & protocols::sewing::hashing::EdgeMapGenerator::pdb_segments ( )

References pdb_segments_.

void protocols::sewing::hashing::EdgeMapGenerator::pdb_segments ( std::map< core::Size, data_storage::SmartSegmentOP > &  pdbsegs)

References pdb_segments_.

void protocols::sewing::hashing::EdgeMapGenerator::read_edge_file ( )

Alternate function to read edge file when name is already known.

References edge_file_name_, hasher_settings_, is_edge_file_loaded_, and version_.

Referenced by load_edge_file().

SegmentVectorCOP protocols::sewing::hashing::EdgeMapGenerator::segment_vector ( ) const

References segment_vector_.

void protocols::sewing::hashing::EdgeMapGenerator::segment_vector ( SegmentVectorCOP  segvector)

References segment_vector_.

void protocols::sewing::hashing::EdgeMapGenerator::set_private_data ( std::string  model_file_name,
core::Size  boxes_per_dimension,
core::Size  min_hash_score,
core::Size  max_clash_score,
bool  hash_opposite_termini 
)
core::Size protocols::sewing::hashing::EdgeMapGenerator::version ( ) const

References version_.

void protocols::sewing::hashing::EdgeMapGenerator::version ( core::Size  ver)

References version_.

void protocols::sewing::hashing::EdgeMapGenerator::write_edges_for_segment ( core::Size  current_n_segment,
HasherOP  hasher,
std::ostream &  output_file,
utility::vector1< core::Size > const &  c_segs 
)

Method called by each individual processor to write to its edge file.

References edge_exists(), pdb_segments_, segment_vector_, core::id::to_string(), and protocols::TR().

Referenced by generate_edge_file().

Member Data Documentation

std::string protocols::sewing::hashing::EdgeMapGenerator::edge_file_name_
private
EdgeMapOP protocols::sewing::hashing::EdgeMapGenerator::edges_ = utility::pointer::make_shared< EdgeMap >()
private

Referenced by edge_map(), and get_edges().

HasherSettings protocols::sewing::hashing::EdgeMapGenerator::hasher_settings_
private
bool protocols::sewing::hashing::EdgeMapGenerator::is_edge_file_loaded_
private
std::map< core::Size, data_storage::SmartSegmentOP > protocols::sewing::hashing::EdgeMapGenerator::pdb_segments_
private
SegmentVectorCOP protocols::sewing::hashing::EdgeMapGenerator::segment_vector_
private
core::Size protocols::sewing::hashing::EdgeMapGenerator::version_ =0
private

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