- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
匹配DNA序列
DNA
DNA
匹配DDNNAA序列
08 14083901150
08 14083901150
0088 1144008833990011115500
信息学院 信工 雷 坚
一、 问题背景
DNA分子是生物的遗传物质,DNA序列比对生物信息学中基本的信息处理
方法,对于发现生物序列中的功能、结构和进化信息具有重要的意义。通过比较
生物分子 序列,发现它们的相似性,找出序列之间共同的区域,同时辨别序列
之间的差异。在分子生物学中,DNA或蛋白质的相似性是多方面的,可能是核
酸或氨基酸序列的相似,可能是结构的相似,也可能是功能的相似。一个普遍的
规律是序列决定结构,结构决定功能。研究序列相似性的目的之一是,通过相似
的序列得到相似的结构或相似的功能。研究序列相似性的另一个目的是通过序列
的相似性,判别序列之间的同源性,推测序列之间的进化关系。
二、 问题定义
基因中的DNA 和 RNA链是称为核苷酸的小单元组成的序列。为了回答某
些重要的研究问题,研究人员把基因串看作计算机科学的字符串 —也就是说,
可以忽略基因串的物理和化学性质,而将其想像成字符的序列。DNA由腺嘌呤
(A)、胞嘧啶(C)、胸腺嘧啶(T)和鸟嘌呤(G)组成的核苷酸双螺旋组成。DNA的双
螺旋彼此反向互补。A和T是互补的碱基对,C和G也是互补的碱基对。所以,
可以将一条 DNA 链想像成由字母A、C、G和T组成的字符串。
在计算机学科上来说,我们可以把一个DNA序列看成是一个字符串。说要
解决的问题如下:两个字符串序列,要求返回指定长度子序列在两条序列中出现
的位置元组,当然由于DNA分子序列数据很大,所以设计的算法应该足够快。
例:a=yabcabcabcz, b = xxabcxxxx,如果指定子序列长度为3,则应返
回子字符串abc在两个序列的开始位置的元组:[(1,2),(4, 2),(7,2)].
三、 问题分析
问题要求返回的是指定长度(k)的子字符串在两个字符串中出现的开始位
置,那么,这个子字符串必须同时属于两个字符串。所以我们的大致思路可以是
先将两个字符串的所以k长度的子字符串全部找出来,然后将两个字符串的子字
符串相比较,如果相同,则返回该子字符串在两个字符串中的开始位置。
但是按照上述思路,对于人类的DNA序列来说,把其中的一个碱基看成是
一个字符,那么将达到几百万的长度。也就是说一个字符序列有几百万个字符,
从程序设计角度来说,不管那种语言要操作这么长得一个字符串,而且还可能要
逐一求其k长度的字串,势必运行效率将变得很低。
根据以上分析,实现语言的选择将变得至关重要。Python 语言中有这样一个
特性:generator。Generator是一个函数发生器,由于要处理的数据很大,我们不
希望把它一次性全部放入内存中,而是希望将正在处理的一部分数据放入内存
中,这样就可以提高执行效率。
我们可以将问题分解为以下两步:
(1) 找出第一个字符序列的所有k 长度的子字符串,用一个Multidicts()存
储起来
(2) 当第二个字符序列每产生一个k 长度的子字符串时,查找其是否在
Multidicts()内,如果在,则执行有关操作返回这个字符串在两个字符序列中得位
置;如果不在,跳出当前循环。
以本文前面给出的例子推导:
(1) 分别找出字符串a, b的所以长度为3的子字符串集合:
Seta = {5592: [(2, bca), (5, bca)], 5617: [(8, bcz)], 6706: [(0, yab)], 5628:
[(3,cab), (6,cab)],5538:[(1,abc), (4,abc),(7,abc)]}
Setb=[(0,xxa), (1,xab), (2, abc), (3,bcx), (4,cxx), (5,xxx), (6,xxx)]
(2) 进行子字符串匹
您可能关注的文档
最近下载
- 《海尔平台化建设》ppt教案模板.ppt
- 九年级数学试卷讲评课.pptx
- 安徽凤阳经济开发区环境影响区域评估报告(环境影响区域评估+环境标准).pdf
- 危险货物道路输运押运人员从业资格考试模拟题及答案.doc VIP
- 八年级信息技术(下)Python期末考试试题及答案.docx VIP
- 小学英语五年级The little horse crosses the river课件.pptx
- 农行反洗钱与制裁合规知识竞赛考试题库大全-下(判断题).pdf VIP
- 甄嬛传英文剧本.docx
- 2022河南省家政服务业职业技能大赛母婴护理项目技术工作文件.pdf
- 2022八年级下学期信息技术期末考试(python).docx VIP
文档评论(0)