vg
tools for working with variation graphs
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vg::RepresentativeTraversalFinder Class Reference

#include <traversal_finder.hpp>

Inheritance diagram for vg::RepresentativeTraversalFinder:
vg::TraversalFinder

Public Member Functions

 RepresentativeTraversalFinder (const PathHandleGraph &graph, SnarlManager &snarl_manager, size_t max_depth, size_t max_width, size_t max_bubble_paths, size_t min_node_support=1, size_t min_edge_support=1, function< PathIndex *(const Snarl &)> get_index=[](const Snarl &s) { return nullptr;}, function< Support(id_t)> get_node_support=nullptr, function< Support(edge_t)> get_edge_support=nullptr)
 
virtual ~RepresentativeTraversalFinder ()=default
 
virtual vector< SnarlTraversalfind_traversals (const Snarl &site)
 
- Public Member Functions inherited from vg::TraversalFinder
virtual ~TraversalFinder ()=default
 
virtual vector< Traversalfind_traversals (const handle_t &snarl_start, const handle_t &snarl_end)
 

Public Attributes

bool verbose = false
 Should we emit verbose debugging info?
 
bool eat_trivial_children = false
 Should trivial child snarls have their traversals glommed into ours?
 
size_t other_orientation_timeout = 10
 

Protected Member Functions

Path find_backbone (const Snarl &site)
 
pair< Support, vector< Visit > > find_bubble (id_t node, const edge_t *edge, const Snarl *snarl, PathIndex &index, const Snarl &site)
 
Support min_support_in_path (const list< Visit > &path)
 
set< tuple< size_t, bool, structures::ImmutableList< Visit > > > bfs_left (Visit visit, PathIndex &index, bool stop_if_visited=false, const Snarl *in_snarl=nullptr, size_t both_orientations_distance=0)
 
set< tuple< size_t, bool, structures::ImmutableList< Visit > > > bfs_right (Visit visit, PathIndex &index, bool stop_if_visited=false, const Snarl *in_snarl=nullptr, size_t both_orientations_distance=0)
 
size_t bp_length (const structures::ImmutableList< Visit > &path)
 

Protected Attributes

const PathHandleGraphgraph
 The annotated, augmented graph we're finding traversals in.
 
SnarlManagersnarl_manager
 The SnarlManager managiung the snarls we use.
 
function< PathIndex *(const Snarl &)> get_index
 
size_t max_depth
 What DFS depth should we search to?
 
size_t max_width
 How many DFS searches should we let there be on the stack at a time?
 
size_t max_bubble_paths
 How many search intermediates can we allow?
 
size_t min_node_support
 Minimum support for a node to consider travnersal through it.
 
size_t min_edge_support
 Minimum support for a edge to consider travnersal through it.
 
bool has_supports = false
 
function< Support(id_t)> get_node_support
 
function< Support(edge_t)> get_edge_support
 

Detailed Description

This TraversalFinder is derived from the old vg call code, and emits at least one traversal representing every node, and one traversal representing every edge.

Constructor & Destructor Documentation

◆ RepresentativeTraversalFinder()

vg::RepresentativeTraversalFinder::RepresentativeTraversalFinder ( const PathHandleGraph graph,
SnarlManager snarl_manager,
size_t  max_depth,
size_t  max_width,
size_t  max_bu