- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于DNA序列k-merindex问题的改进Hash函数多线程算法.PDF
关于DNA 序列k-mer index 问题的改进Hash 函数
多线程算法
1 1 1
黄恒意 许仁杰 张艺辉
指导教师:数模教练组1,2
1 复旦大学数学科学学院,上海200433
2 上海市现代应用数学重点实验室,上海200433
摘 要
本文通过字符串匹配的形式解决了DNA 序列的k-mer index 问题。
最简单的方法是字典树,然而这种用空间换时间的算法只能适用于较小的k 。
我们尝试了KMP 算法,这是一种利用需要匹配的DNA 序列自身的特点进
行查找的算法,其占用内存大约为100MB,单次查找的时间复杂度为O(NL) (其
中L 为DNA 序列长度,N 为数据规模) ,但是这种算法在用于多次查找时,时间
复杂度过高。
所以我们采取了Hash 算法,利用4 进制数,对固定的k ,将长度为k 的子
序列进行分类,以此建立索引。这种方法对较小的k 是适用的,但是对较大的k ,
由于数值太大导致存储量过大、计算速度太慢,此时可采用按大素数取模的方法
来分类。而这又有可能使许多不同的数放在同一类中,所以我们还需要利用另一
个大素数将同一类中的数作进一步分离。经过对给定数据的测试,最多只需要用
3 个大素数就可以对这组DNA 序列进行完全分离。经过改进的Hash 算法查询搜
索的计算复杂度为O(1) ,查询搜索的时间基本上远小于1 ms ,建立索引的计算
复杂度为O(NL) ,建立索引的时间平均为8 s 。空间复杂度为O(NL) ,实际占用
内存1GB 左右。然后我们分别采用随机生成的DNA 模拟数据、将原始DNA 序
列错位排列两种方法来检验Hash 算法的实用性,发现建立索引的时间最大仍不
超过12 s,所以改进后的Hash 算法是一种高效实用的算法。
鉴于Hash 算法对原始DNA 序列使用的内存远低于8GB,采取多线程的方
法可以加快建立索引的速度,建立索引的时间降低到原来的2/3 左右,占用的内
存则增加到原来的2 倍左右。同样采用随机生成的DNA 模拟数据和将原始DNA
序列错位排列两种方法检验多线程 Hash 算法,结果表明多线程 Hash 算法在存
储空间不超过8GB 的条件下可以有效地减少建立索引的时间。
最后,以DNA 序列长度和数据规模作为控制变量进行测试,发现对更大规
模的DNA 序列,改进后的Hash 算法仍然适用。
关键词:k-mer index ;Hash 函数;素数;分类;多线程
本文得到国家基础科学人才培养基金的资助,项目号J 1103105
一、 问题的重述与分析
这个问题来自 DNA 序列的k-mer index 问题。
给定一个 DNA 序列,这个系列只含有 4 个字母 ATCG ,如 S =
“CTGTACTGTAT ”。给定一个整数值k ,从S 的第一个位置开始,取一连续k
个字母的短串,称之为k-mer (如k= 5 ,则此短串为CTGTA ),然后从S 的第二
个位置,取另一k-mer (如k= 5 ,则此短串为TGTAC ),这样直至S 的末端,就
得一个集合,包含全部k-mer 。
对上述序列S 来说,所有5-mer 为
{CTGTA,TGTAC,GTACT,TACTG,ACTGT ,TGTAT}
通常这些k-mer 需一种数据索引方法,可被后面的操作快速访问。例如,对
5-mer 来说,当查询CTGTA,通过这种数据索引方法,可返回其在DNA 序列S
中的位置为{1,6}。
k-mer index 问题本质上就是一个字符串匹配问题,对于字符串匹配问题一般
采用KMP 算法[1]和Hash 函数[4]来解决。
二、符号定义与说明
B[i] ,B(i) : DNA 片段B 的第i 个字母
B[i..j] ,B(i..j) :DNA 片段B 的第i 个字母到第j
您可能关注的文档
最近下载
- 测测达人试题认证心理学试题部分.docx
- 部编人教版《道德与法治》三年级下册全册教案.pdf VIP
- 医疗质量信息数据内部验证制度.docx VIP
- 面试技巧培训讲义(PPT-159页).ppt VIP
- 粤24GT013 螺锁式连接预应力混凝土方桩.pdf
- 轮机管理 (三级轮机长)考试复习题库资料(360题).pdf
- 2022年四川省内江市中考道德与法治(政治)试卷真题 (含答案详解,word首发版)+2021年试卷及答案.docx
- 口腔固定修复数字化模型制作技术规范.pdf
- 义务教育版(2024)六年级全一册信息科技 第26课 倒车防撞请注意 教案.docx VIP
- 密码学概述课件.pptx VIP
文档评论(0)