BranchingAlgorithm< span, Node, Edge, Graph_t > Class Template Reference

Computation of the branching nodes of a Graph. More...

#include <BranchingAlgorithm.hpp>

Inheritance diagram for BranchingAlgorithm< span, Node, Edge, Graph_t >:
Inheritance graph

Public Types

typedef kmer::impl::Kmer< span >::ModelCanonical Model

Public Member Functions

 BranchingAlgorithm (const Graph_t &graph, tools::storage::impl::Storage &storage, tools::misc::BranchingKind kind, size_t nb_cores=0, tools::misc::IProperties *options=0)
 BranchingAlgorithm (tools::storage::impl::Storage &storage)
 ~BranchingAlgorithm ()
void execute ()
tools::collections::Collection< Count > * getBranchingCollection ()
- Public Member Functions inherited from Algorithm
 Algorithm (const std::string &name, int nbCores=-1, gatb::core::tools::misc::IProperties *input=0)
virtual ~Algorithm ()
std::string getName () const
void run ()
virtual IPropertiesgetInput ()
virtual IPropertiesgetOutput ()
virtual IPropertiesgetInfo ()
virtual dp::IDispatchergetDispatcher ()
virtual TimeInfogetTimeInfo ()
virtual IPropertiesgetSystemInfo ()
template<typename Item >
dp::Iterator< Item > * createIterator (dp::Iterator< Item > *iter, size_t nbIterations=0, const char *message=0, dp::IteratorListener *listener=0)
virtual dp::IteratorListenercreateIteratorListener (size_t nbIterations, const char *message)
- Public Member Functions inherited from SmartPointer
void use ()
void forget ()
- Public Member Functions inherited from ISmartPointer
virtual ~ISmartPointer ()

Static Public Member Functions

static tools::misc::IOptionsParsergetOptionsParser ()
- Static Public Member Functions inherited from Algorithm
template<template< size_t > class Functor>
static int mainloop (tools::misc::IOptionsParser *parser, int argc, char *argv[])

Additional Inherited Members

- Protected Member Functions inherited from Algorithm
std::string getUriByKey (const std::string &key)
std::string getUri (const std::string &str)
void setInput (IProperties *input)
- Protected Member Functions inherited from SmartPointer
 SmartPointer ()
virtual ~SmartPointer ()

Detailed Description

template<size_t span = KMER_DEFAULT_SPAN, typename Node = Node_t<>, typename Edge = Edge_t<Node_t<> >, typename Graph_t = Graph>
class gatb::core::debruijn::impl::BranchingAlgorithm< span, Node, Edge, Graph_t >

Computation of the branching nodes of a Graph.

This class implements an algorithm that looks for branching nodes in the provided graph.

A node N is branching <=> successors(N).size()!=1 || predecessors(N).size()!=1

All found branching nodes are put into a storage object.

Actually, this class is mainly used in the debruijn::impl::Graph class as a fourth step for the de Bruijn graph creation.

Member Typedef Documentation

typedef kmer::impl::Kmer<span>::ModelCanonical Model


Constructor & Destructor Documentation

BranchingAlgorithm ( const Graph_t &  graph,
tools::storage::impl::Storage storage,
tools::misc::BranchingKind  kind,
size_t  nb_cores = 0,
tools::misc::IProperties options = 0 


[in]graph: graph from which we look for branching nodes
[in]storage: storage where the found branching nodes will be put
[in]kind: kind of branching algorithm
[in]nb_cores: number of cores to be used; 0 means all available cores
[in]options: extra options


[in]storage: retrieve the branching nodes from this storage.


Member Function Documentation

void execute ( )

Execution of the algorithm. Abstract method, must be refined in subclasses.

Implements Algorithm.

tools::collections::Collection<Count>* getBranchingCollection ( )

Get the branching nodes as a collection of Count objects, ie couples of [kmer,abundance]

the collection of Count object.
IOptionsParser * getOptionsParser ( )

Get an option parser for branching parameters. Dynamic allocation, so must be released when no more used.

an instance of IOptionsParser.

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