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

#include <cluster.hpp>

Inheritance diagram for vg::GreedyMinDistanceClusterer:
vg::MinDistanceClusterer vg::MEMClusterer

Public Member Functions

 GreedyMinDistanceClusterer (SnarlDistanceIndex *distance_index)
 
 ~GreedyMinDistanceClusterer ()=default
 
- Public Member Functions inherited from vg::MinDistanceClusterer
 MinDistanceClusterer (SnarlDistanceIndex *distance_index)
 
virtual ~MinDistanceClusterer ()=default
 
vector< pair< pair< size_t, size_t >, int64_t > > pair_clusters (const Alignment &alignment_1, const Alignment &alignment_2, const vector< cluster_t * > &left_clusters, const vector< cluster_t * > &right_clusters, const vector< pair< size_t, size_t >> &left_alt_cluster_anchors, const vector< pair< size_t, size_t >> &right_alt_cluster_anchors, int64_t optimal_separation, int64_t max_deviation)
 Concrete implementation of virtual method from MEMClusterer. More...
 
- Public Member Functions inherited from vg::MEMClusterer
 MEMClusterer ()=default
 
virtual ~MEMClusterer ()=default
 
vector< cluster_tclusters (const Alignment &alignment, const vector< MaximalExactMatch > &mems, const GSSWAligner *Aligner, size_t min_mem_length=1, int32_t max_qual_score=60, int32_t log_likelihood_approx_factor=0, size_t min_median_mem_coverage_for_split=0, double suboptimal_edge_pruning_factor=.75, double cluster_multiplicity_diff=10.0, const match_fanouts_t *fanouts=nullptr)
 

Protected Member Functions

HitGraph make_hit_graph (const Alignment &alignment, const vector< MaximalExactMatch > &mems, const GSSWAligner *aligner, size_t min_mem_length, const match_fanouts_t *fanouts)
 Concrete implementation of virtual method from MEMClusterer, overides the inherited one from MinDistanceClusterer. More...
 
- Protected Member Functions inherited from vg::MEMClusterer
int32_t estimate_edge_score (const MaximalExactMatch *mem_1, const MaximalExactMatch *mem_2, int64_t graph_dist, const GSSWAligner *aligner) const
 
void deduplicate_cluster_pairs (vector< pair< pair< size_t, size_t >, int64_t >> &cluster_pairs, int64_t optimal_separation)
 

Protected Attributes

const int64_t expected_separation = 20
 How far apart do we expect the seeds to be on the read? More...
 
const int64_t forward_multiplier = 3
 
const int64_t min_separation = -10
 Minimum distance between two seeds on the read. More...
 
const int64_t max_separation = 250
 Maximum distance between two seeds on the read. More...
 
- Protected Attributes inherited from vg::MinDistanceClusterer
const HandleGraphhandle_graph
 
SnarlDistanceIndex * distance_index
 

Additional Inherited Members

- Public Types inherited from vg::MEMClusterer
using hit_t = pair< const MaximalExactMatch *, pos_t >
 
using cluster_t = pair< vector< hit_t >, double >
 Each cluster is a vector of hits and a paired multiplicity. More...
 
using match_fanouts_t = unordered_map< const MaximalExactMatch *, deque< pair< string::const_iterator, char > >>
 
- Public Attributes inherited from vg::MEMClusterer
int64_t max_gap = numeric_limits<int64_t>::max()
 The largest discrepency we will allow between the read-implied distances and the estimated gap distance. More...
 

Constructor & Destructor Documentation

◆ GreedyMinDistanceClusterer()

vg::GreedyMinDistanceClusterer::GreedyMinDistanceClusterer ( SnarlDistanceIndex *  distance_index)

◆ ~GreedyMinDistanceClusterer()

vg::GreedyMinDistanceClusterer::~GreedyMinDistanceClusterer ( )
default

Member Function Documentation

◆ make_hit_graph()

MEMClusterer::HitGraph vg::GreedyMinDistanceClusterer::make_hit_graph ( const Alignment alignment,
const vector< MaximalExactMatch > &  mems,
const GSSWAligner aligner,
size_t  min_mem_length,
const match_fanouts_t fanouts 
)
protectedvirtual

Concrete implementation of virtual method from MEMClusterer, overides the inherited one from MinDistanceClusterer.

Reimplemented from vg::MinDistanceClusterer.

Member Data Documentation

◆ expected_separation

const int64_t vg::GreedyMinDistanceClusterer::expected_separation = 20
protected

How far apart do we expect the seeds to be on the read?

◆ forward_multiplier

const int64_t vg::GreedyMinDistanceClusterer::forward_multiplier = 3
protected

How more bases would we search forward to find the next seed before we think it's worth searching 1 base backward?

◆ max_separation

const int64_t vg::GreedyMinDistanceClusterer::max_separation = 250
protected

Maximum distance between two seeds on the read.

◆ min_separation

const int64_t vg::GreedyMinDistanceClusterer::min_separation = -10
protected

Minimum distance between two seeds on the read.


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