2022/05/12 追記
2022/06/03 古いツイートを消去
2022/07/23 preprint引用
2023/10/21 v2.3.2追記
GTDBとその分類ツールであるGTDB-tkは原核生物ゲノムの分類によく使われるようになりました。しかし、GTDB-tkのclassiyコマンドはメモリ要求量が高く、2021年に出たR202データベースの時点で、連結タンパク質のMSAをGTDBのリファレンスツリー(細菌ならこちら)に最尤配置するステップでピークメモリを240GBほど要求し、256GBしか物理メモリが利用できない計算環境ではギリギリとなっていました(このことから、次のリリースでは、メモリ不足でランできない計算環境が増えると予想されていた)。
今月、release 207が公開され、分類ツールであるGTDB-Tkもversion2にアップデートされました。新しいアルゴリズムがデフォルト設定として追加され、これまでの最大の懸念材料となっていたメモリ使用量の多さが大幅に軽減されています(下のツイート)。メモリ要求量が減ったことは、GTDBの分類を利用している世界中の研究者が歓迎しているのではないでしょうか。さっそくインストールしてみます。
Githubより
- GTDB-TK は、バクテリアのリファレンスツリーを複数の順序レベルのサブツリーに分割する分割統治方式を採用しました。これにより、GTDB R07-RS207の全リファレンスツリーを使用した場合の320GBのRAMから、約35GB 55GBまでGTDB-Tkの必要メモリが削減されました。この方法について説明した原稿は現在準備中です。
- GTDBの完全なリファレンスツリーを使い続けたい場合は、--full-treeフラグを使用します。
- 古細菌の分類は、Dombrowski et al., 2020による最近の発表に基づき、53の古細菌特異的マーカー遺伝子の洗練されたセットを使用するようになりました。この古細菌マーカー遺伝子のセットは、GTDBが古細菌分類のキュレーションに使用しています。
- classify_wfおよびde_novo_wfパイプラインの終了時に、中間結果を含むすべてのディレクトリがデフォルトで削除されるようになりました。これらの中間ファイルを残したい場合は、--keep-intermediates フラグを使用します。
- alignステップで生成されるMSAファイルは、すべてgzipで圧縮されるようになりました。
- classify_wfのルートディレクトリにリンクされているファイルは、classification summaryとfailed genomesファイルのみとなりました。
2023/05/16
GTDB-Tk v2.3.0 has been released along with reference data for GTDB R08-RS214. Updating to the latest reference data is recommended. More information about GTDB-Tk can be found at https://t.co/mCZrEhfVrz.
— GTDB (@ace_gtdb) May 15, 2023
2023/02/15
GTDB-Tk v2.2.1 has been released. This introduces an ANI classification stage that can reduce processing time by 25 to 60%. You can find more details at https://t.co/mCZrEhfVrz.
— GTDB (@ace_gtdb) February 14, 2023
Next GTDB release (r207) finally out! https://t.co/ltA9Klw9Pg
— Phil Hugenholtz (@PhilHugenholtz) April 8, 2022
317K genomes, 65K species
This is too large for GTDB-Tk to classify against, so there is also a new Tk release (v2.0.0) to go with it.
Big thanks to the @ace_gtdb team who battled covid and flood delays. 🤮🌊
Documentation
Bioconda — GTDB-Tk 2.0.0 documentation
バージョンについて
GTDBのデータベースとGTDB-tkのバージョンとの対応関係に注意(リンク)。R207データベースを使うならgtdb-tkのversion2が必要で、1つ前のリリースであるR202を使うにはversion2より古いバージョンが必要。
インストール
#bioconda(link)
mamba create -n gtdbtk -c conda-forge -c bioconda gtdbtk -y
conda activate gtdbtk
> gtdbtk
...::: GTDB-Tk v2.0.0 :::...
Workflows:
classify_wf -> Classify genomes by placement in GTDB reference tree
(identify -> align -> classify)
de_novo_wf -> Infer de novo tree and decorate with GTDB taxonomy
(identify -> align -> infer -> root -> decorate)
Methods:
identify -> Identify marker genes in genome
align -> Create multiple sequence alignment
classify -> Determine taxonomic classification of genomes
infer -> Infer tree from multiple sequence alignment
root -> Root tree using an outgroup
decorate -> Decorate tree with GTDB taxonomy
Tools:
infer_ranks -> Establish taxonomic ranks of internal nodes using RED
ani_rep -> Calculates ANI to GTDB representative genomes
trim_msa -> Trim an untrimmed MSA file based on a mask
export_msa -> Export the untrimmed archaeal or bacterial MSA file
remove_labels -> Remove labels (bootstrap values, node labels) from an Newick tree
convert_to_itol -> Convert a GTDB-Tk Newick tree to an iTOL tree
Testing:
test -> Validate the classify_wf pipeline with 3 archaeal genomes
check_install -> Verify third party programs and GTDB reference package
Use: gtdbtk <command> -h for command specific help
> gtdbtk classify_wf -h
usage: gtdbtk classify_wf (--genome_dir GENOME_DIR | --batchfile BATCHFILE) --out_dir OUT_DIR [-f] [-x EXTENSION] [--min_perc_aa MIN_PERC_AA] [--prefix PREFIX] [--genes] [--cpus CPUS] [--pplacer_cpus PPLACER_CPUS] [--force]
[--scratch_dir SCRATCH_DIR] [--keep_intermediates] [--min_af MIN_AF] [--tmpdir TMPDIR] [--debug] [-h]
mutually exclusive required arguments:
--genome_dir GENOME_DIR
directory containing genome files in FASTA format
--batchfile BATCHFILE
path to file describing genomes - tab separated in 2 or 3 columns (FASTA file, genome ID, translation table [optional])
required named arguments:
--out_dir OUT_DIR directory to output files
optional arguments:
-f, --full_tree use the unsplit bacterial tree for the classify step; this is the original GTDB-Tk approach (version < 2) and requires more than 320 GB of RAM to load the reference tree (default: False)
-x, --extension EXTENSION
extension of files to process, gz = gzipped (default: fna)
exclude genomes that do not have at least this percentage of AA in the MSA (inclusive bound) (default: 10)
--prefix PREFIX prefix for all output files (default: gtdbtk)
--genes indicates input files contain called genes (skip gene calling) (default: False)
--cpus CPUS number of CPUs to use (default: 1)
--pplacer_cpus PPLACER_CPUS
number of CPUs to use during pplacer placement
--force continue processing if an error occurs on a single genome (default: False)
--scratch_dir SCRATCH_DIR
reduce pplacer memory usage by writing to disk (slower).
--keep_intermediates keep intermediate files in the final directory (default: False)
--min_af MIN_AF minimum alignment fraction to assign genome to a species cluster (default: 0.5)
--tmpdir TMPDIR specify alternative directory for temporary files (default: /tmp)
--debug create intermediate files for debugging purposes (default: False)
>
データベース
#ダウンロードスクリプト(link)導入時、100GB近くシステムディスクに空きが必要(最終的に26Gほど)
download-db.sh
R207データベースがダウンロードされる。展開後のディレクトリサイズはおよそ71GB。
gtdb_genomes_reps_r207/
export GTDBTK_DATA_PATH=gtdb_genomes_reps_r207/
#上のインストールスクリプトを使った時はenvs/<your_enviroment>/shareに入る。自分の場合は
GTDBTK_DATA_PATH=/home/kazu/mambaforge/envs/gtdbtk/share/gtdbtk-2.1.0/db/
インストールチェック
gtdbtk check_install
実行方法
ゲノム配列と出力ディレクトリを指定する。
gtdbtk classify_wf --genome_dir genome_bir/ --out_dir GTDBtk_outdir --cpus 16 --extension fna
#v.2.3ではmash DBのデータベース指定が必要になった。あるいはスキップする
gtdbtk classify_wf --genome_dir genome_bir/ --out_dir GTDBtk_outdir --cpus 16 --extension fna --skip_ani_screen
メモ
v2.2.0を使ったが、pplacerのステップでエラーが出る。従来のモードである --full_treeオプション付きでは最後までランできた(ピークメモリは300GBを超える)。その後、バグ修正されたv2.1では新しい分割統治アルゴリズムでランできることを確認した。主観だが、ランタイムも大幅に短くなっていた(1000ゲノムでおよそ100分)。その時のピークメモリはわずか53GBだった。
引用
GTDB-Tk: a toolkit to classify genomes with the Genome Taxonomy Database
Pierre-Alain Chaumeil, Aaron J Mussig, Philip Hugenholtz, Donovan H Parks
Bioinformatics, Volume 36, Issue 6, 15 March 2020, Pages 1925–1927
2022/07/22
GTDB-Tk v2: memory friendly classification with the Genome Taxonomy Database
Pierre-Alain Chaumeil, Aaron J Mussig, Philip Hugenholtz, Donovan H Parks
bioRxiv, Posted July 22, 2022.
"ゲノム分類データベース(GTDB)と関連する分類ツールキット(GTDB-Tk)は、微生物学のコミュニティによって広く採用されています。しかし、GTDBの細菌参照木のサイズが大きくなってきたため、GTDB-Tkは相当量のメモリ(~320GB)を必要とし、その採用や使いやすさに制限が生じています。本発表では、GTDB-Tkのアップデート版として、ユーザーゲノムをファミリーレベルの代表を持つ細菌参照ツリーに配置し、その後、種の代表からなる適切なクラスレベルのサブツリーに配置する分割統治アプローチを採用したものを紹介します。これにより、GTDB-Tkのメモリ使用量は大幅に削減され、分類への影響も最小限に抑えられます。"
2022/10/11
GTDB-Tk v2: memory friendly classification with the Genome Taxonomy Database
Pierre-Alain Chaumeil, Aaron J Mussig, Philip Hugenholtz, Donovan H Parks
Bioinformatics, Published: 11 October 2022 Article history
関連
8/16
Posters for #Checkm2 and #gtdbtk2 spotted today #isme18 pic.twitter.com/vkE6lCiPRr
— Rasmus Kirkegaard (@kirk3gaard) August 16, 2022