macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

GTDB-Tkのversion 2

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

2023/02/15

 

Documentation

Bioconda — GTDB-Tk 2.0.0 documentation

 

バージョンについて

GTDBのデータベースとGTDB-tkのバージョンとの対応関係に注意(リンク)。R207データベースを使うならgtdb-tkのversion2が必要で、1つ前のリリースであるR202を使うにはversion2より古いバージョンが必要。

 

インストール

Github

#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)

  --min_perc_aa MIN_PERC_AA

                        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/

f:id:kazumaxneo:20220413184658p:plain

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

f:id:kazumaxneo:20220413185159p:plain

 

 

実行方法

ゲノム配列と出力ディレクトリを指定する。

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