对于基因组组装而言,kmer count是最基础的分析内容之一,传统的kmer count工具在kmer长度小于32时,有着较好的性能,但是对于较大长度的kmer, 内存消耗和运行速度都差强人意。随着测序读长的不断增加,一款能够支持较大kmer的计数,而且性能良好的工具就显得非常的有必要。
Gerbil就是这样的一款工具,除了在算法上进行优化外,还引入了GPU加速,进一步加强其性能,对应文献链接如下
https://almob.biomedcentral.com/articles/10.1186/s13015-017-0097-9
在文献中列举出了以下几款kmer count工具
Jellyfish
BFCounter
DSK
KMC
Turtle
MSPKmerCounter
KCMBT
这些工具对于长度大于32的kmer, 性能都没有Gerbil好。对于hg38基因组,各个软件的运行速度比较如下
随着kmer长度的增加,Gerbil 的运行时间始终是最快的,其中的gGerbil
代表GPU加速版的Gerbil。
软件的github链接如下
https://github.com/uni-halle/gerbil
安装过程如下
git clone https://github.com/uni-halle/gerbil.gitcd gerbilmkdir buildcd buildcmake ..make
基本用法如下
gerbil -k 32 input.fasta temp_dir output_dir
-k
参数指定kmer的长度,input.fasta
代表输入序列文件,temp_dir
代表临时文件的目录,output_dir
代表输出文件的目录。和jellysifh不同,Gerbil支持多种输入文件格式
fastq/fasta
fastq.gz/fasta.gz
fastq.bz2/fasta.bz2
stdin
txt
支持fastq和fasta两种格式,也支持g和b两种压缩格式,还可以从标准输入流读取文件,甚至可以是一个txt文件,每一行是一个文件路径,这样就可以,一次处理多个输入文件。
软件的输出文件是二进制文件,可以通过toFasta
命令转换为纯文本格式。
更多参数和用法参考github上的说明文档。