Hello all,
I was wondering if there are any recommendations on how to make Kraken2 work with Oxford Nanopore reads? It seems like errors are still very much influencing the accuracy of the assignment. So, what do people usually do? Use corrected reads? Make databases in different way?
Thank you in advance!
2 answers
Kraken2 is based on kmers. I don't think the error prone kmers in ONT data translate well to Kraken2.
We have an alignment based approach here which is suitable for long and short reads:
https://github.com/MHH-RCUG/Wochenende
Metamaps is another option for long reads, but I haven't tried it yet. https://www.nature.com/articles/s41467-019-10934-2
Right k-mer size(read length / 4). If your average read length is 400, building db with 100 k-mer is better.
By default confidence score is 0. It is better to choose a sensible value. It again depends on various factors. But having confidence value of at least 0.1 or 0.05 also helps.
Log in to answer this question.
What kind of taxonomic assignment errors are you observing? I would expect the longer sequences would contain enough correct kmers - even with higher error rates - to allow generally correct taxonomic classification. The literature seems to indicate this as well, e.g.:
Benchmarking the MinION: Evaluating long reads for microbial profiling
Testing the advantages and disadvantages of short- and long- read eukaryotic metagenomics using simulated reads
However, this is just my "gut feeling", as I never used Kraken2 with long, error-prone reads.
I have a sample sequenced by both Nanopore and paired-end Illumina reads, and the difference is huge. I assumed Illumina is correct, thus I was a bit shocked by the difference.