macでインフォマティクス

macでインフォマティクス

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

メタゲノムアセンブリのウイルスゲノム品質を評価する CheckV

2020 5/9 誤字修正

 

 ここ数年の間に、メタゲノミクスにより何百万もの新しいウイルス配列のアセンブルが可能になり、地球上のウイルスの多様性に関する知識が大幅に拡大した。しかし、これらの配列は小さな断片から完全なゲノムまで様々であり、その品質を推定するためのツールは現在のところ存在していない。この問題を解決するために、著者らは、ウイルスゲノムの完全性を推定し、統合されたプロウイルスに見られる非ウイルス領域の同定と除去を自動化するパイプラインであるCheckVを開発した。このアプローチを模擬データセットで検証した後、IMG/VRやGlobal Ocean Viromeを含む大規模で多様なウイルスゲノムコレクションに適用したところ、ウイルス配列の大部分は小さな断片であり、高品質(90%以上の完全性)または完全なゲノムに分類されたのはわずか3.6%であることが明らかになった。さらに、ホストの汚染を除去することで、補助代謝遺伝子の同定やウイルスがコードする機能の解釈が大幅に改善されることがわかった。CheckVは、メタゲノムからアセンブルされたウイルスゲノムを研究し、報告するすべての研究者にとって、広く役立つものと期待している。CheckVは、http://bitbucket.org/berkeleylab/CheckV において自由に利用できる。

 

 

パイプラインは主に4つのステップに分けることができる。

A: ホストの汚染除去 - CheckVは、プロウイルス上の非ウイルス領域を同定し、除去する。ず、HMMのカスタムデータベースとの比較に基づいてウイルスまたは微生物の遺伝子がアノテーションされる。次に遺伝子アノテーションGC含有量が比較される。この情報は、各遺伝子間位置でのスコアを計算し、宿主-ウイルス境界を識別するために使用される。
B: ゲノムの完全性推定 - CheckVは2段階でゲノムの完全性を推定する。まず、タンパク質を 平均アミノ酸同一性により CheckV ゲノムデータベースと比較し、コンティグ長(プロウイルスの場合はウイルス領域の長さ)と一致するリファレンスゲノムの長さの単純な比として完全性を計算し、信頼度を報告する。場合によっては、コンティグが AAI に基づく高信頼度または中信頼度の推定値を持たないことがある。このような場合、コンティグとCheckV参照ゲノムの間で共有されているHMM(ANI:平均ヌクレオチド同一性、AF:アライメントフラクション)に基づいて、精度は低いがより感度は高いアプローチが使用される。
C: closedゲノム予測 - closedゲノムは、直接末端リピート(DTR;しばしば環状配列を示す)、ウイルス-宿主境界に隣接する(完全なプロファージを示す)、または倒立末端リピート(ITR;円形化と組換えを促進すると考えられている)のいずれかに基づいて同定される。可能な限り、これらの予測は、Bで得られた推定完全性(例えば、完全性>90%)に基づいて検証される。DTRは、完全なゲノムの最も信頼性が高く、最も一般的な指標である。
D:品質の要約 - A-Cの結果に基づいて、CheckVはレポートファイルを生成し、クエリコンティグを、完全、高品質(90%以上の完全性)、中品質(50-90%の完全性)、低品質(50%未満の完全性)、または未決定の品質の5つの品質レベルのうちの1つに割り当てる。

 


インストール

anaconda3.7でcondaの仮想環境を作ってテストした(macではエラがー出たためubuntu18.04使用)。

Bitbucket

#bioconda(link)
conda create -n checkv -y
conda activate checkv
conda install -c conda-forge -c bioconda checkv

#pipにも対応
pip install checkv

#pipで導入した場合はBLAST+ (v2.5.0)、DIAMOND (v0.9.30)、HMMER (v3.3)、Prodigal (v2.6.3)も別途インストールすること。

checkv -h

$ checkv -h

usage: checkv [-h] [--version] {contamination,completeness,repeats,quality_summary} ...

 

Assess the quality of viral genomes from metagenomes & viromes.

 

