vg
tools for working with variation graphs
Public Member Functions | Private Attributes | List of all members
vg::PathRestrictedTraversalFinder Class Reference

#include <traversal_finder.hpp>

Inheritance diagram for vg::PathRestrictedTraversalFinder:
vg::TraversalFinder

Public Member Functions

 PathRestrictedTraversalFinder (VG &graph, SnarlManager &snarl_manager, map< string, const Alignment * > &reads_by_name, int min_recurrence=2, int max_path_search_steps=100, bool allow_duplicates=false)
 
virtual ~PathRestrictedTraversalFinder ()
 
virtual vector< SnarlTraversalfind_traversals (const Snarl &site)
 
virtual pair< vector< SnarlTraversal >, vector< string > > find_named_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)
 

Private Attributes

VGgraph
 
SnarlManagersnarl_manager
 
map< string, const Alignment * > & reads_by_name
 
int min_recurrence
 
int max_path_search_steps
 
bool allow_duplicates
 

Detailed Description

Like ReadRestrictedTraversal finder, but works on paths in the graph. As with the former, it's been cut out of Genotyper and moved here.

I'm not sure what PathBasedTraversalFinder (see below) does, but it does not work as a drop-in replacement for this class, so keep the two implementations at least for now.

DEPRECATED: Use PathTraversalFinder instead

Constructor & Destructor Documentation

◆ PathRestrictedTraversalFinder()

vg::PathRestrictedTraversalFinder::PathRestrictedTraversalFinder ( VG graph,
SnarlManager snarl_manager,
map< string, const Alignment * > &  reads_by_name,
int  min_recurrence = 2,
int  max_path_search_steps = 100,
bool  allow_duplicates = false 
)

◆ ~PathRestrictedTraversalFinder()

vg::PathRestrictedTraversalFinder::~PathRestrictedTraversalFinder ( )
virtual

Member Function Documentation

◆ find_named_traversals()

pair< vector< SnarlTraversal >, vector< string > > vg::PathRestrictedTraversalFinder::find_named_traversals ( const Snarl site)
virtual

Like above, but return the path name corresponding to each traversal

◆ find_traversals()

vector< SnarlTraversal > vg::PathRestrictedTraversalFinder::find_traversals ( const Snarl site)
virtual

For the given site, emit all subpaths with unique sequences that run from start to end, out of the paths in the graph. Uses the map of reads by name to determine if a path is a read or a real named path. Paths through the snarl supported only by reads are subject to a min recurrence count, while those supported by actual embedded named paths are not.

Implements vg::TraversalFinder.

Member Data Documentation

◆ allow_duplicates

bool vg::PathRestrictedTraversalFinder::allow_duplicates
private

◆ graph

VG& vg::PathRestrictedTraversalFinder::graph
private

◆ max_path_search_steps

int vg::PathRestrictedTraversalFinder::max_path_search_steps
private

◆ min_recurrence

int vg::PathRestrictedTraversalFinder::min_recurrence
private

◆ reads_by_name

map<string, const Alignment*>& vg::PathRestrictedTraversalFinder::reads_by_name
private

◆ snarl_manager

SnarlManager& vg::PathRestrictedTraversalFinder::snarl_manager
private

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