macでインフォマティクス

macでインフォマティクス

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

メタゲノムのビニング後の解析を行う自動化されたパイプライン MetaSanity

2020 5/29 構成を修正、タイトル変更

2020 6/1 コマンド修正

 

 マイクロバイオーム研究の重要性はますます一般的になっており、さまざまな生態系(例:海洋、構築、宿主関連など)を理解するために不可欠である。研究者は、微生物ゲノムの分析のため、高度に再現性と品質を担保して解析パイプラインを実行できなければならない。 MetaSanityは、既存の11の広く使用されているゲノム評価とアノテーションスイートの分析を単一の配布可能なワークフローに組み込み、柔軟で拡張可能なデータ分析パイプラインを可能にして、微生物研究者の作業負荷を軽減する。 MetaSanityは、個別の再現可能なワークフローを提供するように設計されており、研究者のニーズによって、(1)推定される系統発生アサインを提供しながら微生物ゲノムの全体的な品質を決定でき、(2)適合する特異性の程度が異なる構造的および機能的な遺伝子アノテーションを割り当てることができる。このソフトウェアスイートは、いくつかのツールの結果を組み合わせて、全体的な代謝機能とペプチダーゼと炭水化物活性酵素の推定細胞外局在化に関する幅広い洞察を提供する。重要なことは、このソフトウェアは、関連するすべての出力をSQLデータベースに保存することにより、「ビッグデータ」分析の組み込み最適化を提供し、ユーザーが研究に最も影響を与える要素のすべての結果を照会できるようにする事である。MetaSanityは、GNU General Public License v.3.0に基づいて提供され、https://github.com/cjneely10/MetaSanityからダウンロードできる。このアプリケーションはPython3 / CythonおよびC ++で実装されており、Dockerイメージとして配布される。 

 

f:id:kazumaxneo:20200222111255p:plain

MetaSanity pipeline schema.  Preprintより転載。

 

wiki

https://github.com/cjneely10/MetaSanity/wiki/2-Installation

 

2019

 

インストール

ubuntu18.04LTSでテストした。

本体 Github

conda create -n metasanity -y
conda activate metasanity
#インストールスクリプトのダウンロード
wget
https://raw.githubusercontent.com/cjneely10/MetaSanity/master/install.py -O install.py

#実行。docker image(link)がダウンロードされる。root権限でなければsudo実行する。数GBあるので注意。
python3 install.py
=> docker imagesができ、さらにMetaSanity/ができる

./MetaSanity.py -h

$ ./MetaSanity.py -h

usage: MetaSanity.py [-h] -d DIRECTORY -c CONFIG_FILE [-a]

                     [-o OUTPUT_DIRECTORY] [-b BIOMETADB_PROJECT]

                     [-t TYPE_FILE] [-p] [-z] [-v]

                     program

 

MetaSanity: Run meta/genomes evaluation and annotation pipelines

 

Available Programs:

 

FuncSanity: Runs gene callers and annotation programs on MAGs

(Flags:  --directory --config_file --cancel_autocommit --output_directory --biometadb_project --type_file --prokka --reevaluate_quality)

PhyloSanity: Evaluates completion, contamination, and redundancy of MAGs

(Flags:  --directory --config_file --cancel_autocommit --output_directory --biometadb_project)

 

positional arguments:

  program               Program to run

 

optional arguments:

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

  -d DIRECTORY, --directory DIRECTORY

                        Directory name containing genomes

  -c CONFIG_FILE, --config_file CONFIG_FILE

                        Config file name

  -a, --cancel_autocommit

                        Cancel commit to database

  -o OUTPUT_DIRECTORY, --output_directory OUTPUT_DIRECTORY

                        Output directory prefix, default out

  -b BIOMETADB_PROJECT, --biometadb_project BIOMETADB_PROJECT

                        BioMetaDB_project name (updates values of existing database)

  -t TYPE_FILE, --type_file TYPE_FILE

                        type_file name formatted as 'file_name.fna\t[Archaea/Bacteria]\t[gram+/gram-]\n'

  -p, --prokka          Use PROKKA gene calls instead of prodigal search

  -z, --remove_intermediates

                        Remove intermediary genome directories, default: False

  -v, --version         Print version of MetaSanity and exit

ライセンスの関係でSignalP4.1 and RNAmmer1.2は別に導入する必要がある。必須ではないため、ここでは説明しない。公式wikiを参照。続いてデータベースのダウンロードを行う。

 

データベースの準備

ダウンロードスクリプトが用意されている。自動作成されたMetaSanity/にてスクリプトを実行する。

cd MetaSanity/
python3 download-data.py

以下のデータベースがダウンロードされる。 データベースサイズは46GBほどあるので空き容量に注意する。

  • GTDB-Tk release 89.0
  • CheckM 2015_01_16
  • KoFamScan (most recent release as of Feb 2020)
  • dbCAN HMMdb-V8
  • virsorter-data-v2 

 

  

