Kraken2 Tutorial

Overview of Kraken2

Kraken2 is a powerful bioinformatics tool designed for the taxonomic classification of metagenomic sequences. It's an updated version of the original Kraken tool, which was first introduced in 2014. Kraken2 offers significant improvements over its predecessor, including faster database build times, smaller database sizes, and quicker classification speeds. These enhancements make Kraken2 an attractive option for researchers and clinicians working in the fields of microbiome and metagenomics analysis.

The core of Kraken2's functionality lies in its ability to match k-mers (subsequences of length k) from query sequences to the lowest common ancestor (LCA) of all genomes containing the given k-mer. This process is facilitated by several key updates to the Kraken classification program:

  1. Storage of Minimizers: Kraken2 stores minimizers (l-mers) of each k-mer instead of the entire k-mer, which reduces the database size and improves query speed.
  2. Introduction of Spaced Seeds: The use of spaced seeds helps to improve classification accuracy by allowing for more flexible matching of k-mers.
  3. Database Structure: Kraken2 utilizes a compact hash table for storing k-mer/LCA pairs, which is more efficient than the indexed and sorted list used by Kraken1.
  4. Protein Databases: The tool supports databases built from amino acid sequences, enabling six-frame translated searches against the database.
  5. 16S Databases: Kraken2 also supports databases not based on NCBI's taxonomy, such as Greengenes, SILVA, and RDP.

Kraken2 is compatible with other tools like Bracken, which estimates relative abundances within samples, and Pavian, a visualization program for comparing classifications across multiple samples. Additionally, KrakenTools is a suite of scripts that assist in the analysis of Kraken results.

The target audience for Kraken2 includes biologists and clinicians who do not necessarily have programming expertise but are familiar with the Unix command-line interface. Kraken2 is part of a suite of tools that also includes KrakenUniq, Kraken 24, and Kraken2Uniq, each offering different approaches to counting, accessing, and storing k-mer information.


To install Kraken2, users should follow the instructions provided in the official manual or repository. Typically, the installation process involves downloading the source code from the Kraken2 GitHub repository and compiling it on the user's system. It's important to ensure that all dependencies are met and that the environment is properly configured for Kraken2 to function correctly.

Quick Start

Once Kraken2 is installed, users can quickly begin classifying sequences by building a Kraken2 database and running the classification command. The database can be built using reference genomes or a pre-built database provided by the Kraken2 team. The classification command takes a set of sequences as input and outputs the taxonomic classification for each sequence.

Code Examples Of Popular Commands

Here are five popular commands that users of Kraken2 might find useful:

  1. Building a Kraken2 Database:

    kraken2-build --download-taxonomy --db <DB_NAME>

    This command downloads the taxonomy information and sets up the database.

  2. Adding Genomes to the Database:

    kraken2-build --add-to-library <FASTA_FILE> --db <DB_NAME>

    Users can add genomes to the database using this command.

  3. Building the Database:

    kraken2-build --build --db <DB_NAME>

    After adding all necessary genomes, this command builds the database.

  4. Classifying Sequences:

    kraken2 --db <DB_NAME> --output <OUTPUT_FILE> <INPUT_SEQUENCES>

    This command classifies the input sequences and writes the results to an output file.

  5. Creating a Report:

    kraken2-report --db <DB_NAME> --output <REPORT_FILE> <INPUT_SEQUENCES>

    To generate a report with the classification results, this command can be used.

These commands represent just a fraction of what Kraken2 can do. For a more comprehensive understanding, users should refer to the official documentation and publications related to Kraken2.

In conclusion, Kraken2 is a robust and efficient tool for metagenomic sequence classification. Its improvements over the original Kraken make it a go-to choice for researchers in the field. With its compatibility with other analysis and visualization tools, Kraken2 is a versatile component of the bioinformatics toolkit.