CCB » Software » Kraken2

About Kraken 2

Kraken 2 is the newest version of Kraken, a taxonomic classification system using exact k-mer matches to achieve high accuracy and fast classification speeds. This classifier matches each k-mer within a query sequence to the lowest common ancestor (LCA) of all genomes containing the given k-mer. The k-mer assignments inform the classification algorithm. [see: Kraken 1's Webpage for more details].

Kraken 2 provides significant improvements to Kraken 1, with faster database build times, smaller database sizes, and faster classification speeds. These improvements were achieved by the following updates to the Kraken classification program:

  1. Storage of Minimizers: Instead of storing/querying entire k-mers, Kraken 2 stores minimizers (l-mers) of each k-mer. The length of each l-mer must be ≤ the k-mer length. Each k-mer is treated by Kraken 2 as if its LCA is the same as its minimizer's LCA.
  2. Introduction of Spaced Seeds: Kraken 2 also uses spaced seeds to store and query minimizers to improve classification accuracy.
  3. Database Structure: While Kraken 1 saved an indexed and sorted list of k-mer/LCA pairs, Kraken 2 uses a compact hash table. This hash table is a probabilistic data structure that allows for faster queries and lower memory requirements. However, this data structure does have a <1% chance of returning the incorrect LCA or returning an LCA for a non-inserted minimizer. Users can compensate for this possibility by using Kraken's confidence scoring thresholds.
  4. Protein Databases: Kraken 2 allows for databases built from amino acid sequences. When queried, Kraken 2 performs a six-frame translated search of the query sequences against the database.
  5. 16S Databases: Kraken 2 also provides support for databases not based on NCBI's taxonomy. Currently, these include the 16S databases: Greengenes, SILVA, and RDP.

News

  • 11/01/2018 - MiniKraken Released for Kraken 2
    MiniKraken databases released to the public. See Downloads and Links for more details.
  • 08/11/2018 - v2.0.7-beta release
    Support for Minikraken building based on database size added. Other updates/fixes. See CHANGELOG.md for details
  • 06/26/2018 - v2.0.6-beta release
    Initial public release of Kraken 2.

Publications

The Kraken 2 paper is currently under preparation. Until it is released, please cite the original Kraken paper when using Kraken 2 in your research:

Wood DE, Salzberg SL: Kraken: ultrafast metagenomic sequence classification using exact alignments. Genome Biology 2014, 15:R46.


Downloads and Links

Code Download:

  • Source (99 KB): Kraken2's source code and README. The current version of Kraken 2 is v2.0.7-beta (released August 11th, 2018).
  • The source code is also available in a GitHub repository.

MiniKraken2 Downloads:

Users with low-memory computing environments may be unable to load a full Kraken standard library (~30GB as of 09/2018) into RAM. Therefore, we provide here two MiniKraken2 databases that require only 8GB of RAM for classification. The databases were built by using the --max-db-size option, which downsamples the minimizers in the standard Kraken 2 database using a hash function.

  • MiniKraken2_v1_8GB: 8GB Kraken 2 Database built from the refseq bacteria, archaea, and viral libraries.
  • MiniKraken2_v2_8GB: 8GB Kraken 2 Database built from the Refseq bacteria, archaea, and viral libraries and the GRCh38 human genome

Bracken files are available for these MiniKraken2 databases on the Bracken Website.


The challenge with downsampling to create the minimized databases is maintaining sensitivity. To address this concern, we measured accuracy with two datasets (HiSeq and MiSeq) from the original Kraken publication that consist of single-ended microbial isolate reads mixed in equal proportions. Below are the results for Kraken 1 and Kraken 2 using the original standard databases and the 8GB MiniKraken databases: MiniKraken1v2_Accuracy


Kraken 2 and Other Tools

The following tools are compatible with both Kraken 1 and Kraken 2. Both tools are designed to assist users in analyzing and visualizing Kraken results.

Bracken allows users to estimate relative abundances within a specific sample from Kraken 2 classification results. Bracken uses a Bayesian model to estimate abundance at any standard taxonomy level, including species/genus-level abundance.

Pavian has also been developed as a comprehensive visualization program that can compare Kraken 2 classifications across multiple samples.


Authors/Contributors

Derrick Wood
Jennifer Lu
Ben Langmead

For technical issues, bug reports, and code contributions, please use Kraken2's GitHub repository.

Page Updated: 2018/11/02

Back to top