実行方法

大きく分けて2つのモードがある。PhyloSanityモードでは、CheckMを用いてMAGの完全性と汚染度を評価し、FastANIを用いて冗長性を評価する。オプションでGTDB-Tkを用いて系統を予測する。FuncSanityモードでは、PROKKA、KEGG、InterProScan、炭水化物酵素(CAZy)データベース、MEROPS データベースを含む機能アノテーション パイプラインをカスタマイズしてランできる。オプションで、PSORTb と SignalP4.1 を使用して、予測された外膜および細胞外タンパク質をターゲットに 、MEROPS の一致をフィルタリングできる。KEGG の結果は KEGG-Decoder で処理され、代謝機能とパスウェイの視覚的なヒートマップが提供される。いずれのランにもconfigファイルを使う。

 

1、準備

作業ディレクトリを作り、そこにマスターのコンフィグファイルをコピーする。

#1 作業ディレクトリの作成
mkdir ExampleRun && cd ExampleRun && mkdir genomes

#2 テストデータをgenomes/にコピーする。
cp <path>/<to>/MetaSanity/ExampleSet/TOBG-* genomes/

#3 configファイルをカレントにコピーする。PhyloSanity.iniとFuncSanity.iniを両方ランするので、2つともコピー。
cp <path>/<to>MetaSanity/Config/Docker/PhyloSanity.ini .
cp <path>/<to>MetaSanity/Config/Docker/FuncSanity.ini .

 PhyloSanity.ini(configファイル)

f:id:kazumaxneo:20200528225256p:plain

パスは仮想環境のものなので修正する必要はない。パラメータのみ必要であれば変更する。利用可能なすべてのフラグはComplete-PhyloSanity.iniを参照。

 

PhyloSanity.ini

f:id:kazumaxneo:20200528230515p:plain

f:id:kazumaxneo:20200528230519p:plain

f:id:kazumaxneo:20200528230518p:plain

利用可能なすべてのフラグはComplete-FuncSanity.iniをを参照。

 

 

2、ラン

PhyloSanity

PhyloSanityのコンフィグを指定して実行する。dockerのランにroot権限が必要ならsudo実行する。

python3 <path>/<to>/MetaSanity/MetaSanity.py -c PhyloSanity.ini -d genomes/ PhyloSanity

出力ディレクトリ(out/)

f:id:kazumaxneo:20200528225803p:plain

out/evaluation.tsv - GTDBtk、checkm、fastANIなどの結果が統合される。

f:id:kazumaxneo:20200528225809p:plain



FuncSanity

次はFuncSanityを動かす。FuncSanityのコンフィグを指定して実行する。

python3 <path>/<to>/MetaSanity/MetaSanity.py -c FuncSanity.ini -d genomes/ FuncSanity

グラム陰性のバクテリア向けになっている。それ以外のゲノムを使う場合はヘルパースクリプトを使う(wiki参照)。

 

out/に結果は追加される。サンプルそれぞれのTSVファイルと、全サンプル統合したTSVファイルが出力される。

f:id:kazumaxneo:20200529124051p:plain

 

KEGG

combined_results

f:id:kazumaxneo:20200529123545p:plain

biodata_results

f:id:kazumaxneo:20200529123656p:plain

 

function.TSV 

f:id:kazumaxneo:20200529123656p:plain

f:id:kazumaxneo:20200529123751p:plain

 

f:id:kazumaxneo:20200529123751p:plain

f:id:kazumaxneo:20200529123755p:plain

f:id:kazumaxneo:20200529123804p:plain

f:id:kazumaxneo:20200529123807p:plain

f:id:kazumaxneo:20200529123810p:plain

f:id:kazumaxneo:20200529123819p:plain

(横に長いので以下省略)

 ProdigalとPROKKAに続き、InterProScan、KEGG KoFamScanとKEGG-Decoder、proteinの細胞内局在、シグナルペプチド予測と切断部位予測、peptidasesとExtracellular Peptidase予測、catalytic and carbohydrate-binding module予測(炭水化物の合成、修飾、分解に関与する炭水化物活性酵素(CAZymes)と関連する炭水化物結合モジュールの予測)、virus予測が行われる。

 

他に結果を管理するリレーショナルデータベースBioMetaDBがある。

引用

MetaSanity: An integrated microbial genome evaluation and annotation pipeline
Christopher J Neely, Elaina D Graham, Benjamin J Tully
Bioinformatics, Published: 19 May 2020

 

MetaSanity: An integrated, customizable microbial genome evaluation and annotation pipeline.

Neely C., Graham E. D., Tully, B. J.

BioRxiv, Posted October 08, 2019.

 

関連