vg
tools for working with variation graphs
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vg::GrefCover Class Reference

#include <gref.hpp>

Classes

struct  TopLevelSnarlStats
 

Public Member Functions

void clear (MutablePathMutableHandleGraph *graph)
 
void compute (const PathHandleGraph *graph, const bdsg::SnarlDistanceIndex *distance_index, const unordered_set< path_handle_t > &reference_paths, int64_t minimum_length)
 
void apply (MutablePathMutableHandleGraph *mutable_graph)
 
void set_verbose (bool verbose)
 
void enforce_top_level_anchoring (const bdsg::SnarlDistanceIndex &distance_index)
 
void assign_top_level_snarls (const bdsg::SnarlDistanceIndex &distance_index)
 
void assign_nesting (const bdsg::SnarlDistanceIndex &distance_index)
 
void write_gref_segments (ostream &os)
 

Static Public Member Functions

static string make_gref_copy_name (const string &path_name)
 
static string make_gref_base_name (const string &base_path_name)
 
static bool is_gref_derived (const string &name)
 
static string make_gref_name (const string &base_path_name, int64_t gref_index)
 
static bool is_gref_name (const string &path_name)
 
static string parse_base_path (const string &gref_name)
 
static int64_t parse_gref_index (const string &gref_name)
 

Static Public Attributes

static const string gref_prefix = "gref_"
 
static const string gref_suffix = "_alt"
 

Protected Member Functions

void add_interval (vector< pair< step_handle_t, step_handle_t >> &thread_gref_intervals, unordered_map< nid_t, int64_t > &thread_node_to_interval, const pair< step_handle_t, step_handle_t > &new_interval, vector< pair< nid_t, nid_t >> *snarl_bounds_vec=nullptr, pair< nid_t, nid_t > snarl_bounds={0, 0})
 
void filter_short_intervals (int64_t minimum_length)
 
void fill_uncovered_nodes (int64_t minimum_length)
 
vector< pair< int64_t, nid_t > > get_reference_nodes (nid_t node_id, bool first) const
 
string resolve_base_path_name (int64_t interval_index, path_handle_t *out_ref_path=nullptr, nid_t *out_ref_node=nullptr) const
 
void verify_cover (int64_t minimum_length) const
 
void verify_disjoint () const
 
void copy_base_paths_to_gref (MutablePathMutableHandleGraph *mutable_graph, const unordered_set< path_handle_t > &reference_paths)
 

Protected Attributes

const PathHandleGraphgraph = nullptr
 
vector< pair< step_handle_t, step_handle_t > > gref_intervals
 
vector< pair< nid_t, nid_t > > interval_snarl_bounds
 
TopLevelSnarlStats top_level_snarl_stats
 
vector< int64_t > interval_parent
 
vector< int64_t > interval_level
 
unordered_set< nid_texcluded_nodes
 
int64_t excluded_units = 0
 
int64_t excluded_bp = 0
 
int64_t num_ref_intervals = 0
 
unordered_map< nid_t, int64_t > node_to_interval
 
unordered_map< string, int64_t > base_path_gref_counter
 
bool verbose = false
 

Member Function Documentation

◆ add_interval()

void vg::GrefCover::add_interval ( vector< pair< step_handle_t, step_handle_t >> &  thread_gref_intervals,
unordered_map< nid_t, int64_t > &  thread_node_to_interval,
const pair< step_handle_t, step_handle_t > &  new_interval,
vector< pair< nid_t, nid_t >> *  snarl_bounds_vec = nullptr,
pair< nid_t, nid_t snarl_bounds = {0, 0} 
)
protected

◆ apply()

void vg::GrefCover::apply ( MutablePathMutableHandleGraph mutable_graph)

◆ assign_nesting()

void vg::GrefCover::assign_nesting ( const bdsg::SnarlDistanceIndex &  distance_index)

◆ assign_top_level_snarls()

void vg::GrefCover::assign_top_level_snarls ( const bdsg::SnarlDistanceIndex &  distance_index)

◆ clear()

void vg::GrefCover::clear ( MutablePathMutableHandleGraph graph)

