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::AugRefCover Class Reference

#include <augref.hpp>

Classes

struct  RankedFragment
 

Public Member Functions

void clear (MutablePathMutableHandleGraph *graph)
 
void compute (const PathHandleGraph *graph, SnarlManager *snarl_manager, const unordered_set< path_handle_t > &reference_paths, int64_t minimum_length)
 
void load (const PathHandleGraph *graph, const unordered_set< path_handle_t > &reference_paths)
 
void apply (MutablePathMutableHandleGraph *mutable_graph)
 
void set_augref_sample (const string &sample_name)
 
const string & get_augref_sample () const
 
void set_verbose (bool verbose)
 
bool get_verbose () const
 
int64_t get_rank (nid_t node_id) const
 
const vector< pair< step_handle_t, step_handle_t > > & get_intervals () const
 
const pair< step_handle_t, step_handle_t > * get_interval (nid_t node_id) const
 
int64_t get_num_ref_intervals () const
 
void write_augref_segments (ostream &os)
 

Static Public Member Functions

static string make_augref_name (const string &base_path_name, int64_t augref_index)
 
static bool is_augref_name (const string &path_name)
 
static string parse_base_path (const string &augref_name)
 
static int64_t parse_augref_index (const string &augref_name)
 

Static Public Attributes

static const string augref_suffix = "_alt"
 

Protected Member Functions

void compute_snarl (const Snarl &snarl, PathTraversalFinder &path_trav_finder, int64_t minimum_length, vector< pair< step_handle_t, step_handle_t >> &thread_augref_intervals, unordered_map< nid_t, int64_t > &thread_node_to_interval, nid_t top_snarl_start, nid_t top_snarl_end, vector< pair< nid_t, nid_t >> &thread_snarl_bounds)
 
vector< pair< int64_t, int64_t > > get_uncovered_intervals (const vector< step_handle_t > &trav, const unordered_map< nid_t, int64_t > &thread_node_to_interval)
 
bool add_interval (vector< pair< step_handle_t, step_handle_t >> &thread_augref_intervals, unordered_map< nid_t, int64_t > &thread_node_to_interval, const pair< step_handle_t, step_handle_t > &new_interval, bool global=false, vector< pair< nid_t, nid_t >> *snarl_bounds_vec=nullptr, pair< nid_t, nid_t > snarl_bounds={0, 0})
 
void defragment_intervals ()
 
void filter_short_intervals (int64_t minimum_length)
 
optional< step_handle_ttry_extend_forward (step_handle_t start_step, path_handle_t path, const pair< step_handle_t, step_handle_t > &other_interval)
 
optional< step_handle_ttry_extend_backward (step_handle_t start_step, path_handle_t path, const pair< step_handle_t, step_handle_t > &other_interval)
 
int64_t get_coverage (const vector< step_handle_t > &trav, const pair< int64_t, int64_t > &uncovered_interval)
 
void forwardize_augref_paths (MutablePathMutableHandleGraph *mutable_graph)
 
void fill_uncovered_nodes (int64_t minimum_length)
 
vector< pair< int64_t, nid_t > > get_reference_nodes (nid_t node_id, bool first) const
 
void verify_cover () const
 
void copy_base_paths_to_sample (MutablePathMutableHandleGraph *mutable_graph, const unordered_set< path_handle_t > &reference_paths)
 

Protected Attributes

const PathHandleGraphgraph = nullptr
 
vector< pair< step_handle_t, step_handle_t > > augref_intervals
 
vector< pair< nid_t, nid_t > > interval_snarl_bounds
 
int64_t num_ref_intervals = 0
 
unordered_map< nid_t, int64_t > node_to_interval
 
unordered_map< string, int64_t > base_path_augref_counter
 
string augref_sample_name
 
bool verbose = false
 
bool rank_by_name = false
 

Member Function Documentation

◆ add_interval()

bool vg::AugRefCover::add_interval ( vector< pair< step_handle_t, step_handle_t >> &  thread_augref_intervals,
unordered_map< nid_t, int64_t > &  thread_node_to_interval,
const pair< step_handle_t, step_handle_t > &  new_interval,
bool  global = false,
vector< pair< nid_t, nid_t >> *  snarl_bounds_vec = nullptr,
pair< nid_t, nid_t snarl_bounds = {0, 0} 
)
protected

◆ apply()

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

◆ clear()

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

◆ compute()

