|
vg
tools for working with variation graphs
|
#include <traversal_finder.hpp>
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< SnarlTraversal > | find_traversals (const Snarl &site) |
Public Member Functions inherited from vg::TraversalFinder | |
| virtual | ~TraversalFinder ()=default |
| virtual vector< Traversal > | find_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 PathHandleGraph & | graph |
| The annotated, augmented graph we're finding traversals in. | |
| SnarlManager & | snarl_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 |
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.
| vg::RepresentativeTraversalFinder::RepresentativeTraversalFinder | ( | const PathHandleGraph & | graph, |
| SnarlManager & | snarl_manager, | ||
| size_t | max_depth, | ||
| size_t | max_width, | ||
| size_t | max_bu |