这些不是你在寻找的k-mer:利用概率数据结构进行高效的在线k-mer计数。
摘要:K-mer abundance analysis 在核苷酸序列分析中,K-mer丰度分析被广泛用于许多目的,包括对于去循环装配、重复检测和测序覆盖估计的数据预处理。我们提出了一种名为khmer的软件包,用于在测序数据集中对K-mer进行快速和高效的在线计数。与基于数据结构(如哈希表、后缀数组和字典树结构)的先前方法不同,khmer完全依赖于一个简单的概率数据结构 - 计数最小笔记(Count-Min Sketch)。Count-Min Sketch允许在内存中进行在线更新和检索K-mer计数,这对于支持在线K-mer分析算法是必要的。在稀疏数据集上,这种数据结构比任何精确数据结构都更具内存效率。但是,使用Count-Min Sketch会导致K-mer存在系统性过多计数的问题,而且只存储计数,不存储K-mer本身。在本文中,我们分析了khmer用于生成K-mer频率分布和检索单个K-mer计数的速度、内存使用和错计数率。我们还将khmer的性能与多个其他K-mer计数软件包进行了比较,包括Tallymer、Jellyfish、BFCounter、DSK、KMC、Turtle和KAnalyze。最后,我们在khmer高错误阳性率的情况下,检验了测序错误的分析、K-mer丰度修剪和读取的数字正常化的有效性。khmer采用C++实现,并在Python接口中包装,提供经过测试和稳定的API,在BSD许可下免费提供,可在github.com/ged-lab/khmer获取。
作者:Qingpeng Zhang, Jason Pell, Rosangela Canino-Koning, Adina Chuang Howe, C. Titus Brown
论文ID:1309.2975
分类:Genomics
分类简称:q-bio.GN
提交时间:2014-08-07