vg
tools for working with variation graphs
Loading...
Searching...
No Matches
chain_items.cpp File Reference
#include "chain_items.hpp"
#include "crash.hpp"
#include <handlegraph/algorithms/dijkstra.hpp>
#include <structures/immutable_list.hpp>
#include <structures/min_max_heap.hpp>
#include <algorithm>

Namespaces

namespace  vg
namespace  vg::algorithms

Functions

ostream & vg::algorithms::operator<< (ostream &out, const Anchor &anchor)
 Explain an Anchor to the given stream.
ostream & vg::algorithms::operator<< (ostream &out, const TracedScore &value)
 Print operator.
void vg::algorithms::sort_anchor_indexes (const std::vector< Anchor > &items, std::vector< size_t > &indexes)
transition_iterator vg::algorithms::zip_tree_transition_iterator (const std::vector< SnarlDistanceIndexClusterer::Seed > &seeds, const ZipCodeTree &zip_code_tree, size_t max_graph_lookback_bases, size_t max_read_lookback_bases)
std::vector< transition_info > vg::algorithms::generate_zip_tree_transitions (const std::vector< SnarlDistanceIndexClusterer::Seed > &seeds, const ZipCodeTree &zip_code_tree, size_t max_graph_lookback_bases, size_t max_read_lookback_bases, size_t max_indel_bases, const VectorView< Anchor > &to_chain, const std::unordered_map< size_t, size_t > &seed_to_starting, const std::unordered_map< size_t, size_t > &seed_to_ending)
void vg::algorithms::add_transition_if_legal (vector< transition_info > &transitions, const VectorView< Anchor > &to_chain, size_t max_read_lookback_bases, size_t max_indel_bases, size_t from_anchor, size_t to_anchor, size_t graph_distance)
int vg::algorithms::score_chain_gap (size_t distance_difference, size_t base_seed_length)
int vg::algorithms::check_recombination (const TracedScore &from, const Anchor &to)
void vg::algorithms::chain_items_dp (vector< TracedScore > &chain_scores, const VectorView< Anchor > &to_chain, const SnarlDistanceIndex &distance_index, const HandleGraph &graph, const transition_iterator &for_each_transition, const ChainScoringScheme &scheme, size_t max_indel_bases, bool show_work)
vector< pair< vector< size_t >, int > > vg::algorithms::chain_items_traceback (const vector< TracedScore > &chain_scores, const VectorView< Anchor > &to_chain, const ChainScoringScheme &scheme, size_t max_tracebacks)
ChainsResult vg::algorithms::find_best_chains (const VectorView< Anchor > &to_chain, const SnarlDistanceIndex &distance_index, const HandleGraph &graph, const transition_iterator &for_each_transition, const ChainScoringScheme &scheme, size_t max_chains, size_t max_indel_bases, bool show_work)
pair< int, vector< size_t > > vg::algorithms::find_best_chain (const VectorView< Anchor > &to_chain, const SnarlDistanceIndex &distance_index, const HandleGraph &graph, const transition_iterator &for_each_transition, const ChainScoringScheme &scheme, size_t max_indel_bases)
size_t vg::algorithms::get_graph_distance (const Anchor &from, const Anchor &to, const SnarlDistanceIndex &distance_index, const HandleGraph &graph, size_t distance_limit=std::numeric_limits< size_t >::max())
 Get distance in the graph, or std::numeric_limits<size_t>::max() if unreachable or beyond the limit.
size_t vg::algorithms::get_read_distance (const Anchor &from, const Anchor &to)
 Get distance in the read, or std::numeric_limits<size_t>::max() if unreachable.

Detailed Description

Non-template function implementations for chaining pieces of a read-to-graph alignment.