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

#include <seed_clusterer.hpp>

Classes

struct  NetgraphNode
 
struct  NodeClusters
 
struct  TreeState
 

Public Types

typedef vector< vector< size_t > > cluster_group_t
 

Public Member Functions

 SnarlSeedClusterer (MinimumDistanceIndex &dist_index)
 
cluster_group_t cluster_seeds (const vector< pos_t > &seeds, int64_t read_distance_limit) const
 Given a vector of seeds (pos_t) and a distance limit,. More...
 
tuple< vector< cluster_group_t >, cluster_group_tcluster_seeds (const vector< vector< pos_t >> &all_seeds, int64_t read_distance_limit, int64_t fragment_distance_limit=0) const
 The same thing, but for paired end reads. More...
 

Private Types

enum  ChildNodeType { CHAIN, SNARL, NODE }
 

Private Member Functions

tuple< vector< cluster_group_t >, cluster_group_tcluster_seeds (const vector< const vector< pos_t > * > &all_seeds, int64_t read_distance_limit, int64_t fragment_distance_limit=0) const
 
void get_nodes (TreeState &tree_state, vector< hash_map< size_t, vector< pair< NetgraphNode, NodeClusters >>>> &snarl_to_nodes_by_level) const
 
void cluster_snarl_level (TreeState &tree_state, size_t depth) const
 
void cluster_chain_level (TreeState &tree_state, size_t depth) const
 
NodeClusters cluster_one_node (TreeState &tree_state, id_t node_id, int64_t node_length) const
 
NodeClusters cluster_one_chain (TreeState &tree_state, size_t chain_index_i) const
 
NodeClusters cluster_one_snarl (TreeState &tree_state, size_t snarl_index_i) const
 

Static Private Member Functions

static string typeToString (ChildNodeType t)
 

Private Attributes

MinimumDistanceIndexdist_index
 

Member Typedef Documentation

◆ cluster_group_t

typedef vector<vector<size_t> > vg::SnarlSeedClusterer::cluster_group_t

Member Enumeration Documentation

◆ ChildNodeType

Enumerator
CHAIN 
SNARL 
NODE 

Constructor & Destructor Documentation

◆ SnarlSeedClusterer()

vg::SnarlSeedClusterer::SnarlSeedClusterer ( MinimumDistanceIndex dist_index)

Member Function Documentation

◆ cluster_chain_level()

void vg::SnarlSeedClusterer::cluster_chain_level ( TreeState tree_state,
size_t  depth 
) const
private

◆ cluster_one_chain()

SnarlSeedClusterer::NodeClusters vg::SnarlSeedClusterer::cluster_one_chain ( TreeState tree_state,
size_t  chain_index_i 
) const
private

◆ cluster_one_node()

SnarlSeedClusterer::NodeClusters vg::SnarlSeedClusterer::cluster_one_node ( TreeState tree_state,
id_t  node_id,
int64_t  node_length 
) const
private

◆ cluster_one_snarl()

SnarlSeedClusterer::NodeClusters vg::SnarlSeedClusterer::cluster_one_snarl ( TreeState tree_state,
size_t  snarl_index_i 
) const
private

◆ cluster_seeds() [1/3]

tuple< vector< SnarlSeedClusterer::cluster_group_t >, SnarlSeedClusterer::cluster_group_t > vg::SnarlSeedClusterer::cluster_seeds ( const vector< const vector< pos_t > * > &  all_seeds,
int64_t  read_distance_limit,
int64_t  fragment_distance_limit = 0 
) const
private

◆ cluster_seeds() [2/3]

SnarlSeedClusterer::cluster_group_t vg::SnarlSeedClusterer::cluster_seeds ( const vector< pos_t > &  seeds,
int64_t  read_distance_limit 
) const

Given a vector of seeds (pos_t) and a distance limit,.

◆ cluster_seeds() [3/3]

tuple< vector< SnarlSeedClusterer::cluster_group_t >, SnarlSeedClusterer::cluster_group_t > vg::SnarlSeedClusterer::cluster_seeds ( const vector< vector< pos_t >> &  all_seeds,
int64_t  read_distance_limit,
int64_t  fragment_distance_limit = 0 
) const

The same thing, but for paired end reads.

◆ cluster_snarl_level()

void vg::SnarlSeedClusterer::cluster_snarl_level ( TreeState tree_state,
size_t  depth 
) const
private

◆ get_nodes()

void vg::SnarlSeedClusterer::get_nodes ( TreeState tree_state,
vector< hash_map< size_t, vector< pair< NetgraphNode, NodeClusters >>>> &  snarl_to_nodes_by_level 
) const
private

◆ typeToString()

static string vg::SnarlSeedClusterer::typeToString ( ChildNodeType  t)
inlinestaticprivate

Member Data Documentation

◆ dist_index

MinimumDistanceIndex& vg::SnarlSeedClusterer::dist_index
private

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