gatb.core-API-0.0.0
|
#include <PartiInfo.hpp>
Public Types | |
typedef u_int16_t | Value |
Public Member Functions | |
Repartitor (int nbpart=0, int minimsize=0, int nbPass=1) | |
Repartitor (tools::storage::impl::Group &group) | |
~Repartitor () | |
void | computeDistrib (const PartiInfo< 5 > &pInfo) |
Value | operator() (u_int64_t minimizerValue) |
void | load (tools::storage::impl::Group &group) |
void | save (tools::storage::impl::Group &group) |
void | printInfo () |
size_t | getNbPasses () const |
uint32_t * | getMinimizerFrequencies () |
void | setMinimizerFrequencies (uint32_t *freq) |
Public Member Functions inherited from SmartPointer | |
void | use () |
void | forget () |
Public Member Functions inherited from ISmartPointer | |
virtual | ~ISmartPointer () |
Additional Inherited Members | |
Protected Member Functions inherited from SmartPointer | |
SmartPointer () | |
virtual | ~SmartPointer () |
Class providing hash values for minimizers.
Minimizer (of size m) values are gathered in N partitions, so a function from 4^m values to N values is built. This function is built thanks to a PartiInfo object that is built while scanning a part of the input bank (ie. information about minimizers distribution is built then).
The hash value is got through the operator() method.
It is possible to save/load an instance of this class; this may be useful for having the same partition as the solid kmers for other purpose (like debloom for instance).
Note: this class could be renamed in the future to emphasize it essentially provides a hash function service.
typedef u_int16_t Value |
Hash value type.
|
inline |
Constructor
[in] | nbpart | : hash value will be in range [0..nbpart-1] |
[in] | minimsize | : size of the minimizers. |
|
inline |
Constructor
|
inline |
Destructor
void computeDistrib | ( | const PartiInfo< 5 > & | pInfo | ) |
Compute the hash function for the minimizer.
[in] | pInfo | : information about the distribution of the minimizers. |
|
inline |
Get a buffer on minimizer frequencies.
|
inline |
Get the number of passes used to split the input bank.
void load | ( | tools::storage::impl::Group & | group | ) |
Load the repartition table from a storage object.
[in] | group | : group where the repartition table has to be loaded |
|
inline |
Returns the hash value for the given minimizer value.
[in] | minimizerValue | : minimizer value as an integer. |
void printInfo | ( | ) |
For debug purpose.
void save | ( | tools::storage::impl::Group & | group | ) |
Save the repartition table into a storage object.
[in] | group | : group where the repartition table has to be saved |
|
inline |
Set the minimizer frequencies.