DebloomAlgorithm< span > Class Template Reference

Construction of the set of critical false positives nodes. More...

#include <DebloomAlgorithm.hpp>

Inheritance diagram for DebloomAlgorithm< span >:
Inheritance graph

Public Types

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

Public Member Functions

 DebloomAlgorithm (tools::storage::impl::Group &bloomGroup, tools::storage::impl::Group &debloomGroup, tools::storage::impl::Partition< Count > *solidIterable, size_t kmerSize, size_t miniSize, size_t max_memory=0, size_t nb_cores=0, tools::misc::BloomKind bloomKind=tools::misc::BLOOM_DEFAULT, tools::misc::DebloomKind debloomKind=tools::misc::DEBLOOM_DEFAULT, const std::string &debloomUri="debloom", tools::misc::IProperties *options=0)
 DebloomAlgorithm (tools::storage::impl::Storage &storage)
virtual ~DebloomAlgorithm ()
void execute ()
tools::collections::Collection< Type > * getCriticalKmers ()
debruijn::IContainerNode< Type > * getContainerNode ()
virtual const char * getClassName () const
- 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 float getNbBitsPerKmer (size_t kmerSize, tools::misc::DebloomKind debloomKind)
- 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>
class gatb::core::kmer::impl::DebloomAlgorithm< span >

Construction of the set of critical false positives nodes.

GATB uses Bloom filters for encoding de Bruijn graphs. Since Bloom filters are probalistic data structure having false positives, we need extra information for disambiguate the graph, otherwise we would have false positive nodes in our de Bruijn graphs.

It is possible to build this extra information as a set of critical false positives nodes and the DebloomAlgorithm class provides a way to build such cFP set.

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

Member Typedef Documentation

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


Constructor & Destructor Documentation

DebloomAlgorithm ( tools::storage::impl::Group bloomGroup,
tools::storage::impl::Group debloomGroup,
tools::storage::impl::Partition< Count > *  solidIterable,
size_t  kmerSize,
size_t  miniSize,
size_t  max_memory = 0,
size_t  nb_cores = 0,
tools::misc::BloomKind  bloomKind = tools::misc::BLOOM_DEFAULT,
tools::misc::DebloomKind  debloomKind = tools::misc::DEBLOOM_DEFAULT,
const std::string &  debloomUri = "debloom",
tools::misc::IProperties options = 0 


[in]storage: storage object where the cFP will be stored.
[in]storageSolids: obsolete (should be removed)
[in]solidIterable: partition holding the solid kmers
[in]kmerSize: size of the kmers
[in]max_memory: max memory (in MBytes) to be used
[in]nb_cores: number of cores to be used; 0 means all available cores
[in]bloomKind: kind of Bloom filter implementation to be used
[in]debloomKind: kind of algorithm to be used for storing the cFP
[in]debloomUri: prefix name for temporary files
[in]options: extra options


[in]storage: storage object from which the cFP can be loaded.
~DebloomAlgorithm ( )


Member Function Documentation

void execute ( )

Execute the debloom algorithm.

Implements Algorithm.

virtual const char* getClassName ( ) const

Get the class name (for statistics output).

the class name.
debruijn::IContainerNode<Type>* getContainerNode ( )

Get the bloom/cFP container.

the container.
tools::collections::Collection<Type>* getCriticalKmers ( )

Get the collection for the computed critical FP kmers.

the cFP kmers collection.
float getNbBitsPerKmer ( size_t  kmerSize,
tools::misc::DebloomKind  debloomKind 

Get the number of bits per kmer

[in]kmerSize: kmer size
[in]debloomKind: kind of debloom
number of bits per kmer.
IOptionsParser * getOptionsParser ( )

Get an option parser for bloom/debloom 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: