muellan/metacache

GPU version on bioconda

Closed this issue · 3 comments

Dear all,

is there a GPU version of metacache on bioconda?

Can we also define MC_KMER_TYPE for GPU? Beacuse from the code it doesn't look like it:

metacache/src/config.h

Lines 44 to 48 in 4c6db91

#if !defined GPU_MODE && defined MC_KMER_TYPE
using kmer_type = MC_KMER_TYPE ;
#else
using kmer_type = std::uint32_t;
#endif

is there a GPU version of metacache on bioconda?

Not as far as I'm aware of.

Can we also define MC_KMER_TYPE for GPU?

No, the GPU version only supports kmers of length 16 (for various space and efficiency reasons).

And do you think kmers of length 16 are enough? Kraken2's default value for nucleotides is 35.

Kraken and Kraken2 use mapping strategies that are different from MetaCache's. While Kraken counts Taxon hits based on single kmers, MetaCache uses multiple kmers within a small region ("window") and thus doesn't require long kmers.

If you want to increase precision you can use the -hitmin <#kmers> option (the default is 4 if I remember correctly) which controls how many kmers in a window are needed for a read to be classified.