macでインフォマティクス

macでインフォマティクス

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

AAIを計算する EzAAI

2021 5/10 追記

2022/10/20 help追加

 

  平均アミノ酸同一性(AAI)は、ゲノム上の一対の関連性を示す指標であり、原核生物分類学やその関連分野への応用が複数の研究で提案されている。AAIは、種の分類において標準的な基準である平均ヌクレオチド同一性(ANI)と比較して、種のランクを超えた分類構造を解明する上で優れた分解能を示す。しかし、大規模な分類学研究でAAIを計算するための効率的で使いやすい計算ツールはまだない。ここでは、EzAAIと名付けられたバイオインフォマティクス・パイプラインを紹介する。EzAAIは、原核生物の配列におけるAAIを迅速かつ正確に計算することができる。EzAAIツールはMMSeqs2プログラムをベースにしており、標準的なBLASTアルゴリズムで生成されたものとほぼ同じAAI値を計算するが、これらの評価の速度は大幅に改善されている。また、このパイプラインは、分類学的研究に不可欠なデンドログラムを作成するための階層的クラスタリングの機能も備えている。EzAAIは、スタンドアロンJAVAプログラムとして、http://leb.snu.ac.kr/ezaai からダウンロードできる。

 EzAAIのパイプラインは、抽出、計算、クラスタリングの3つのモジュールに分けられる(論文図1)。抽出モジュールでは,EzAAIはProdigalプログラムを用いて原核生物ゲノムからコーディング配列を事前に予測・抽出する。そして、これらの遺伝子配列は、MMSeqs2プログラムで使用されるデータベース形式に変換される。 計算モジュールは、MMSeqs2を使用して相互にヒットするプロファイルを作成することで、評価プロセスを高速化する。 MMSeqs2は、一対の原核生物ゲノムから抽出された予測アミノ酸配列を比較し、与えられたアミノ酸の同一性と長さのカバー率を持つ配列ペアを両方向から検索する。 これらのパラメータのデフォルト値は、先行研究(Nicholson et al., 2020)で利用されていた40%の同一性と50%のカバレッジとして与えられている。これらの有効なペアをSeqalign (Text ASN.1)形式で保存し、各ペアのアミノ酸配列の平均同一性を計算することで、ペアからAAI値を自動的に取得する。 EzAAIは、このプロセスに基づいて、原核生物の分類群からAAIm値のマトリックスをタブ区切りのテキスト形式とオプションのMatrix Market形式(-mtx)で作成する。 最後に、EzAAIは統合された階層クラスタリングモジュールを使用して、UPGMAを実装し、ペアワイズAAI値のマトリックスを生成する。 このようにしてAAIの計算プロセスを簡素化し、AAIマトリックスとUPGMAデンドログラムの大規模な計算をサポートし、Newickフォーマットのファイルも提供する。

 

HP

http://leb.snu.ac.kr/ezaai

Tutorial

http://leb.snu.ac.kr/ezaai/tutorial

 

インストール

mamba で環境を作ってテストした(macos10.14 , java 11 )。

依存

  • Java
  • Prodigal
  • MMseqs2

Github

上のHPリンク先からビルド済みの実行形式ファイル(EzAAI_latest.jar)をダウンロードする。

java -jar EzAAI_latest.jar

$ java -jar EzAAI_latest.jar 

 

 EzAAI - v1.0 [Mar. 2021]

 High Throughput Prokaryotic Average Amino acid Identity Calculator

 

 

 Please cite:

 Kim, D., Park, S. & Chun, J.

 Introducing EzAAI: a pipeline for high throughput calculations of prokaryotic average amino acid identity.

 J Microbiol. 59, 476–480 (2021).

 DOI: 10.1007/s12275-021-1154-0

 

 

 USAGE: java -jar EzAAI.jar <module> [<args>]

 

 

 Available modules

 Module Description

 extract Extract profile DB from genome using Prodigal

 convert Convert CDS FASTA file into profile DB

 calculate Calculate AAI value from profile databases using MMSeqs2

 cluster Hierarchical clustering of taxa with AAI values

 

 

 Miscellaneous

 Argument Description

 -nc No-color mode

 -nt No time stamps

 -v Go verbose

 -h Print help

