-
Notifications
You must be signed in to change notification settings - Fork 8
repartition api
Teo Lemane edited this page Jul 29, 2021
·
1 revision
Repartition API allows to read and use a minimizer repartition. It can't compute a repartition but only exploit it.
First, you need to compute a repartition with kmtricks repart.
kmtricks repart --file kmtricks.fof --run-dir kmtricks_dir --kmer-size 12
#include <kmtricks/public.hpp>
using namespace km;
int main(int argc, char* argv[])
{
Repartition repart("kmtricks_dir/repartition_gatb/repartition.minimRepart");
Kmer<32> kmer("ACGTACGTACGT");
uint8_t minim_size = 4;
uint32_t partition = repart.get_partition(kmer.minimizer(minim_size).value());
// Partition-aware hashing
using WHType = KmerHashers<0>::WinHasher<32>;
HashWindow hw("kmtricks_dir/hash.info");;
WHType whasher(partition, hw.get_window_size_bits());
uint64_t whash = whasher(kmer);
return 0;
return 0;
}