2022/303/29 リンク修正、コマンド修正
ゲノムレベルでは、微生物は対立遺伝子と遺伝子組成の両方において高い適応性を持っている。このような遺伝的形質は、異なる環境ニッチに対応して出現し、微生物群集の動態に大きな影響を与える可能性がある。この結果、個々のゲノムやクローン集団は、「種」と定義されるものの全遺伝的多様性のごく一部に過ぎず、その集団から得られるものは、より広い範囲の遺伝的多様性を示すことになる。パンゲノムは、ゲノムをコアとなる領域(全てのゲノムに存在する領域し、ハウスキーピングと種レベルのニッチ適応を担当)とアクセサリー領域(一部のゲノムにのみ存在し、生態型の分岐に関与)に分割することで、微生物の進化や適応を研究する上で重要な概念である。
本発表では、メタゲノムアセンブリゲノム(MAG)を含む様々な品質の入力ゲノムからパンゲノムアセンブリを生成するアルゴリズム、SuperPangを紹介する。SuperPangは線形時間で実行され、その結果は完全で、冗長でなく、遺伝子順序を保持し、コーディング領域と非コーディング領域の両方を含んでいる。本アプローチは、オペロンやゲノムアイランドを特定し、異なる集団におけるそれらの有病率を追跡することを可能にし、パンゲノムのモジュラービューを提供する。Polynucleobacterの種内多様性を分析することによって、このアプローチを説明する。Polynucleobacterは、その合理的なゲノムとその生態的多様性によって特徴付けられるユビキタスな淡水微生物の一群である。SuperPangは、異なる環境圧力の下で、対立遺伝子と遺伝子内容の変異を同時に分析することを容易にし、微生物の多様化の要因を前例のない分解能で研究することを可能にすることを示す。
SuperPangは同じ種/mOTUの複数のゲノムを入力する。入力ゲノムは単離株やSAGやMAGを区別せず、異なるソース、異なる品質のゲノムを使用することができる。
SuperPangの実行結果は、drepなどのデレプリケーション手法で得られる代表ゲノムとは異なり、コアゲノムとアクセサリゲノムの両方を含む入力種の非冗長リファレンスアセンブリとなる。このアセンブリは、タンパク質コード配列、RNA遺伝子、その他の非コード要素を特定するために、Prodiga, Prokkaまたは SqueezeMeta などのツールでアノテーションすることができ、また遺伝子間領域に関する情報も保存され、潜在的な可能性として 種内の新しい非コード領域や制御領域の発見を可能にする。このアセンブリは、ショットガンメタオミックリードのほぼすべてを明確に採用するものである。コアだけでなく、インプットされた種に由来するバリアントコールも可能になる。また、リードマッピングにより、様々な アクセサリー遺伝子を集団間で比較することができる。このように、SuperPangアセンブラは、種内多様性の高解像度研究のための汎用的なツールである。以下では、その実装の詳細と また、その応用例として、いくつかの例を挙げている。(以下略)
New tool to exploring intra-species diversity-SuperPang! Work led by postdoc Fernando Puente-Sanchez with contributions from a few others in the Functional Microbial Ecology Group https://t.co/h13r20Fcon
— Stefan Bertilsson (@Stebe69) March 28, 2022
インストール
ubuntu18にてcondaで環境を作って導入した。
依存
- graph-tool, mOTUlizer v0.2.4, minimap2 and mappy.
#conda (link)
mamba create -n SuperPang -c conda-forge -c bioconda -c fpusan superpang
# Check that it works for you!
conda activate SuperPang
#pip (pypi)
pip install SuperPang
> SuperPang.py -h
usage: SuperPang.py [-h] -f FASTA [FASTA ...] [-q CHECKM] [-i IDENTITY_THRESHOLD] [-m MISMATCH_SIZE_THRESHOLD] [-g INDEL_SIZE_THRESHOLD] [-r CORRECTION_REPEATS] [-n CORRECTION_REPEATS_MIN] [-k KSIZE]
[-l MINLEN] [-c MINCOV] [-b BUBBLE_IDENTITY_THRESHOLD] [-a GENOME_ASSIGNMENT_THRESHOLD] [-x DEFAULT_COMPLETENESS] [-t THREADS] [-o OUTPUT_DIR] [--assume-complete]
[--minimap2-path MINIMAP2_PATH] [--keep-intermediate] [--verbose-mOTUpan] [--force-overwrite]
Create a consensus pangenome assembly from a set of bins/genomes from the same mOTU/species
optional arguments:
-h, --help show this help message and exit
-f FASTA [FASTA ...], --fasta FASTA [FASTA ...]
Input fasta files with the sequences for each bin/genome
-q CHECKM, --checkm CHECKM
CheckM output for the bins, or *.tsv file with bin and completeness for each bin
-i IDENTITY_THRESHOLD, --identity_threshold IDENTITY_THRESHOLD
Identity threshold (fraction) to initiate correction with minimap2
-m MISMATCH_SIZE_THRESHOLD, --mismatch-size-threshold MISMATCH_SIZE_THRESHOLD
Maximum contiguous mismatch size that will be corrected
-g INDEL_SIZE_THRESHOLD, --indel-size-threshold INDEL_SIZE_THRESHOLD
Maximum contiguous indel size that will be corrected
-r CORRECTION_REPEATS, --correction-repeats CORRECTION_REPEATS
Maximum iterations for sequence correction
-n CORRECTION_REPEATS_MIN, --correction-repeats-min CORRECTION_REPEATS_MIN
Minimum iterations for sequence correction
-k KSIZE, --ksize KSIZE
Kmer size
-l MINLEN, --minlen MINLEN
Scaffold length cutoff
-c MINCOV, --mincov MINCOV
Scaffold coverage cutoff
-b BUBBLE_IDENTITY_THRESHOLD, --bubble-identity-threshold BUBBLE_IDENTITY_THRESHOLD
Minimum identity (matches / alignment length) required to remove a bubble in the sequence graph
-a GENOME_ASSIGNMENT_THRESHOLD, --genome-assignment-threshold GENOME_ASSIGNMENT_THRESHOLD
Fraction of shared kmers required to assign a contig to an input genome
-x DEFAULT_COMPLETENESS, --default-completeness DEFAULT_COMPLETENESS
Default genome completeness to assume if a CheckM output is not provided
-t THREADS, --threads THREADS
Number of processors to use
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
Output directory
--assume-complete Assume that the input genomes are complete (--genome-assignment-threshold 0.95 --default-completeness 99)
--minimap2-path MINIMAP2_PATH
Path to the minimap2 executable
--keep-intermediate Keep intermediate files
--verbose-mOTUpan Print out mOTUpan logs
--force-overwrite Write results even if the output directory already exists
テストラン
test-SuperPang.py
SuperPang_test_output/
入力ゲノムセットからデフォルトではk=301でDe-Bruijnのアセンブリグラフが構築され(Graph-Toolが使われている)、直線状の配列(コアだけ、アクセサリだけ、全部)も出力されます。出力ファイルについてはGithubで説明されています。論文図3で提示されているように、コア遺伝子のcore.fastaを使えば、特定の種に特異的なゲノムアイランドが分かりやすくなり、全部の配列を使ってバリアント解析を行えば、サンプルの距離をリファレンス選択のバイアスが無い状態で調べられるようになるということでしょうか。
実行方法
SuperPang.py -o outdir -q checkM_result.tsv --fasta genome1.fasta genome2.fasta genome3.fasta ..
- -o Output directory
- -t Number of processors to use
- -f Input fasta files with the sequences for each bin/genome
- -q CheckM output for the bins, or *.tsv file with bin and completeness for each bin
- -i Identity threshold (fraction) to initiate correction with minimap2
- 入力ゲノムには、単離株のゲノム、MAG (Metagenome-Assembled Genomes)、SAG (Single-cell Assembled Genomes)を使用できる。
- -q/--checkm パラメータで各入力ゲノムの完全性推定値を提供することが推奨されている。入力ゲノムがすべて完全であることが確実な場合は、checkMの結果の代わりに、--assume-complete フラグを使用するか、--a/--genome-assignment-threshold および -x/--default-completeness パラメータを手動で調整することが可能。
- SuperPangのデフォルトのパラメータ値は、全ての入力ゲノムが同じ種に由来する(ANI>=0.95)ことを想定している。これは、-i/--identity_thresholdと-b/--bubble-identity-thresholdの値を予想されるANIに変更することで制御できる。しかし、SuperPangは現在のところ、種レベルのクラスタでしかテストされていない。
引用
Exploring intra-species diversity through non-redundant pangenome assemblies
Fernando Puente-Sanchez, Matthias Hoetzinger, Moritz Buck, Stefan Bertilsson
Posted March 27, 2022
関連