公開データベースに寄託される微生物ゲノムの数が増加しているため、多数のゲノムをゲノム距離という観点から比較することは、ますます困難になってきている。現在では、数百万から数十億のゲノム間のペアワイズ距離を推定する必要がある。このような比較を効率的に実行できるソフトウェアはほとんどない。
本論文では、1兆スケールでの超高速かつ高精度なゲノム検索と比較を実現するために、いくつかの新しいMinHashアルゴリズムと計算最適化(Simple Instruction Multiple Data, SIMDなど)を実装し、マルチスレッドソフトウェアBinDashを更新した。すなわち、SIMDによる最適化・高速化により、b-bit one-permutation rolling MinHashを実装した。BinDash 2では、0.1兆(または約10^11)組のゲノム比較を1.8時間(Descent computer cluster)または数時間(個人用ラップトップ)で行うことができる。BinDashによって推定されたANI(平均ヌクレオチド同一性)は、FastANIやアラインメントベースのANIのような、正確であるがはるかに遅いANI推定器とよく相関している。FastANIを用いた9万ゲノム(約10^9比較)の比較から得られた知見と一致し、BinDash2を用いた約10^11の原核生物ゲノムの比較においても、85%から95%のANIギャップは一貫しており、これは、種のような単位(例えば、95%以上のANI)を一緒に保つ基本的な生態学的および進化的な力を示している。BinDashはApache 2.0ライセンスで公開されている。
インストール
リリースからSIMDサポートのBinDash_Linux_x86-64_v2.1.tar.gzをダウンロードして使用した(ubuntu20使用)。
ビルド依存
本体 Github
wget https://github.com/jianshu93/bindash/releases/download/v2.1/BinDash_Linux_x86-64_v2.1.tar.gz
tar zxvf BinDash_Linux_x86-64_v2.1.tar.gz
chmod +x bindash
./bindash
#conda(link)
mamba install bindash -c bioconda -y
> bindash
.______ __ .__ __. _______ ___ ____. __ __
| _ \ | | | \ | | | \ / \ / | | | | |
| |_) | | | | \| | | .--. | / ^ \ | (--` | |__| |
| _ < | | | . ` | | | | | / /_\ \ \ \ | __ |
| |_) | | | | |\ | | '--' | / _____ \ .--) | | | | |
|______/ |__| |__| \__| |_______/ /__/ \__\ |____/ |__| |__|
👽👽👽
B-bit One-Permutation Rolling MinHash with Optimal/Faster
Densification for Genome Search and Comparisons.
Or Binwise Densified MinHash.
Usage:
./bindash <commmand> [options] [arguments ...]
Commands:
sketch: reduce mutiple genomes into one sketch.
A genome corresponds to a input sequence file.
A sketch consists of a set of output files.
dist: estimate distance (and relevant statistics) between
genomes in query sketch and genomes in target-sketch.
Query and target sketches are generated by the sketch command.
exact: estimate distance (and relevant statistics) between
genomes corresponding to input files.
Notes:
To see command-specific usage, please enter
./bindash command --help
To see version information, please enter
./bindash --version
The format for options is --NAME=VALUE
> bindash --version
バージョンを表示させると0.3と出る。
実行方法
1、ゲノムごとにsketchファイルの作成
bindash sketch --outfname=genomeA.sketch genomeA.fasta
bindash sketch --outfname=genomeB.sketch genomeB.fasta
ゲノムごとに.sketchと.sketch.txt、.sketch.datができる。
2、sketchファイルの比較
bindash dist genomeA.sketch genomeB.sketch
出力される内容
- クエリゲノム (Q)
- ターゲットゲノム (T)
- QとT間の変異距離
- 変異距離のp値
- QとT間のJaccard指数
実験と理論解析によると、スケッチサイズ(skethchsize64オプション)は、ANIが99.5%以上のゲノムペアに対して正確であるためには、188より大きくなければならない(実際のスケッチサイズは〜12,000より大きい)。
引用
BinDash 2.0: New MinHash Scheme Allows Ultra-fast and Accurate Genome Search and Comparisons
Jianshu Zhao, Xiaofei Zhao, Jean Pierre-Both, Konstantinos T. Konstantinidis
bioRxiv, Posted March 14, 2024.
関連