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

#include <graph_caller.hpp>

Inheritance diagram for vg::VCFGenotyper:
vg::GraphCaller vg::VCFOutputCaller vg::GAFOutputCaller

Public Member Functions

 VCFGenotyper (const PathHandleGraph &graph, SnarlCaller &snarl_caller, SnarlManager &snarl_manager, vcflib::VariantCallFile &variant_file, const string &sample_name, const vector< string > &ref_paths, FastaReference *ref_fasta, FastaReference *ins_fasta, AlignmentEmitter *aln_emitter, bool traversals_only, bool gaf_output, size_t trav_padding)
 
virtual ~VCFGenotyper ()
 
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 Member Functions

tuple< string, size_t, size_t > get_ref_positions (const vector< vcflib::Variant * > &variants) const
 get path positions bounding a set of variants More...
 
virtual unordered_map< string, size_t > scan_contig_lengths () const
 munge out the contig lengths from the VCF header More...
 
- Protected Member Functions inherited from vg::GraphCaller
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 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_tget_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
 

Protected Attributes

const PathHandleGraphgraph
 the graph More...
 
vcflib::VariantCallFile & input_vcf
 input VCF to genotype, must have been loaded etc elsewhere More...
 
VCFTraversalFinder traversal_finder
 
bool traversals_only
 toggle whether to genotype or just output the traversals More...
 
bool gaf_output
 toggle whether to output vcf or gaf More...
 
- Protected Attributes inherited from vg::GraphCaller
SnarlCallersnarl_caller
 Our Genotyper. More...
 
SnarlManagersnarl_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
AlignmentEmitteremitter
 
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...
 

Detailed Description

VCFGenotyper : Genotype variants in a given VCF file

Constructor & Destructor Documentation

◆ VCFGenotyper()

vg::VCFGenotyper::VCFGenotyper ( const PathHandleGraph graph,
SnarlCaller snarl_caller,
SnarlManager snarl_manager,
vcflib::VariantCallFile &  variant_file,
const string &  sample_name,
const vector< string > &  ref_paths,
FastaReference *  ref_fasta,
FastaReference *  ins_fasta,
AlignmentEmitter aln_emitter,
bool  traversals_only,
bool  gaf_output,
size_t  trav_padding 
)

◆ ~VCFGenotyper()

vg::VCFGenotyper::~VCFGenotyper ( )
virtual

Member Function Documentation

◆ call_snarl()

bool vg::VCFGenotyper::call_snarl ( const Snarl snarl,
int  ploidy 
)
virtual

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

Implements vg::GraphCaller.

◆ get_ref_positions()

tuple< string, size_t, size_t > vg::VCFGenotyper::get_ref_positions ( const vector< vcflib::Variant * > &  variants) const
protected

get path positions bounding a set of variants

◆ scan_contig_lengths()

unordered_map< string, size_t > vg::VCFGenotyper::scan_contig_lengths ( ) const
protectedvirtual

munge out the contig lengths from the VCF header

◆ vcf_header()

string vg::VCFGenotyper::vcf_header ( const PathHandleGraph graph,
const vector< string > &  contigs,
const vector< size_t > &  contig_length_overrides = {} 
) const
virtual

Write the vcf header (version and contigs and basic info)

Reimplemented from vg::VCFOutputCaller.

Member Data Documentation

◆ gaf_output

bool vg::VCFGenotyper::gaf_output
protected

toggle whether to output vcf or gaf

◆ graph

const PathHandleGraph& vg::VCFGenotyper::graph
protected

the graph

◆ input_vcf

vcflib::VariantCallFile& vg::VCFGenotyper::input_vcf
protected

input VCF to genotype, must have been loaded etc elsewhere

◆ traversal_finder

VCFTraversalFinder vg::VCFGenotyper::traversal_finder
protected

traversal finder uses alt paths to map VCF alleles from input_vcf back to traversals in the snarl

◆ traversals_only

bool vg::VCFGenotyper::traversals_only
protected

toggle whether to genotype or just output the traversals


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