-
GTDB-Tk
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-appsmodule.
Usage
GTDB-Tk is part of the bio-apps collection on Roihu. Load the bio-apps module tree and then the GTDB-Tk module:
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:
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).
--extensionis 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
pplacerstep 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--memrequest — thesmallpartition can provide up to 1500 GiB. GTDB-Tk's--scratch_diroption, 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/scratchfilesystem.
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.