void vg::AugRefCover::compute ( const PathHandleGraph graph,
SnarlManager snarl_manager,
const unordered_set< path_handle_t > &  reference_paths,
int64_t  minimum_length 
)

◆ compute_snarl()

void vg::AugRefCover::compute_snarl ( const Snarl snarl,
PathTraversalFinder path_trav_finder,
int64_t  minimum_length,
vector< pair< step_handle_t, step_handle_t >> &  thread_augref_intervals,
unordered_map< nid_t, int64_t > &  thread_node_to_interval,
nid_t  top_snarl_start,
nid_t  top_snarl_end,
vector< pair< nid_t, nid_t >> &  thread_snarl_bounds 
)
protected

◆ copy_base_paths_to_sample()

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

◆ defragment_intervals()

void vg::AugRefCover::defragment_intervals ( )
protected

◆ fill_uncovered_nodes()

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

◆ filter_short_intervals()

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

◆ forwardize_augref_paths()

void vg::AugRefCover::forwardize_augref_paths ( MutablePathMutableHandleGraph mutable_graph)
protected

◆ get_augref_sample()

const string & vg::AugRefCover::get_augref_sample ( ) const

◆ get_coverage()

int64_t vg::AugRefCover::get_coverage ( const vector< step_handle_t > &  trav,
const pair< int64_t, int64_t > &  uncovered_interval 
)
protected

◆ get_interval()

const pair< step_handle_t, step_handle_t > * vg::AugRefCover::get_interval ( nid_t  node_id) const

◆ get_intervals()

const vector< pair< step_handle_t, step_handle_t > > & vg::AugRefCover::get_intervals ( ) const

◆ get_num_ref_intervals()

int64_t vg::AugRefCover::get_num_ref_intervals ( ) const

◆ get_rank()

int64_t vg::AugRefCover::get_rank ( nid_t  node_id) const

◆ get_reference_nodes()

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

◆ get_uncovered_intervals()

vector< pair< int64_t, int64_t > > vg::AugRefCover::get_uncovered_intervals ( const vector< step_handle_t > &  trav,
const unordered_map< nid_t, int64_t > &  thread_node_to_interval 
)
protected

◆ get_verbose()

bool vg::AugRefCover::get_verbose ( ) const

◆ is_augref_name()

bool vg::AugRefCover::is_augref_name ( const string &  path_name)
static

◆ load()

void vg::AugRefCover::load ( const PathHandleGraph graph,
const unordered_set< path_handle_t > &  reference_paths 
)

◆ make_augref_name()

string vg::AugRefCover::make_augref_name ( const string &  base_path_name,
int64_t  augref_index 
)
static

◆ parse_augref_index()

int64_t vg::AugRefCover::parse_augref_index ( const string &  augref_name)
static

◆ parse_base_path()

string vg::AugRefCover::parse_base_path ( const string &  augref_name)
static

◆ set_augref_sample()

void vg::AugRefCover::set_augref_sample ( const string &  sample_name)

◆ set_verbose()

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

◆ try_extend_backward()

optional< step_handle_t > vg::AugRefCover::try_extend_backward ( step_handle_t  start_step,
path_handle_t  path,
const pair< step_handle_t, step_handle_t > &  other_interval 
)
protected

◆ try_extend_forward()

optional< step_handle_t > vg::AugRefCover::try_extend_forward ( step_handle_t  start_step,
path_handle_t  path,
const pair< step_handle_t, step_handle_t > &  other_interval 
)
protected

◆ verify_cover()

void vg::AugRefCover::verify_cover ( ) const
protected

◆ write_augref_segments()

void vg::AugRefCover::write_augref_segments ( ostream &  os)

Member Data Documentation

◆ augref_intervals

vector<pair<step_handle_t, step_handle_t> > vg::AugRefCover::augref_intervals
protected

◆ augref_sample_name

string vg::AugRefCover::augref_sample_name
protected

◆ augref_suffix

const string vg::AugRefCover::augref_suffix = "_alt"
static

◆ base_path_augref_counter

unordered_map<string, int64_t> vg::AugRefCover::base_path_augref_counter
mutableprotected

◆ graph

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

◆ interval_snarl_bounds

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

◆ node_to_interval

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

◆ num_ref_intervals

int64_t vg::AugRefCover::num_ref_intervals = 0
protected

◆ rank_by_name

bool vg::AugRefCover::rank_by_name = false
protected

◆ verbose

bool vg::AugRefCover::verbose = false
protected

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