macでインフォマティクス

macでインフォマティクス

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

大規模な微生物パンゲノムを構築し、ゲノムを追加することも可能な PanTA

2024/03/22 追記

 

 パンゲノム解析は、1つのクレード内の単離株間で遺伝子含有量のばらつきが大きいため、細菌ゲノム解析において不可欠となっている。細菌ゲノムコレクションからパンゲノムを構築するための多くの計算手法が存在するが、急速に増加するゲノムコレクションでは、スピードとスケーラビリティが依然として課題である。ここでは、細菌株のパンゲノムを構築・解析する効率的な手法であるPanTAを紹介する。PanTAは、現在の最先端の手法と比較して、前例のない10倍のスピードアップと2倍のメモリ効率を示すことを示す。さらに重要なことに、PanTAは、蓄積されたコレクションをゼロから再構築することなく、新しいサンプルを既存のパンゲノムに追加するプログレッシブなパンゲノム構築を可能にする。パンゲノムの漸進的な構築により、必要なメモリをさらに半分に減らすことができる。本著者らは、PanTAがRefSeqデータベースから収集した大腸菌のの28000以上の高品質ゲノムの全コレクションから大腸菌パンゲノムを構築できることを実証する。重要なことは、全解析が2日以内にラップトップコンピューターで実行されることであり、PanTAのスケーラビリティと実用性を強調している。

 

 インストール

依存

  • bedtools
  • CD-HIT
  • BLAST
  • DIAMOND
  • MCL
  • pandas
  • SeqIO

Github

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