> java -jar EzAAI_v1.2.2.jar calculate -h

 

 EzAAI - calculate

 Calculate AAI value from protein databases

 

 

 USAGE: java -jar EzAAI.jar calculate -i <INPUT_1> -j <INPUT_2> -o <OUTPUT> [-p <PROGRAM> -t <THREAD> -id <IDENTITY> -cov <COVERAGE> -mtx <MTX_OUTPUT>]

 

 

 Required options

 Argument Description

 -i First input protein DB / directory with protein DBs

 -j Second input protein DB / directory with protein DBs

 -o Output result file

 

 

 Additional options

 Argument Description

 -p Customize calculation program [mmseqs / diamond / blastp] (default: mmseqs)

 -t Number of CPU threads to use (default: 10)

 -id Minimum identity threshold for AAI calculations [0 - 1.0] (default: 0.4)

 -cov Minimum query coverage threshold for AAI calculations [0 - 1.0] (default: 0.5)

 -mtx Matrix Market formatted output

 -mmseqs Custom path to MMSeqs2 binary (default: mmseqs)

 -diamond Custom path to DIAMOND binary (default: diamond)

 -blastp Custom path to BLASTp+ binary (default: blastp)

 -makeblastdb Custom path to makeblastdb binary (default: makeblastdb)

> java -jar EzAAI_v1.2.2.jar extract -h

$ java -jar EzAAI_v1.2.2.jar extract -h

 

 EzAAI - extract

 Extract protein DB from prokaryotic genome sequence using Prodigal

 

 

 USAGE: java -jar EzAAI.jar extract -i <IN_SEQ> -o <OUT_DB> [-l <LABEL> -t <THREAD>]

 

 

 Required options

 Argument Description

 -i Input prokaryotic genome sequence

 -o Output protein database

 

 

 Additional options

 Argument Description

 -l Taxonomic label for phylogenetic tree

 -t Number of CPU threads - multi-threading requires ufasta (default: 1)

 -prodigal Custom path to prodigal binary (default: prodigal)

 -mmseqs Custom path to MMSeqs2 binary (default: mmseqs)

 -ufasta Custom path to ufasta binary (default: ufasta)

 

 

 ここではmamba(conda)で環境を作る。

mamba create -n ezaai -y
conda activate ezaai
mamba install -c bioconda -y prodigal
mamba install -c bioconda -y mmseqs2

 

 

テストラン

チュートリアルのデータとコマンドを使う。データはHPのチュートリアルからダウンロードする。

1、ゲノムのfastaからプロファイルDBの作成。

cd sample/
java -jar EzAAI_latest.jar extract -i fasta/Cn.fasta -o db/Cn.db -l "Clavibacter nebraskensis"
java -jar EzAAI_latest.jar extract -i fasta/Ci.fasta -o db/Ci.db -l "Clavibacter insidiosus"
java -jarEzAAI_latest.jar extract -i fasta/Mh.fasta -o db/Mh.db -l "Microbacterium hominis"
java -jar EzAAI_latest.jar extract -i fasta/Ma.fasta -o db/Ma.db -l "Microbacterium aurum"
java -jar EzAAI_latest.jar extract -i fasta/Lc.fasta -o db/Lc.db -l "Leucobacter chironomi"
java -jar EzAAI_latest.jar extract -i fasta/Lm.fasta -o db/Lm.db -l "Leucobacter muris"

* CDSからプロファイルを作成するにはextractコマンドを使う。

 

2、 AAIの計算。プロファイルDBのディレクトリを指定する。fastaなど無関係のファイルが存在するとエラーになる。

java -jar EzAAI_latest.jar calculate -i db/ -j db/ -o out/aai.tsv

out/にaai.tsvが出力される。オプション(-id, -cov)がある。

 

aai.tsv

f:id:kazumaxneo:20210509235536p:plain

 

3、マトリックスファイルから階層的クラスタリングを実行。

java -jar EzAAI_latest.jar cluster -i out/aai.tsv -o out/sample.nwk

 

icytreeで視覚化した。

f:id:kazumaxneo:20210510113917p:plain

 

引用
Introducing EzAAI: a pipeline for high throughput calculations of prokaryotic average amino acid identity

Dongwook Kim, Sein Park, Jongsik Chun

J Microbiol. 2021 May;59(5):476-480

 

関連