2024/03/22 追記
パンゲノム解析は、1つのクレード内の単離株間で遺伝子含有量のばらつきが大きいため、細菌ゲノム解析において不可欠となっている。細菌ゲノムコレクションからパンゲノムを構築するための多くの計算手法が存在するが、急速に増加するゲノムコレクションでは、スピードとスケーラビリティが依然として課題である。ここでは、細菌株のパンゲノムを構築・解析する効率的な手法であるPanTAを紹介する。PanTAは、現在の最先端の手法と比較して、前例のない10倍のスピードアップと2倍のメモリ効率を示すことを示す。さらに重要なことに、PanTAは、蓄積されたコレクションをゼロから再構築することなく、新しいサンプルを既存のパンゲノムに追加するプログレッシブなパンゲノム構築を可能にする。パンゲノムの漸進的な構築により、必要なメモリをさらに半分に減らすことができる。本著者らは、PanTAがRefSeqデータベースから収集した大腸菌のの28000以上の高品質ゲノムの全コレクションから大腸菌パンゲノムを構築できることを実証する。重要なことは、全解析が2日以内にラップトップコンピューターで実行されることであり、PanTAのスケーラビリティと実用性を強調している。
依存
- bedtools
- CD-HIT
- BLAST
- DIAMOND
- MCL
- pandas
- SeqIO
mamba create -y -c conda-forge -c defaults --name panta python=3.10
conda activate panta
git clone https://github.com/amromics/panta
cd panta/
mamba install -y -c conda-forge -c bioconda -c anaconda -c defaults --file requirements.txt #macosではリストのsra-toolsは削除して実行した。(後で別に導入した)。ubuntuでは削除は不要
pip install .
> panta -h
usage: panta [-h] {main,add} ...
positional arguments:
{main,add}
options:
-h, --help show this help message and exit
> panta main -h
usage: panta main [-h] [-g [GFF ...]] [-f TSV] -o OUTDIR [-s] [-b {diamond,blast}] [-i IDENTITY] [--LD LD] [--AL AL] [--AS AS] [-e EVALUE] [-t THREADS]
[--table TABLE] [-a [{nucleotide,protein} ...]]
Main pipeline: run pan-genome analysis for the first time
options:
-h, --help show this help message and exit
-g [GFF ...], --gff [GFF ...]
gff input files (default: None)
-f TSV, --tsv TSV tsv input file (default: None)
-o OUTDIR, --outdir OUTDIR
output directory (default: None)
-s, --dont-split dont split paralog clusters (default: False)
-b {diamond,blast}, --blast {diamond,blast}
method for all-against-all alignment (default: diamond)
-i IDENTITY, --identity IDENTITY
minimum percentage identity (default: 0.7)
--LD LD length difference cutoff between two sequences (default: 0)
--AL AL alignment coverage for the longer sequence (default: 0)
--AS AS alignment coverage for the shorter sequence (default: 0)
-e EVALUE, --evalue EVALUE
Blast evalue (default: 1e-06)
-t THREADS, --threads THREADS
number of threads to use, 0 for all (default: 0)
--table TABLE codon table (default: 11)
-a [{nucleotide,protein} ...], --alignment [{nucleotide,protein} ...]
run alignment for each gene cluster (default: None)
> panta add -h
usage: panta add [-h] [-g [GFF ...]] [-f TSV] -c COLLECTION_DIR [-s] [-b {diamond,blast}] [-i IDENTITY] [--LD LD] [--AL AL] [--AS AS] [-e EVALUE] [-t THREADS]
[--table TABLE] [-a [{nucleotide,protein} ...]]
Add pipeline: add sample into previous collection
options:
-h, --help show this help message and exit
-g [GFF ...], --gff [GFF ...]
gff input files (default: None)
-f TSV, --tsv TSV tsv input file (default: None)
-c COLLECTION_DIR, --collection-dir COLLECTION_DIR
previous collection directory (default: None)
-s, --dont-split dont split paralog clusters (default: False)
-b {diamond,blast}, --blast {diamond,blast}
method for all-against-all alignment (default: diamond)
-i IDENTITY, --identity IDENTITY
minimum percentage identity (default: 0.7)
--LD LD length difference cutoff between two sequences (default: 0)
--AL AL alignment coverage for the longer sequence (default: 0)
--AS AS alignment coverage for the shorter sequence (default: 0)
-e EVALUE, --evalue EVALUE
Blast evalue (default: 1e-06)
-t THREADS, --threads THREADS
number of threads to use, 0 for all (default: 0)
--table TABLE codon table (default: 11)
-a [{nucleotide,protein} ...], --alignment [{nucleotide,protein} ...]
run alignment for each gene cluster (default: None)
テストラン
パンゲノムを構築するにはGFFファイルを指定する(遺伝子アノテーションとfasta形式のゲノムアセンブリを含むGFF3)。テストでは4つのGFFファイルを指定している。
cd panta/
panta main -o examples/test/output -g examples/test/main/*.gff
mac mini2018で実行したところ、数秒で終了した。
output/
summary_statistics.txt
gene_presence_absence.csv
20スレッド使用、アラインメントフラクション0.5以上、MSAはprotein。
panta main -o PanTA -t 20 -g *.gff -a protein --AL 0.5 --LD 0.5
-
--AL alignment coverage for the longer sequence (default: 0)
-
--AS alignment coverage for the shorter sequence (default: 0)
-
-e EVALUE Blast evalue (default: 1e-06)
-
-t THREADS number of threads to use, 0 for all (default: 0)
プログレッシブモード
ゲノムを追加するにはpanta addコマンドを使う。panta mainの出力ディレクトリと追加したいGFFファイルを指定する。テストでは、先ほどとは異なる3つのGFFファイルを指定している。
panta add -c examples/test/output -g examples/test/add/*.gff
output/
summary_statistics.txt
コア遺伝子は減少した一方で、クラウド遺伝子は顕著に増加している。
論文より
- PanTAはRoary、PIRATE、Panarooなどの最近のパンゲノム手法と同様のクラスタリング戦略を採用している。
- PanTAは大規模ゲノムのパンゲノムを構築し、蓄積されたパンゲノムをゼロから再構築することなく、既存のパンゲノムに新しいゲノムを追加することを目的として開発された。このモードでは、PanTAはCD-HITスイートのCD-HIT-2Dを使用して、新しいサンプルから抽出された新しいタンパク質配列と既存のグループの代表配列をマッチングする。
- プログレッシブモードは、ゲノムのバッチを徐々にパンゲノムに追加していくことで、大規模なパンゲノムを構築する場合にも適用できる。プログレッシブモードにより、実行時間に影響を与えることなく、PanTAのメモリ使用量をさらに半分に削減できる(プログレッシブモードのPanTAでは、12000個の大腸菌ゲノムのパンゲノムを構築するのに16.6Gbのメモリしか必要としなかったが、シングルモードでは30.1Gbのメモリを使用した)。
- 図2で600、800、1500個の細菌ゲノムからのパンゲノム構築時間が比較されている。Roary、PIRATE、PanarooとPanTAの比較で、驚くべきことに、PanTAはRoaryの約14倍、次に優れたPanarooの約10倍と、競合する手法よりも大幅に高速だった。具体的には、緑膿菌の800ゲノムと肺炎桿菌の1500ゲノムのパンゲノム構築にそれぞれ0.168時間と0.207時間しかかかっていない。
引用
PanTA: An ultra-fast method for constructing large and growing microbial pangenomes
Duc Quang Le, Tien Anh Nguyen, Tam Thi Nguyen, Son Hoang Nguyen, Van Hoan Do, Canh Hao Nguyen, Huong Thanh Phung, Tho Huu Ho, Vo Sy Nam, Trang Nguyen, Hoang Anh Nguyen, Minh Duc Cao
bioRxiv, Posted July 03, 2023