macでインフォマティクス

macでインフォマティクス

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

k-merを高速にカウントする KCMBT

 

アセンブル、リピート検出、エラー検出などNGSの多くの方法論においてk-merカウンタが使用されている。大規模なデータのk-mersを数えるには、非常に高速で効率的なアルゴリズムが必要となる。KCMBTは、このk-merカウント問題のためのアルゴリズム。KMC2より約30%、Jellyfish2より約6倍高速に動作するとされる。

 

インストール

Github

GitHub - abdullah009/kcmbt_mt: k-mer Counter based on Multiple Burst Trees (multi-threaded)

git clone https://github.com/abdullah009/kcmbt_mt.git
cd kcmbt_mt/
make
cd bin/

./kcmbt

$ ./kcmbt

Please specify input file

 

 

KCMBT (k-mer Counter based on Multiple Burst Trees) 1.0.0

=========================================================

Usage: 

./bin/kcmbt -k <k-mer length> -i <@file_listing_fastq_files or fastq_file> -t <number_of_threads>

Example: 

./bin/kcmbt -k 28 -i srr.fastq -t 4

Parameters: 

-k k-mer length (10 <= k <= 32, default 28)

-i input file in fastq format (start with @ if the file contains a list of fastq files)

-t number of threads (please use 2^x threads, x = 0, , 2, 3, ..)

 

 

./kcmbt_dump  #結果の出力コマンド

$ ./kcmbt_dump

./bin/kcmbt_dump number_of_threads_used_in_kcmbt

パスの通ったディレクトリにコピーしておく。

 

ラン

28-merのカウント

kcmbt -k 28 -i input.fq -t 8

全k-mer出力。kcmbtで指定したスレッド数をつける。

kcmbt_dump 8

 一定頻度のk-merのみ出力。ここでは10から 20の範囲内の頻度のk-mer。

kcmbt_query output 10 20

開いてみる。

 > head output 

$ head output 

AAAAAAAAAAAGCGAAGGTTAAATAACA 11

AAAAAAAAAAGCGAAGGTTAAATAACAA 11

AAAAAAAAACAATTAATTTTGGTGGAAA 20

AAAAAAAAACAGGCAATGATATCTCAAT 15

AAAAAAAAACGAATAGTGGGATACCAAA 16

AAAAAAAAACTATCCTTCTTTAGATCGA 18

AAAAAAAAACTGGGTCTAAAACCCCGTC 20

AAAAAAAAAGAAAAAAATTCCCCCCGCC 11

AAAAAAAAAGAAAAAACGAAAAGAAGTT 16

AAAAAAAAAGAAATAAAAGATAAGTCAG 18

カウントされている。右端が頻度。

 

引用

KCMBT: a k-mer Counter based on Multiple Burst Trees.

Mamun AA, Pal S, Rajasekaran S.

Bioinformatics. 2016 Sep 15;32(18):2783-90.