macでインフォマティクス

macでインフォマティクス

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

機械学習を用いた微生物ゲノム品質の迅速で正確かつスケール可能な評価ツール CheckM2

 

 DNA シーケンスとバイオインフォマティクスの進歩により、メタゲノム解析データからの微生物ゲノムの回収率は飛躍的に向上した。メタゲノム解析で得られたゲノムの品質を評価することは、解析に先立つ重要なステップである。本発表では、機械学習を利用してMAGの完全性と汚染度を予測する改良型手法であるCheckM2を紹介する。著書らは、合成データおよび実験データを用いてCheckM2の有効性を実証し、MAGの品質予測においてオリジナル版のCheckMを上回る性能を示す。CheckM2はCheckMよりも大幅に高速であり、そのデータベースは新しい高品質のリファレンスゲノムで迅速に更新することができる。また、PatescibacteriaやDPANN superphylumに見られるような、ゲノム表現が疎な系統や、ゲノムサイズが小さい系統(共生生物など)のMAGについても、CheckM2は正確にゲノム品質を予測することを示す。CheckM2は、微生物のtree of life全体にわたって正確なゲノム品質予測を提供し、MAGから新しい生物学的結論を推論する際の信頼性を向上させることができる。

 

Githubより

CheckM1とは異なり、CheckM2は分類学的系統に関係なく適用できる普遍的に学習された機械学習モデルを持っており、ゲノムビンの完全性と汚染度を予測します。これにより、トレーニングセットに含まれる他のすべての生物との関連において、高品質のゲノムの代表がほとんど、あるいはたった1つしかないような系統をトレーニングセットに組み込むことができます。この機械学習フレームワークの結果、CheckM2は、NanoarchaeotaやPatescibacteriaのような、ゲノムが少ない生物や特異な生物に対しても高い精度を発揮します。

CheckM2 は、2 つの異なる機械学習モデルを使用して、ゲノムの完全性を予測します。一般的な勾配ブーストモデルは、一般化が可能で、GenBank や RefSeq にあまり記載されていない生物(おおよそ、目、クラス、門のレベルで新しい生物)に対して使用することを想定しています。特異的ニューラルネットワークモデルは、参照トレーニングセットとより密接に関連する生物の完全性を予測する場合に、より正確です(おおよそ、生物が既知の種、属、科に属している場合)。CheckM2 は、コサイン類似度計算を使用して、各入力ゲノムに対して適切な完全性モデルを自動的に決定しますが、特定の完全性モデルを強制的に使用したり、両方の予測出力を取得したりすることも可能です。分類学的新規性に関係なく適用され、すべてのケースでうまく機能する汚染モデル(gradient boostに基づく)は1つだけです。

 

 

インストール

Github

git clone --recursive https://github.com/chklovski/checkm2.git && cd checkm2
mamba env create -n checkm2 -f checkm2.yml
conda activate checkm2
python setup.py install

#tensorflowのエラーが出るのでpipで導入した

> checkm2 -h

$ checkm2 -h

  ____ _               _    __  __ ____  

  / ___| |__   ___  ___| | _|  \/  |___ \ 

  | |   | '_ \ / _ \/ __| |/ / |\/| | __) | 

  | |___| | | |  __/ (__|   <| |  | |/ __/  

  \____|_| |_|\___|\___|_|\_\_|  |_|_____| 

 

                ...::: CheckM2 v0.1.2 :::...

 

  General usage:

    predict         -> Predict the completeness and contamination of genome bins in a folder.

    testrun         -> Runs Checkm2 on internal test genomes to ensure it runs without errors.

    database        -> Download and set up required CheckM2 DIAMOND database for annotation

 

  Use checkm2 <command> -h for command-specific help.

> checkm2 predict -h

usage: checkm2 predict [-h] [--debug] [--version] [--quiet] [--lowmem] --input INPUT [INPUT ...] --output-directory OUTPUT_DIRECTORY [--general] [--specific] [--allmodels] [--genes] [-x EXTENSION] [--force] [--threads num_threads] [--stdout] [--dbg_cos] [--dbg_vectors]

 

Predict the completeness and contamination of genome bins in a folder.

 

optional arguments:

  -h, --help            show this help message and exit

  --debug               output debug information

  --version             output version information and quit

  --quiet               only output errors

  --lowmem              Low memory mode. Reduces DIAMOND blocksize to significantly reduce RAM usage at the expense of longer runtime

 

required arguments:

  --input INPUT [INPUT ...], -i INPUT [INPUT ...]

                        Path to folder containing MAGs or list of MAGS to be analyzed

  --output-directory OUTPUT_DIRECTORY, --output_directory OUTPUT_DIRECTORY, -o OUTPUT_DIRECTORY

                        Path output to folder

 

additional arguments:

  --general             Force the use of the general quality prediction model (gradient boost)

  --specific            Force the use of the specific quality prediction model (neural network)

  --allmodels           Output quality prediction for both models for each genome.

  --genes               Treat input files as protein files. [Default: False]

  -x EXTENSION, --extension EXTENSION

                        Extension of input files. [Default: .fna]

  --force               overwrite output directory [default: not set]

  --threads num_threads, -t num_threads

                        number of CPUS to use [default: 1]

  --stdout              Print results to stdout [default: write to file]

  --dbg_cos             DEBUG: write cosing similarity values to file [default: don't]

  --dbg_vectors         DEBUG: dump pickled feature vectors to file [default: don't]

 

 

 

データベースの準備

checkm2 database --download --path <path>/<to>/DB

CheckM2_database/

 

実行方法

CheckM2 はメタゲノムアセンブリゲノム(MAG)やシングルセル増幅ゲノム(SAG)の完全性と汚染度の予測だが、単離ゲノムにも適用できる。FASTA ファイルを格納したフォルダを --input で与え、出力を --output-directory で指定する。--inputフラグは、フォルダが与えられたのか、ファイルのリストが与えられたのかを自動的に判断し、それに応じて処理を行う。

checkm2 predict --threads 30 --input input_genome.fa --output-directory out_dir

#複数ゲノム
checkm2 predict --threads 30 --input MAG*.fa --output-directory out_dir

#もしくはゲノムのフォルダを指定。gzip ファイルがあるフォルダを渡す場合は、--extension .gzを指定する。
checkm2 predict --threads 30 --input genome_dir --output-directory out_dir
  • -x <EXTENSION>   Extension of input files. [Default: .fna]
  • --genes     Treat input files as protein files. [Default: False]

out_dir/

quality_report.tsv

ゲノム1つの評価にかかった時間は37秒だった。また、105個のゲノムを使用すると、評価にかかった時間は4分38秒だった(30スレッド、3990x使用)。

 

Githubより

  • RAMに制限のあるデバイスでCheckM2を実行する場合、--lowmemオプションを使用すると、実行時間は長くなるが、DIAMONDのRAM使用量を半分に減らすことができる。

 

引用

CheckM2: a rapid, scalable and accurate tool for assessing microbial genome quality using machine learning

Alex Chklovski,  Donovan H Parks,  Ben J Woodcroft, Gene W Tyson
bioRxiv, Posted July 11, 2022

 

関連

 

8/16