◆ compute()

void vg::GrefCover::compute ( const PathHandleGraph graph,
const bdsg::SnarlDistanceIndex *  distance_index,
const unordered_set< path_handle_t > &  reference_paths,
int64_t  minimum_length 
)

◆ copy_base_paths_to_gref()

void vg::GrefCover::copy_base_paths_to_gref ( MutablePathMutableHandleGraph mutable_graph,
const unordered_set< path_handle_t > &  reference_paths 
)
protected

◆ enforce_top_level_anchoring()

void vg::GrefCover::enforce_top_level_anchoring ( const bdsg::SnarlDistanceIndex &  distance_index)

◆ fill_uncovered_nodes()

void vg::GrefCover::fill_uncovered_nodes ( int64_t  minimum_length)
protected

◆ filter_short_intervals()

void vg::GrefCover::filter_short_intervals ( int64_t  minimum_length)
protected

◆ get_reference_nodes()

vector< pair< int64_t, nid_t > > vg::GrefCover::get_reference_nodes ( nid_t  node_id,
bool  first 
) const
protected

◆ is_gref_derived()

bool vg::GrefCover::is_gref_derived ( const string &  name)
static

◆ is_gref_name()

bool vg::GrefCover::is_gref_name ( const string &  path_name)
static

◆ make_gref_base_name()

string vg::GrefCover::make_gref_base_name ( const string &  base_path_name)
static

◆ make_gref_copy_name()

string vg::GrefCover::make_gref_copy_name ( const string &  path_name)
static

◆ make_gref_name()

string vg::GrefCover::make_gref_name ( const string &  base_path_name,
int64_t  gref_index 
)
static

◆ parse_base_path()

string vg::GrefCover::parse_base_path ( const string &  gref_name)
static

◆ parse_gref_index()

int64_t vg::GrefCover::parse_gref_index ( const string &  gref_name)
static

◆ resolve_base_path_name()

string vg::GrefCover::resolve_base_path_name ( int64_t  interval_index,
path_handle_t out_ref_path = nullptr,
nid_t out_ref_node = nullptr 
) const
protected

◆ set_verbose()

void vg::GrefCover::set_verbose ( bool  verbose)

◆ verify_cover()

void vg::GrefCover::verify_cover ( int64_t  minimum_length) const
protected

◆ verify_disjoint()

void vg::GrefCover::verify_disjoint ( ) const
protected

◆ write_gref_segments()

void vg::GrefCover::write_gref_segments ( ostream &  os)

Member Data Documentation

◆ base_path_gref_counter

unordered_map<string, int64_t> vg::GrefCover::base_path_gref_counter
protected

◆ excluded_bp

int64_t vg::GrefCover::excluded_bp = 0
protected

◆ excluded_nodes

unordered_set<nid_t> vg::GrefCover::excluded_nodes
protected

◆ excluded_units

int64_t vg::GrefCover::excluded_units = 0
protected

◆ graph

const PathHandleGraph* vg::GrefCover::graph = nullptr
protected

◆ gref_intervals

vector<pair<step_handle_t, step_handle_t> > vg::GrefCover::gref_intervals
protected

◆ gref_prefix

const string vg::GrefCover::gref_prefix = "gref_"
static

◆ gref_suffix

const string vg::GrefCover::gref_suffix = "_alt"
static

◆ interval_level

vector<int64_t> vg::GrefCover::interval_level
protected

◆ interval_parent

vector<int64_t> vg::GrefCover::interval_parent
protected

◆ interval_snarl_bounds

vector<pair<nid_t, nid_t> > vg::GrefCover::interval_snarl_bounds
protected

◆ node_to_interval

unordered_map<nid_t, int64_t> vg::GrefCover::node_to_interval
protected

◆ num_ref_intervals

int64_t vg::GrefCover::num_ref_intervals = 0
protected

◆ top_level_snarl_stats

TopLevelSnarlStats vg::GrefCover::top_level_snarl_stats
protected

◆ verbose

bool vg::GrefCover::verbose = false
protected

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