Skip to content

kmtricks API

Téo Lemane edited this page Jul 29, 2021 · 3 revisions

kmtricks API

With a few exceptions, kmtricks API is not meant to do any processing like computing super-k-mers or counting partitions but rather than to be used in conjunction with kmtricks tool. It exposes the necessary objects to work with kmtricks outputs and make some computations with them.

#define WITH_XXHASH
#define WITH_KM_IO
#include <kmtricks/public.hpp>

Minimal include (header-only)

  • km::Kmer<MAX_K> (see Kmer)
  • km::KmerHashers<0>::Hasher<MAX_K> (see Kmer)
  • km::KmerHashers<0>::WinHasher<MAX_K> (see Repartition)
  • km::HashWindow(see Repartition)
  • km::KHist (see example)
  • km::Repartition (see Repartition)
  • km::const_loop_executor<0, KMER_LIST_SIZE> (see Executor)
  • km::ITask, km::TaskPool (see Task)
  • km::Timer (see example)

With -> #define WITH_XXHASH, requires link with xxHash

  • km::KmerHashers<1>::Hasher<MAX_K> (see Kmer)
  • km::KmerHashers<1>::WinHasher<MAX_K> (see Repartition)

With -> #define WITH_KM_IO, requires link with lz4 and TurboPFor (see IOs)

  • km::KmerMerger<MAX_K, MAX_C>, km::HashMerger<MAX_C> (see Merge)
  • km::KmerReader<BUF_SIZE>, km::KmerWriter<BUF_SIZE>
  • km::HashReader<BUF_SIZE>, km::HashWriter<BUF_SIZE>
  • km::MatrixReader<BUF_SIZE>, km::MatrixWriter<BUF_SIZE>
  • km::PAMatrixReader<BUF_SIZE>, km::PAMatrixWriter<BUF_SIZE>
  • km::HashMatrixReader<BUF_SIZE>, km::HashMatrixWriter<BUF_SIZE>
  • km::PAHashMatrixReader<BUF_SIZE>, km::PAHashMatrixWriter<BUF_SIZE>
  • km::BitVectorReader<BUF_SIZE>, km::BitVectorWriter<BUF_SIZE>
  • km::VectorMatrixReader<BUF_SIZE>, km::VectorMatrixWriter<BUF_SIZE>
  • km::HistReader<BUF_SIZE>, km::HistWriter<BUF_SIZE>