gatb.core-API-0.0.0
|
Helper that builds a Bloom filter from an iterator of kmers. More...
#include <BloomBuilder.hpp>
Public Types | |
typedef Kmer< span >::Type | Type |
Public Member Functions | |
BloomBuilder (u_int64_t bloomSize, size_t nbHash, size_t ksize, tools::misc::BloomKind bloomKind=tools::misc::BLOOM_DEFAULT, size_t nbCores=0, int min_abundance=0) | |
tools::collections::impl::IBloom< Type > * | build (tools::dp::Iterator< Count > *itKmers, tools::misc::IProperties *stats=0) |
tools::collections::impl::IBloom< Type > * | load (tools::collections::Iterable< tools::math::NativeInt8 > *bloomIterable, tools::misc::IProperties *stats=0) |
Helper that builds a Bloom filter from an iterator of kmers.
This class encapsulates the creation of a Bloom filter from a set of kmers. Such a set can be provided as an Iterator of Count objects, which likely should have been generated by DSK.
Once the IBloom instance has been instantiated, the Count iterator is iterated and each item is inserted into the Bloom filter.
Several parameters allows to configure the Bloom filter creation.
This class also provides a load method that builds a Bloom filter by reading the raw bitset as an Iterable of NativeInt8 objects.
This class has a 'span' template which determines which implementation of Type has to be used.
|
inline |
Constructor.
[in] | bloomSize | : the size (in bits) of the Bloom filter to be created |
[in] | nbHash | : number of hash functions of the Bloom filter. |
[in] | ksize | : the kmer size is needed |
[in] | bloomKind | : kind of Bloom filter to be created |
[in] | nbCores | : number of cores to be used for the iteration of items to be inserted |
[in] | min_abundance | : if >0, only kmers having abundance greater than that threshold are inserted into the Bloom filter. otherwise all items are inserted. |
|
inline |
Create a Bloom filter and fill it with the provided kmers iterator.
[in] | itKmers | : an iterator over the kmers to be inserted; more precisely, we iterate couples [kmers,abundance] |
[in] | stats | : properties object to be filled by statistics gathered during the build. |
|
inline |
Load a Bloom filter from a binary stream provided as an Iterable of NativeInt8
[in] | bloomIterable | : binary stream holding the bitset of the Bloom filter |
[in] | stats | : properties object to be filled by statistics gathered during the build. |