|
vg
tools for working with variation graphs
|
#include <cluster.hpp>
Public Member Functions | |
| TargetValueSearch ()=delete | |
| TargetValueSearch (const HandleGraph &handle_graph, DistanceHeuristic *upper_bound_heuristic, DistanceHeuristic *lower_bound_heuristic) | |
| ~TargetValueSearch ()=default | |
| bool | tv_path_exists (const pos_t &pos_1, const pos_t &pos_2, int64_t target_value, int64_t tolerance) |
| Does a path exist from pos_1 to pos_2 with length within the tolerance from the target value? | |
| int64_t | tv_path_length (const pos_t &pos_1, const pos_t &pos_2, int64_t target_value, int64_t tolerance) |
| vector< handle_t > | tv_path (const pos_t &pos_1, const pos_t &pos_2, int64_t target_value, int64_t tolerance) |
Protected Member Functions | |
| vector< handle_t > | tv_phase2 (const pos_t &pos_1, const pos_t &pos_2, int64_t target_value, int64_t tolerance, hash_map< pair< id_t, bool >, int64_t > &node_to_target_shorter, hash_map< pair< id_t, bool >, int64_t > &node_to_target_longer, pair< int64_t, pair< pair< id_t, bool >, int64_t > > &best_lng, pair< int64_t, pair< pair< id_t, bool >, int64_t > > &next_best, hash_map< pair< pair< id_t, bool >, int64_t >, pair< pair< id_t, bool >, int64_t > > &node_to_path) |
Protected Attributes | |
| const HandleGraph & | handle_graph |
| unique_ptr< DistanceHeuristic > | upper_bound_heuristic |
| unique_ptr< DistanceHeuristic > | lower_bound_heuristic |
|
delete |
| vg::TargetValueSearch::TargetValueSearch | ( | const HandleGraph & | handle_graph, |
| DistanceHeuristic * | upper_bound_heuristic, | ||
| DistanceHeuristic * | lower_bound_heuristic ) |
|
default |
| vector< handle_t > vg::TargetValueSearch::tv_path | ( | const pos_t & | pos_1, |
| const pos_t & | pos_2, | ||
| int64_t | target_value, | ||
| int64_t | tolerance ) |
Returns a path from pos_1 to pos_2 with length closest to the target value. If there is no such path within the tolerance of the target value, returns an empty vector.
| bool vg::TargetValueSearch::tv_path_exists | ( | const pos_t & | pos_1, |
| const pos_t & | pos_2, | ||
| int64_t | target_value, | ||
| int64_t | tolerance ) |
Does a path exist from pos_1 to pos_2 with length within the tolerance from the target value?
| int64_t vg::TargetValueSearch::tv_path_length | ( | const pos_t & | pos_1, |
| const pos_t & | pos_2, | ||
| int64_t | target_value, | ||
| int64_t | tolerance ) |
Returns the length of path from pos_1 to pos_2 with length closest to the target value. If there is no such path within the tolerance of the target value, returns numeric_limits<int64_t>::max().
|
protected |
|
protected |
|
protected |
|
protected |
1.17.0