gatb.core-API-0.0.0
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

Shortcuts.

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 
)

Constructor

Parameters
[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

Constructor

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

Destructor

Member Function Documentation

void execute ( )
virtual

Execute the debloom algorithm.

Implements Algorithm.

virtual const char* getClassName ( ) const
inlinevirtual

Get the class name (for statistics output).

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

Get the bloom/cFP container.

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

Get the collection for the computed critical FP kmers.

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

Get the number of bits per kmer

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

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

Returns
an instance of IOptionsParser.

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