Skip to content

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

GTDB-Tk

GTDB-Tk is a software toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes, including metagenome-assembled genomes (MAGs) and single-amplified genomes (SAGs). Classifications are based on the Genome Taxonomy Database (GTDB). The classify_wf workflow identifies marker genes (Prodigal gene calling, HMMER marker search), aligns them, screens query genomes against the GTDB reference genomes by average nucleotide identity (skani), and places them into the GTDB reference tree with pplacer.

License

Free to use and open source under GNU GPLv3.

Available

  • Roihu-CPU: 2.7.2, via the bio-apps module.

Usage

GTDB-Tk is part of the bio-apps collection on Roihu. Load the bio-apps module tree and then the GTDB-Tk module:

module load bio-apps/v202603
module load py-gtdbtk/2.7.2

The classification commands are run through the gtdbtk command, for example gtdbtk classify_wf.

Reference data

GTDB-Tk needs the GTDB reference data package (~100 GiB), matched to the tool version. On Roihu this data is already provided by CSC and the module sets the GTDBTK_DATA_PATH environment variable for you — you do not need to download or configure anything. GTDB-Tk 2.7.2 uses GTDB release R232.

You can check the path after loading the module with:

echo $GTDBTK_DATA_PATH

Example batch script

classify_wf takes a directory of genome FASTA files as input. The default classification (which splits the reference tree) needs roughly 140 GiB of memory and benefits from many cores (see the GTDB-Tk hardware requirements).

#!/bin/bash
#SBATCH --job-name=gtdbtk
#SBATCH --account=<project>
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --partition=small
#SBATCH --time=12:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=32
#SBATCH --mem=160G

module load bio-apps/v202603
module load py-gtdbtk/2.7.2

gtdbtk classify_wf \
    --genome_dir genomes/ \
    --extension fa \
    --out_dir gtdbtk_out \
    --cpus $SLURM_CPUS_PER_TASK

Replace <project> with your CSC project (for example project_2001234).

  • --extension is the file extension of your input genomes (fa, fasta, fna, …).
  • GTDB-Tk 2.7 screens query genomes against the GTDB representatives with skani automatically; there is no separate reference database to download or configure for this step.
  • The pplacer step is the most memory-intensive. If a run runs out of memory, first add --pplacer_cpus 1 (lower peak memory, slower), then try increasing your --mem request — the small partition can provide up to 1500 GiB. GTDB-Tk's --scratch_dir option, which spills pplacer's allocation to disk, is best avoided on Roihu: its backing file is roughly as large as the memory it saves (likely making it too big for $TMPDIR), and its random, memory-mapped access pattern performs poorly on the Lustre /scratch filesystem.

Running --full_tree (placement into the complete, undecorated reference tree) requires around 950 GiB of memory. This still fits within the small partition's 1500 GiB ceiling; the hugemem partition is an alternative. The default split-tree approach is recommended for almost all use.

See creating a batch job script for Roihu for more information about running batch jobs.

Support

CSC Service Desk

More information

Do you find this page useful?
Thank you for your feedback!
Thank you! Your feedback is appreciated.

Please let us know how we could improve this page by contacting us or by creating an issue in GitHub. You can also edit this page yourself and contribute your improvements by creating a pull request.