vg
tools for working with variation graphs
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vg::GraphCaller Class Referenceabstract

#include <graph_caller.hpp>

Inheritance diagram for vg::GraphCaller:
vg::FlowCaller vg::LegacyCaller vg::NestedFlowCaller vg::VCFGenotyper

Public Types

enum  RecurseType { RecurseOnFail, RecurseAlways, RecurseNever }
 

Public Member Functions

 GraphCaller (SnarlCaller &snarl_caller, SnarlManager &snarl_manager)
 
virtual ~GraphCaller ()
 
virtual void call_top_level_snarls (const HandleGraph &graph, RecurseType recurse_type=RecurseOnFail)
 
virtual void call_top_level_chains (const HandleGraph &graph, size_t max_edges, size_t max_trivial, RecurseType recurise_type=RecurseOnFail)
 
virtual bool call_snarl (const Snarl &snarl)=0
 Call a given snarl, and print the output to out_stream. More...
 
void set_show_progress (bool show_progress)
 toggle progress messages More...
 

Protected Member Functions

vector< Chainbreak_chain (const HandleGraph &graph, const Chain &chain, size_t max_edges, size_t max_trivial)
 Break up a chain into bits that we want to call using size heuristics. More...
 

Protected Attributes

SnarlCallersnarl_caller
 Our Genotyper. More...
 
SnarlManagersnarl_manager
 Our snarls. More...
 
bool show_progress
 Toggle progress messages. More...
 

Detailed Description

GraphCaller: Use the snarl decomposition to call snarls in a graph

Member Enumeration Documentation

◆ RecurseType

Enumerator
RecurseOnFail 
RecurseAlways 
RecurseNever 

Constructor & Destructor Documentation

◆ GraphCaller()

vg::GraphCaller::GraphCaller ( SnarlCaller snarl_caller,
SnarlManager snarl_manager 
)

◆ ~GraphCaller()

vg::GraphCaller::~GraphCaller ( )
virtual

Member Function Documentation

◆ break_chain()

vector< Chain > vg::GraphCaller::break_chain ( const HandleGraph graph,
const Chain chain,
size_t  max_edges,
size_t  max_trivial 
)
protected

Break up a chain into bits that we want to call using size heuristics.

◆ call_snarl()

virtual bool vg::GraphCaller::call_snarl ( const Snarl snarl)
pure virtual

Call a given snarl, and print the output to out_stream.

Implemented in vg::NestedFlowCaller, vg::FlowCaller, vg::LegacyCaller, and vg::VCFGenotyper.

◆ call_top_level_chains()

void vg::GraphCaller::call_top_level_chains ( const HandleGraph graph,
size_t  max_edges,
size_t  max_trivial,
RecurseType  recurise_type = RecurseOnFail 
)
virtual

For every chain, cut it up into pieces using max_edges and max_trivial to cap the size of each piece then make a fake snarl for each chain piece and call it. If a fake snarl fails to call, It's child chains will be recursed on (if selected)_

◆ call_top_level_snarls()

void vg::GraphCaller::call_top_level_snarls ( const HandleGraph graph,
RecurseType  recurse_type = RecurseOnFail 
)
virtual

Run call_snarl() on every top-level snarl in the manager. For any that return false, try the children, etc. (when recurse_on_fail true) Snarls are processed in parallel

◆ set_show_progress()

void vg::GraphCaller::set_show_progress ( bool  show_progress)

toggle progress messages

Member Data Documentation

◆ show_progress

bool vg::GraphCaller::show_progress
protected

Toggle progress messages.

◆ snarl_caller

SnarlCaller& vg::GraphCaller::snarl_caller
protected

Our Genotyper.

◆ snarl_manager

SnarlManager& vg::GraphCaller::snarl_manager
protected

Our snarls.


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