positional arguments:

  {contamination,completeness,repeats,quality_summary}

    contamination       estimate host contamination for integrated proviruses

    completeness        estimate completeness for genome fragments

    repeats             identify terminal repeats & estimate genome copy #

    quality_summary     summarize results across modules

 

optional arguments:

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

  --version             show program's version number and exit

checkv contamination -h

$ checkv contamination -h

usage: checkv contamination [-h] [-d PATH] [-t INT] [--restart] [--quiet] input output

 

Estimate host contamination for integrated proviruses

 

positional arguments:

  input       Input nucleotide sequences in FASTA format

  output      Output directory

 

optional arguments:

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

  -d PATH     Reference database path. By default the CHECKVDB environment variable is used (default: None)

  -t INT      Number of threads to use for Prodigal and hmmsearch (default: 1)

  --restart   Overwrite existing intermediate files. By default CheckV continues where program left off (default: False)

  --quiet     Suppress logging messages (default: False)

checkv completeness -h

$ checkv completeness -h

usage: checkv completeness [-h] [-d PATH] [-t INT] [--restart] [--quiet] input output

 

Estimate completeness for genome fragments

 

positional arguments:

  input       Input nucleotide sequences in FASTA format

  output      Output directory

 

optional arguments:

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

  -d PATH     Reference database path. By default the CHECKVDB environment variable is used (default: None)

  -t INT      Number of threads to use for Prodigal and DIAMOND (default: 1)

  --restart   Overwrite existing intermediate files. By default CheckV continues where program left off (default: False)

  --quiet     Suppress logging messages (default: False)

checkv repeats -h

$ checkv repeats -h

usage: checkv repeats [-h] [--min_tr_len INT] [--max_tr_count INT] [--max_tr_dust FLOAT] [--quiet] input output

 

Identify terminal repeats & estimate genome copy #

 

positional arguments:

  input                Input viral sequences in FASTA format

  output               Output directory

 

optional arguments:

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

  --min_tr_len INT     Min length of TR (default: 20)

  --max_tr_count INT   Max occurrences of TR per contig (default: 5)

  --max_tr_dust FLOAT  Longest low complexity region per TR, as % of TR length (default: 20.0)

  --quiet              Suppress logging messages (default: False)

checkv quality_summary -h

$ checkv quality_summary -h

usage: checkv quality_summary [-h] [--quiet] input output

 

Summarize results across modules

 

positional arguments:

  input       Input viral sequences in FASTA format

  output      Output directory

 

optional arguments:

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

  --quiet     Suppress logging messages (default: False)

 

 

データベースの準備

#1.8GB
wget https://portal.nersc.gov/CheckV/checkv-db-v0.6.tar.gz
tar -zxvf checkv-db-v0.6.tar.gz
export CHECKVDB=/path/to/checkv-db-v0.6

環境変数を定義せずにランする場合、"-d"でデータベースのパスを指定する。

 

テストラン 

cd berkeleylab-checkv-9255c64c92a1/test/

 

1−4の順番に進める。

1、contaminationコマンド

ホスト ゲノムにIntegrateされたプロファージに隣接するホスト領域を特定する。

checkv contamination test.fna checkv_out -t 16

 

2、contaminationコマンド

ゲノム(contigs set)の完全性を推定する。

checkv completeness test.fna checkv_out -t 16

 

3、repeatsコマンド

末端を持つ完全なゲノムの可能性がある配列を特定する。

checkv repeats test.fna checkv_out

このモジュールはゲノムコピー数も推定する。
 

4、quality_summaryコマンド

CheckVの出力を要約し、コンティグに品質レベルアサイン・分類する。

checkv quality_summary test.fna checkv_out

(2の出力が必要)

出力レポート(TSVファイル)

f:id:kazumaxneo:20200509163503p:plain

 

出力についてはBitbucketの解説を読んでください。

引用

CheckV: assessing the quality of metagenome-assembled viral genomes

Stephen Nayfach, Antonio Pedro Camargo, Emiley Eloe-Fadrosh, Simon Roux, Nikos Kyrpides

bioRxiv, posted May 8, 2020