近年、リファレンスグレードのゲノムアセンブリは大幅に多様化している。このような豊富なデータにより、ゲノム間の配列保存に関する情報を提供し、種の進化に関する重要な知見に貢献するゲノムのシンテニーの検出を含む、スケーラブルな複数種の比較ゲノム解析のための堅牢なツールの開発が急務となっている。ntSyntは、最小化グラフベースのアプローチにより、大規模な複数ゲノムのシンテニーブロックを計算するスケーラブルなユーティリティである。ntSyntは、約3Gbpの複数のゲノムを用いて、34GBのメモリを用い、最大2時間で79-100%のカバー率を持つシンテニーブロックを生成する。既存の最先端手法と比較して、ntSyntは多様な入力ゲノム配列とシンテニーブロックの粒度に柔軟に対応できる。我々(著者ら)は、ntSyntが促進するマクロシンテニックゲノム解析が、生命のツリー全体にわたる種内および種間の重要な進化的洞察を生み出す上で、広範な有用性を持つことを期待している。
https://github.com/bcgsc/ntSynt/wiki/de-novo-statistics-summary
visualization
https://github.com/bcgsc/ntSynt/tree/main/visualization_scripts
インストール
依存
mamba create -n ntsynt python=3.9 -y
conda activate ntsynt
mamba install -c bioconda -c conda-forge ntsynt -y
git clone https://github.com/bcgsc/ntSynt.git
cd ntSynt/
./run_ntSynt_demo.sh
> ntSynt -h
usage: ntSynt [-h] -d DIVERGENCE [-p PREFIX] [-k K] [-w W] [-t T] [--fpr FPR] [-b BLOCK_SIZE] [--merge MERGE] [--w_rounds W_ROUNDS [W_ROUNDS ...]] [--indel INDEL] [-n] [--benchmark] [-f] [--dev] [-v] fastas [fastas ...]
ntSynt: Multi-genome synteny detection using minimizer graphs
positional arguments:
fastas Input genome fasta files
optional arguments:
-h, --help show this help message and exit
-d DIVERGENCE, --divergence DIVERGENCE
Approx. maximum percent sequence divergence between input genomes (Ex. -d 1 for 1% divergence).
This will be used to set --indel, --merge, --w_rounds, --block_size
See below for set values - You can also set any of those parameters yourself, which will override these settings.
-p PREFIX, --prefix PREFIX
Prefix for ntSynt output files [ntSynt.k<k>.w<w>]
-k K Minimizer k-mer size [24]
-w W Minimizer window size [1000]
-t T Number of threads [12]
--fpr FPR False positive rate for Bloom filter creation [0.025]
-b BLOCK_SIZE, --block_size BLOCK_SIZE
Minimum synteny block size (bp)
--merge MERGE Maximum distance between collinear synteny blocks for merging (bp).
Can also specify a multiple of the window size (ex. 3w)
--w_rounds W_ROUNDS [W_ROUNDS ...]
List of decreasing window sizes for synteny block refinement
--indel INDEL Threshold for indel detection (bp)
-n, --dry-run Print out the commands that will be executed
--benchmark Store benchmarks for each step of the ntSynt pipeline
-f, --force Run all ntSynt steps, regardless of existing output files
--dev Run in developer mode to retain intermediate files, log verbose output
-v, --version show program's version number and exit
Default parameter settings for divergence values:
< 1% divergence: --block_size 500 --indel 10000 --merge 10000 --w_rounds 100 10
1% - 10% divergence: --block_size 1000 --indel 50000 --merge 100000 --w_rounds 250 100
> 10% divergence: --block_size 10000 --indel 100000 --merge 1000000 --w_rounds 500 250
If any of these parameters are set manually, those values will override the above.
If you have any questions about ntSynt, please create a GitHub issue: https://github.com/bcgsc/ntSynt
テスト
git clone https://github.com/bcgsc/ntSynt.git
cd ntSynt/
./run_ntSynt_demo.sh
テストには線虫の染色体の一部が使われている。
実行方法
ゲノムを指定する。生のfastaファイルを受け付ける(gzip圧縮されているとエラーを起こす)。
ntSynt -d 5 assembly1.fa assembly2.fa assembly3.fa
- -d Approx. maximum percent sequence divergence between input genomes
出力例
メインの出力ファイルは<prefix>.synteny_blocks.tsvで、このTSVファイルに計算されたシンテニーブロックが記録される。TSVの列は以下の通り。
- synteny block ID - 同じIDを持つ行は同じsynteny blockの一部
- ゲノムファイル名
- ゲノム染色体/コンティグ
- ゲノム開始座標
- ゲノム終了座標
- 染色体/コンティグ鎖
- このシンテニブロックにマップされたミニマライザーの数
- 前のシンテニーブロックとの不連続の理由
(マニュアルより)
その他
- analysis_scripts/denovo_synteny_block_stats.pyスクリプトを使うと。計算されたsyntenyブロックのde novo統計量を高速に計算できる。
- visualization_scripts サブディレクトリのスクリプトを使って、計算されたsynteny ブロックを可視化できる。
引用
Multi-genome synteny detection using minimizer graph mappings
Lauren Coombe, Parham Kazemi, Johnathan Wong, Inanc Birol, René L. Warren
bioRxiv, Posted February 13, 2024.