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

#include <deconstructor.hpp>

Public Member Functions

 Deconstructor ()
 
 ~Deconstructor ()
 
void deconstruct (vector< string > refpaths, const PathPositionHandleGraph *grpah, SnarlManager *snarl_manager, bool path_restricted_traversals, int ploidy, const unordered_map< string, string > *path_to_sample=nullptr)
 

Private Member Functions

bool deconstruct_site (const Snarl *site)
 
vector< int > get_alleles (vcflib::Variant &v, const vector< SnarlTraversal > &travs, int ref_path_idx, char prev_char, bool use_start)
 
void get_genotypes (vcflib::Variant &v, const vector< string > &names, const vector< int > &trav_to_allele)
 
pair< vector< int >, bool > choose_traversals (const vector< int > &travs, const vector< int > &trav_to_allele, const vector< string > &trav_to_name)
 
bool check_max_nodes (const Snarl *snarl)
 
vector< SnarlTraversalexplicit_exhaustive_traversals (const Snarl *snarl)
 

Private Attributes

vcflib::VariantCallFile outvcf
 
bool path_restricted = false
 
int ploidy
 
const PathPositionHandleGraphgraph
 
SnarlManagersnarl_manager
 
unique_ptr< PathTraversalFinderpath_trav_finder
 
unique_ptr< TraversalFindertrav_finder
 
set< string > ref_paths
 
set< string > sample_names
 
const unordered_map< string, string > * path_to_sample
 
int max_nodes_for_exhaustive = 100
 

Constructor & Destructor Documentation

◆ Deconstructor()

vg::Deconstructor::Deconstructor ( )

◆ ~Deconstructor()

vg::Deconstructor::~Deconstructor ( )

Member Function Documentation

◆ check_max_nodes()

bool vg::Deconstructor::check_max_nodes ( const Snarl snarl)
private

◆ choose_traversals()

pair< vector< int >, bool > vg::Deconstructor::choose_traversals ( const vector< int > &  travs,
const vector< int > &  trav_to_allele,
const vector< string > &  trav_to_name 
)
private

◆ deconstruct()

void vg::Deconstructor::deconstruct ( vector< string >  ref_paths,
const PathPositionHandleGraph graph,
SnarlManager snarl_manager,
bool  path_restricted_traversals,
int  ploidy,
const unordered_map< string, string > *  path_to_sample = nullptr 
)

Convenience wrapper function for deconstruction of multiple paths.

◆ deconstruct_site()

bool vg::Deconstructor::deconstruct_site ( const Snarl site)
private

◆ explicit_exhaustive_traversals()

vector< SnarlTraversal > vg::Deconstructor::explicit_exhaustive_traversals ( const Snarl snarl)
private

◆ get_alleles()

vector< int > vg::Deconstructor::get_alleles ( vcflib::Variant &  v,
const vector< SnarlTraversal > &  travs,
int  ref_path_idx,
char  prev_char,
bool  use_start 
)
private

Takes in a vector of snarltraversals returns their sequences as a vector<string> returns a boolean hasRef if a reference path is present, hasRef is set to true and the first string in the vector is the reference allele otherwise, hasRef is set to false and all strings are alt alleles.

◆ get_genotypes()

void vg::Deconstructor::get_genotypes ( vcflib::Variant &  v,
const vector< string > &  names,
const vector< int > &  trav_to_allele 
)
private

Member Data Documentation

◆ graph

const PathPositionHandleGraph* vg::Deconstructor::graph
private

◆ max_nodes_for_exhaustive

int vg::Deconstructor::max_nodes_for_exhaustive = 100
private

◆ outvcf

vcflib::VariantCallFile vg::Deconstructor::outvcf
private

◆ path_restricted

bool vg::Deconstructor::path_restricted = false
private

◆ path_to_sample

const unordered_map<string, string>* vg::Deconstructor::path_to_sample
private

◆ path_trav_finder

unique_ptr<PathTraversalFinder> vg::Deconstructor::path_trav_finder
private

◆ ploidy

int vg::Deconstructor::ploidy
private

◆ ref_paths

set<string> vg::Deconstructor::ref_paths
private

◆ sample_names

set<string> vg::Deconstructor::sample_names
private

◆ snarl_manager

SnarlManager* vg::Deconstructor::snarl_manager
private

◆ trav_finder

unique_ptr<TraversalFinder> vg::Deconstructor::trav_finder
private

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