macでインフォマティクス

macでインフォマティクス

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

k-mer出現頻度を高速計算するntCard

2019 5/29 インストール追記

 

DSK、KmerStream、Khmer、kmerGenieなどより高速に動作するk-merカウントの方法論。原理は大きく異なるが、論文中での上記ツールとの比較では、kmerGenieより100倍以上高速に処理できている。

 

インストール

brewやcondaでインストールできる。

#bioconda
conda install -c bioconda -y ntcard

#homebrew
brew install ntcard

> ntcard --help

$ ntcard --help

Usage: ntcard [OPTION]... FILES...

Estimates the number of k-mers in FILES(>=1).

Accepatble file formats: fastq, fasta, sam, bam, gz, bz, zip.

 

 Options:

 

  -t, --threads=N use N parallel threads [1]

  -k, --kmer=N the length of kmer [64]

  -c, --cov=N the maximum coverage of kmer in output [64]

      --help display this help and exit

      --version output version information and exit

 

Report bugs to hmohamadi@bcgsc.ca.

 

実行方法

入力はfastq、fasta、sam、bamなど。

 

4スレッド使い32、64、96、128-merの頻度を計算。

ntcard -k32,64,96,128 input.fastq -t4
  • -k the length of kmer 

 -pを省略すると頻度ごとに別ファイル出力される。freq~というファイル名になる。

f:id:kazumaxneo:20171217114554j:plain

 -cで整数の指定がなければ、頻度が64までプリントされる。

F1はトータル、F0はユニークなk-merの合計と定義される。f1は頻度が1。 詳細はこの辺りを参考に

https://github.com/bcgsc/ntCard/issues/1

 

 

6スレッド使い複数フォーマットの同時計算。

ntcard -k64 -c100 -t6 file_1.fq.gz file_2.fa file_3.sam file_4.bam file_5.fq
  • -c the maximum coverage of kmer in output [64]
  • -t use N parallel threads [1]

 複数ファイルの結果は合算して出力される。

 

引用

ntCard: a streaming algorithm for cardinality estimation in genomics data

Mohamadi H, Khan H, Birol I

Bioinformatics. 2017 May 1;33(9):1324-1330

 

2019年のペーパーで他のツールと比較されています。

https://www.ncbi.nlm.nih.gov/pubmed/31015787