|
vg
tools for working with variation graphs
|
#include <graph_caller.hpp>
Public Member Functions | |
| FlowCaller (const PathPositionHandleGraph &graph, SupportBasedSnarlCaller &snarl_caller, SnarlManager &snarl_manager, const string &sample_name, TraversalFinder &traversal_finder, const vector< string > &ref_paths, const vector< size_t > &ref_path_offsets, AlignmentEmitter *aln_emitter, bool traversals_only, bool gaf_output, size_t trav_padding, bool genotype_snarls) | |
| virtual | ~FlowCaller () |
| virtual bool | call_snarl (const Snarl &snarl, int ploidy) |
| Call a given snarl, and print the output to out_stream. More... | |
| virtual string | vcf_header (const PathHandleGraph &graph, const vector< string > &contigs, const vector< size_t > &contig_length_overrides={}) const |
| Write the vcf header (version and contigs and basic info) More... | |
Public Member Functions inherited from vg::GraphCaller | |
| GraphCaller (SnarlCaller &snarl_caller, SnarlManager &snarl_manager) | |
| virtual | ~GraphCaller () |
| virtual void | call_top_level_snarls (const HandleGraph &graph, int ploidy, bool recurse_on_fail=true) |
| virtual void | call_top_level_chains (const HandleGraph &graph, int ploidy, size_t max_edges, size_t max_trivial, bool recurse_on_fail=true) |
Public Member Functions inherited from vg::VCFOutputCaller | |
| VCFOutputCaller (const string &sample_name) | |
| virtual | ~VCFOutputCaller () |
| void | add_variant (vcflib::Variant &var) const |
| Add a variant to our buffer. More... | |
| void | write_variants (ostream &out_stream) const |
| Sort then write variants in the buffer. More... | |
Public Member Functions inherited from vg::GAFOutputCaller | |
| GAFOutputCaller (AlignmentEmitter *emitter, const string &sample_name, const vector< string > &ref_paths, size_t trav_padding) | |
| The emitter object is created and owned by external forces. More... | |
| virtual | ~GAFOutputCaller () |
| void | emit_gaf_traversals (const PathHandleGraph &graph, const vector< SnarlTraversal > &travs) |
| print the GAF traversals More... | |
| void | emit_gaf_variant (const HandleGraph &graph, const Snarl &snarl, const vector< SnarlTraversal > &traversals, const vector< int > &genotype) |
| print the GAF genotype More... | |
| SnarlTraversal | pad_traversal (const PathHandleGraph &graph, const SnarlTraversal &trav) const |
| pad a traversal with (first found) reference path, adding up to trav_padding to each side More... | |
Protected Attributes | |
| const PathPositionHandleGraph & | graph |
| the graph More... | |
| TraversalFinder & | traversal_finder |
| the traversal finder More... | |
| vector< string > | ref_paths |
| keep track of the reference paths More... | |
| unordered_set< string > | ref_path_set |
| map< string, size_t > | ref_offsets |
| keep track of offsets in the reference paths More... | |
| size_t | max_snarl_edges = 500000 |
| until we support nested snarls, cap snarl size we attempt to process More... | |
| AlignmentEmitter * | alignment_emitter |
| bool | traversals_only |
| toggle whether to genotype or just output the traversals More... | |
| bool | gaf_output |
| toggle whether to output vcf or gaf More... | |
| bool | genotype_snarls |
Protected Attributes inherited from vg::GraphCaller | |
| SnarlCaller & | snarl_caller |
| Our Genotyper. More... | |
| SnarlManager & | snarl_manager |
| Our snarls. More... | |
Protected Attributes inherited from vg::VCFOutputCaller | |
| vcflib::VariantCallFile | output_vcf |
| output vcf More... | |
| string | sample_name |
| Sample name. More... | |
| vector< vector< vcflib::Variant > > | output_variants |
| output buffers (1/thread) (for sorting) More... | |
| size_t | max_uncalled_alleles = 5 |
| print up to this many uncalled alleles when doing ref-genotpes in -a mode More... | |
Protected Attributes inherited from vg::GAFOutputCaller | |
| AlignmentEmitter * | emitter |
| string | gaf_sample_name |
| Sample name. More... | |
| size_t | trav_padding = 0 |
| unordered_set< string > | ref_paths |
| Reference paths are used to pad out traversals. If there are none, then first path found is used. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from vg::GraphCaller | |
| vector< Chain > | break_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 Member Functions inherited from vg::VCFOutputCaller | |
| void | emit_variant (const PathPositionHandleGraph &graph, SnarlCaller &snarl_caller, const Snarl &snarl, const vector< SnarlTraversal > &called_traversals, const vector< int > &genotype, int ref_trav_idx, const unique_ptr< SnarlCaller::CallInfo > &call_info, const string &ref_path_name, int ref_offset, bool genotype_snarls) const |
| print a vcf variant More... | |
| tuple< size_t, size_t, bool, step_handle_t, step_handle_t > | get_ref_interval (const PathPositionHandleGraph &graph, const Snarl &snarl, const string &ref_path_name) const |
| void | flatten_common_allele_ends (vcflib::Variant &variant, bool backward, size_t len_override) const |
FlowCaller : Uses any traversals finder (ex, FlowTraversalFinder) to find traversals, and calls those based on how much support they have.
Should work on any graph but will not report cyclic traversals. Does not (yet, anyway) support nested calling, so the entire site is processes in one shot. Designed to replace LegacyCaller, as it should miss fewer obviously good traversals, and is not dependent on old protobuf-based structures.
| vg::FlowCaller::FlowCaller | ( | const PathPositionHandleGraph & | graph, |
| SupportBasedSnarlCaller & | snarl_caller, | ||
| SnarlManager & | snarl_manager, | ||
| const string & | sample_name, | ||
| TraversalFinder & | traversal_finder, | ||
| const vector< string > & | ref_paths, | ||
| const vector< size_t > & | ref_path_offsets, | ||
| AlignmentEmitter * | aln_emitter, | ||
| bool | traversals_only, | ||
| bool | gaf_output, | ||
| size_t | trav_padding, | ||
| bool | genotype_snarls | ||
| ) |
|
virtual |
|
virtual |
Call a given snarl, and print the output to out_stream.
Implements vg::GraphCaller.
|
virtual |
Write the vcf header (version and contigs and basic info)
Reimplemented from vg::VCFOutputCaller.
|
protected |
alignment emitter. if not null, traversals will be output here and no genotyping will be done
|
protected |
toggle whether to output vcf or gaf
|
protected |
toggle whether to genotype every snarl (by default, uncalled snarls are skipped, and coordinates are flattened out to minimize variant size – this turns all that off)
|
protected |
the graph
|
protected |
until we support nested snarls, cap snarl size we attempt to process
|
protected |
keep track of offsets in the reference paths
|
protected |
|
protected |
keep track of the reference paths
|
protected |
the traversal finder
|
protected |
toggle whether to genotype or just output the traversals
1.9.1