macでインフォマティクス

macでインフォマティクス

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

ラップトップで大量のゲノム比較を可能にする BinHash

 

 ゲノム(メタゲノムを含む)の数は急速に増加している。 近い将来、何百万ものゲノム間のペアワイズ距離を推定する必要があるかもしれない。 クラウドコンピューティングを使用しても、そのような推定を実行できるソフトウェアはほとんどない。マルチスレッドソフトウェアBinDashは、典型的なパーソナルラップトップだけを使用してそのような推定を実行できる。 BinDashは、既存のデータマイニング手法である最適な高密度化を使用して、bビットの1順列ローリングMinHashを実装した。 BinDashは、著者の評価によれば、精度、圧縮率、メモリ使用量、およびランタイムに関して、最先端のソフトウェアよりも経験的に優れている。 RefSeqのすべてのバクテリアゲノムについてDell Inspiron15 7559ノートブックを使用して評価を行った。

 

BinHashに関するツイート

Basically, compression of a genome is done as follows.

  1. All k-mers of each genome are selected and then transformed into hash values.
  2. The range of all possible hash values are partitioned into some bins.
  3. The smallest hash value in each bin is selected.
  4. If a bin is empty (i.e., has no hash values), then the smallest hash value from the next bin is picked. The definition of the next bin is proposed by Shrivastava.
  5. The lowest (i.e., least significant) b-bits of each hash value are picked to form the signature of the genome.

Githubより 

 

インストール

ubuntu18.04でテストした(docker使用。ホストOS mac os10.14)。

ビルド依存(macGIthub参照。GCC8が必要)。

  • any C++ compiler supporting the C++11 standard
  • CMake version 2.6 or plus
  • zlib

本体 Github

git clone https://github.com/zhaoxiaofei/bindash.git
cd bindash/
mkdir release && cd release
cmake -DCMAKE_BUILD_TYPE=Release ..
make

./bindash --help

# ./bindash --help

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

 

テストラン

cd bindash/benchmark/testdata/
bindash sketch --outfname=genomeA.sketch testgenome1.fna
bindash sketch --outfname=genomeB.sketch testgenome2.fna
bindash dist genomeA.sketch genomeB.sketch

出力 

testgenome1.fna testgenome2.fna 0.0000e+00 0.0000e+00 2048/2048

Program ran for 0 CPU seconds and 0 real seconds.

以下の項目が出力されている。

  • query genome (Q)
  • target genome (T)
  • mutation distance between Q and T
  • p-value for the mutation distance
  • Jaccard Index between Q and T

 

引用

BinHash, fast and precise genome distance estimation on a typical personal laptop

Zhao X

Bioinformatics. 2018 Jul 24

 

関連