vg
tools for working with variation graphs
Classes | Namespaces | Macros | Functions
multipath_alignment.cpp File Reference
#include "multipath_alignment.hpp"
#include "haplotypes.hpp"
#include <structures/immutable_list.hpp>
#include <structures/min_max_heap.hpp>
#include <type_traits>

Classes

struct  vg::MultipathProblem
 

Namespaces

 vg
 

Macros

#define debug_verbose_validation
 

Functions

void vg::topologically_order_subpaths (MultipathAlignment &multipath_aln)
 Put subpaths in topological order (assumed to be true for other algorithms) More...
 
void vg::identify_start_subpaths (MultipathAlignment &multipath_aln)
 
tuple< MultipathProblem, int64_t, int32_t > vg::run_multipath_dp (const MultipathAlignment &multipath_aln, bool subpath_global=false)
 
template<typename TracebackIterator >
void vg::populate_path_from_traceback (const MultipathAlignment &multipath_aln, const MultipathProblem &problem, TracebackIterator traceback_start, TracebackIterator traceback_end, Path *output)
 
int32_t vg::optimal_alignment_internal (const MultipathAlignment &multipath_aln, Alignment *aln_out, bool subpath_global)
 
void vg::optimal_alignment (const MultipathAlignment &multipath_aln, Alignment &aln_out, bool subpath_global)
 
int32_t vg::optimal_alignment_score (const MultipathAlignment &multipath_aln, bool subpath_global)
 
vector< Alignment > vg::optimal_alignments (const MultipathAlignment &multipath_aln, size_t count)
 
vector< Alignment > vg::optimal_alignments_with_disjoint_subpaths (const MultipathAlignment &multipath_aln, size_t count)
 
vector< Alignment > vg::haplotype_consistent_alignments (const MultipathAlignment &multipath_aln, const haplo::ScoreProvider &score_provider, size_t soft_count, size_t hard_count, bool optimal_first)
 
void vg::rev_comp_subpath (const Subpath &subpath, const function< int64_t(int64_t)> &node_length, Subpath &rev_comp_out)
 
void vg::rev_comp_multipath_alignment (const MultipathAlignment &multipath_aln, const function< int64_t(int64_t)> &node_length, MultipathAlignment &rev_comp_out)
 
void vg::rev_comp_multipath_alignment_in_place (MultipathAlignment *multipath_aln, const function< int64_t(int64_t)> &node_length)
 
void vg::to_multipath_alignment (const Alignment &aln, MultipathAlignment &multipath_aln_out)
 
void vg::transfer_read_metadata (const MultipathAlignment &from, MultipathAlignment &to)
 
void vg::transfer_read_metadata (const Alignment &from, MultipathAlignment &to)
 
void vg::transfer_read_metadata (const MultipathAlignment &from, Alignment &to)
 
void vg::transfer_read_metadata (const Alignment &from, Alignment &to)
 
void vg::merge_non_branching_subpaths (MultipathAlignment &multipath_aln)
 Merges non-branching paths in a multipath alignment in place. More...
 
vector< vector< int64_t > > vg::connected_components (const MultipathAlignment &multipath_aln)
 
void vg::extract_sub_multipath_alignment (const MultipathAlignment &multipath_aln, const vector< int64_t > &subpath_indexes, MultipathAlignment &sub_multipath_aln)
 
bool vg::validate_multipath_alignment (const MultipathAlignment &multipath_aln, const HandleGraph &handle_graph)
 
void vg::view_multipath_alignment (ostream &out, const MultipathAlignment &multipath_aln, const HandleGraph &handle_graph)
 Send a formatted string representation of the MultipathAlignment into the ostream. More...
 
void vg::view_multipath_alignment_as_dot (ostream &out, const MultipathAlignment &multipath_aln, bool show_graph=false)
 Converts a MultipathAlignment to a GraphViz Dot representation, output to the given ostream. More...
 

Macro Definition Documentation

◆ debug_verbose_validation

#define debug_verbose_validation