macでインフォマティクス

macでインフォマティクス

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

Minhashを使い、genomic DNA / proteinを高速比較する sourmash

 

 sourmashは、ゲノムデータのMinHash sketchesを作成、比較、操作するためのツールボックスである。MinHash sketchは、大規模なDNAまたはRNAシーケンスコレクションの"signatures"を保存し、Jaccard indexを使用してそれらを比較または検索するための軽量な方法を提供する。 MinHash sketchは、サンプルを同定し、類似のサンプルを見出し、共有配列を有するデータセットを同定し、系統樹を構築するために使用することができる(Ondov et al、2015)。sourmashはコマンドラインスクリプトPythonライブラリ、MinHashスケッチ用のCPythonモジュールを提供する。 

 

sourmash紹介

https://sourmash.readthedocs.io/en/latest/

document

https://sourmash.readthedocs.io/en/latest/tutorials.html

Using sourmash: a practical guide

https://github.com/dib-lab/sourmash/blob/master/doc/using-sourmash-a-guide.md

A sourmash tutorial(一番説明が丁寧)

2017-dibsi-metagenomics/sourmash.md at master · dib-lab/2017-dibsi-metagenomics · GitHub

 

インストール

mac os10.14のminiconda3-4.3.30環境でテストした。

本体 Github

#Anaconda環境で導入、バージョン指定しないとversion2が入る。
conda install -y -c bioconda

> sourmash -h

sourmash -h

usage: sourmash <command> [<args>]

 

Commands can be:

 

   compute <filenames>         Compute signatures for sequences in these files.

   compare <filenames.sig>     Compute distance matrix for given signatures.

   search <query> <against>    Search for matching signatures.

   plot <matrix>               Plot a distance matrix made by 'compare'.

 

   import_csv                  Import signatures from a CSV file.

.

 

work with RNAseq signatures

 

positional arguments:

  command

 

optional arguments:

  -h, --help  show this help message and exit

> sourmash search -h

$ sourmash search -h

# running sourmash subcommand: search

usage: sourmash [-h] [--threshold THRESHOLD] [-k KSIZE] [-f]

                query against [against ...]

 

positional arguments:

  query

  against

 

optional arguments:

  -h, --help            show this help message and exit

  --threshold THRESHOLD

  -k KSIZE, --ksize KSIZE

  -f, --force

> sourmash compute -h

$ sourmash compute -h

# running sourmash subcommand: compute

usage: sourmash [-h] [--protein] [--input-is-protein] [-k KSIZES]

                [-n NUM_HASHES] [-f] [-o OUTPUT] [--email EMAIL]

                filenames [filenames ...]

 

positional arguments:

  filenames

 

optional arguments:

  -h, --help            show this help message and exit

  --protein

  --input-is-protein

  -k KSIZES, --ksizes KSIZES

                        comma-separated list of k-mer sizes

  -n NUM_HASHES, --num-hashes NUM_HASHES

                        number of hashes to use in each sketch

  -f, --force

  -o OUTPUT, --output OUTPUT

  --email EMAIL

> sourmash compare -h

$ sourmash compare -h

# running sourmash subcommand: compare

usage: sourmash [-h] [-k KSIZE] [-o OUTPUT] signatures [signatures ...]

 

positional arguments:

  signatures

 

optional arguments:

  -h, --help            show this help message and exit

  -k KSIZE, --ksize KSIZE

  -o OUTPUT, --output OUTPUT

> sourmash plot -h

$ sourmash plot -h

# running sourmash subcommand: plot

usage: sourmash [-h] [--pdf] [--labels] [--indices] [--vmax VMAX]

                [--vmin VMIN]

                distances

 

positional arguments:

  distances    output from 'sourmash compare'

 

optional arguments:

  -h, --help   show this help message and exit

  --pdf

  --labels

  --indices

  --vmax VMAX

  --vmin VMIN

 

 

実行方法

 

ここではsourmash computeのコマンドのみ紹介する。fast-GePのテストゲノムを使う(Github)。

cd fast-GeP-master/Examples/E.faecalis/input_files/

sourmashを実行

sourmash compute *.fa
sourmash compare *.sig -o e_faecalis
sourmash plot --pdf --labels e_faecalis

出力 

f:id:kazumaxneo:20181117215516p:plain

f:id:kazumaxneo:20181117215514p:plain

引用

sourmash: a library for MinHash sketching of DNA

C. Titus Brown, Luiz Irber

Journal of Open Source Software, 1(5), 27

 

関連ツール