钱雨杰_董胤蓬_马也.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015 年清华大学“华罗庚杯”数学建模竞赛 承 诺 书 我们仔细阅读了清华大学数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们将受到严肃处理。 我们参赛的题目是: DNA 序列的k-mer index 问题 参赛队员 (打印并签名) :1. 钱雨杰 2. 董胤蓬 3. 马 也 日期:2015 年 4 月 26 日 后缀数据结构在解决多串匹配问题中的应用 摘 要 DNA 序列的分析与查询是现代生物学研究的重要问题,而k-mer 索引问题是其中的 一个难题。k-mer 索引问题实质是字符串多串匹配问题的一个实例。本文基于后缀数据 结构,提出了一种解决多串匹配问题的通用模型,并详细分析了该模型的时间、空间性 能。我们使用该模型进行了具体的实现,很好地解决了DNA 序列k-mer 索引问题,同 时将其与其他几种常用方法做了多角度的比较,并在本文中展示了实验结果。 对于 k-mer 索引问题,我们建立的模型中选取的后缀数据结构为后缀数组。在索引 建立方面,本文介绍了建立后缀数组的倍增算法和 DC3 算法,并通过建立字典树对后 缀数组结果进行预先分组以优化查询效率。在查询方面,本文充分利用后缀数组的有序 性,采用二分查找的算法。通过理论分析,该模型建立索引的时间、空间消耗与输入规 模呈线性关系,建立索引后一次k 长度的查询所需的时间为O(k log(NK )) ,并且能够同 时支持不同长度k 的查询。 我们使用C++ 语言实现了提出的模型,对100 万条长度为100 的DNA 序列进行了 多次测试,均能在合理的时间和规定的内存限制内完成建立索引过程,而且查询速度非 常快,基本满足了k-mer 索引问题的所有需求。最后,我们还对该问题在更大数据规模 下的解决方案进行了分析,指出了未来该模型的优化方向。 关键词 DNA 序列分析 算法 数据结构 后缀数组 字符串匹配 1 1. 问题描述 在生物学中,DNA 序列的k-mer 指的是一个长度为k 的DNA 序列 (k 为正整数), 它被广泛地应用于DNA 序列装配、序列对比、杂合率的测定等领域。例如某一DNA 序 S  k  5 列 CTGTACTGTAT ,给定一个正整数 ,则所有的5-mer 为{CTGTA ,TGTAC , GTACT ,TACTG ,ACTGT ,TGTAT }。 通常,这些k-mer 需要一种高效的数据索引方法,可以在其后的操作中快速访问。 例如,对5-mer 来说,当查询CTGTA ,通过这种数据索引方法,可返回其在DNA 序列 S 中的位置为{1,6 }。 现在,以文件形式给定100 万个 DNA 序列,序列编号为 1-1000000,每个基因序列 长度为100,要求如下: 1、要求对给定k , 给出并实现一种数据索引方法,可返回任意一个 k-mer 所在的 DNA 序列编号和相应序列中出现的位置。每次建立索引,只需支持一个k 值即可,不需 要支持全部k 值。 2 、要求索引一旦建立,查询速度尽量快,所用内存尽量小。 3、给出建立索引所用的计算复杂度,和空间复杂度分析。 4 、给出使用索引查询

文档评论(0)

JuanHuang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档