1、第二章 数据搜索与两两比对 本章描述了 如何比对两条或多条相关核苷酸或多肽序列,如何比对两条或多条相关核苷酸或多肽序列,如何搜索存储序列信息数据库。如何搜索存储序列信息数据库。通过比对得到预测蛋白质、新基因结构和功效以及基因间、蛋白质间乃至物种之间进化关系主要信息。第1页第1页2.1 点阵图 评估两条序列相同度最简朴办法之一是利用点阵图点阵图。第一条被比较序列排列在点阵图空间横轴,第二条序列则排列在纵轴。点阵空间中两条序列中残基相同时,在相应位点上画上圆点,两条序列间连续相同区域在图中会形成由圆点构成上斜线。第2页第2页含有连续相同区域两条含有连续相同区域两条DNA序列简朴点阵图序列简朴点阵图
2、第3页第3页滑动窗口技术滑动窗口技术 使用滑动窗口滑动窗口代替一次一个位点比较是处理这 个问题有效办法。假设窗口大小窗口大小为10,相同度阈值相同度阈值为8,则每次比较取10个连续字符,如相同字符超出8个,则标识 基于滑动窗口点矩阵滑动窗口点矩阵办法能够明显地减少点阵图噪声,并且明确无误批示出了两条序列间含有明显相同性区域。第4页第4页(a)对人类()对人类(Homo sapiens)与黑猩猩()与黑猩猩(Pongo pygmaeus)球蛋白球蛋白基因序列进行比较完整点阵图。(基因序列进行比较完整点阵图。(b)利用滑动窗口对以上两种球蛋白基因)利用滑动窗口对以上两种球蛋白基因序列进行比较点阵图
3、,其中窗口大小为序列进行比较点阵图,其中窗口大小为10个核苷酸,相同度阈值为个核苷酸,相同度阈值为8。(a)(b)第5页第5页2.2 2.2 简朴比对简朴比对比对比对就是两条序列字符间简朴两两匹配。比对能够反应出两条或多条同源序列间进化关系.最简朴情况下即不考虑空位,当两条序列对比时,要做仅是为较短序列选择比正确起始点。第6页第6页考虑这样两条核苷酸序列:AATCTATA和AAGATA 仅有三种比对方式不考虑空位简朴比对,它打分函数是有对比奖励和罚分和来决定上例中三个比对从左至右分别是 4、1、3匹配得分:匹配得分:1失配得分:失配得分:0第7页第7页2.3 空位空位两条或多条序列比对时,假如
4、考虑到插入与删除时间发生地可能性,那么候选比对数量就会大大增加,也就造成了比正确复杂性。上节中两条核苷酸序列,在不考虑空位时仅有三种比对,而较短那条加入了两个空位后,变产生了28种不同比对,比如:等等第8页第8页2.3.1 简朴空位罚分简朴空位罚分对含有空位比对打分时,空位罚分空位罚分就必须包括到打分函数中,空位比正确简朴打分公式下列:比如:假设匹配得分为1,失配得分为0,空位罚分为-1三种空位比对得分从左至右分别是1、3、3第9页第9页2.3.2 起始罚分与长度罚分起始罚分与长度罚分使用简朴空位罚分对两条序列进行比对时,经常能找到若干同格式最优比对。进一步区别这些比正确办法是找出哪些比对包括
5、较多不连续空位,哪些包括较少长度较长空位片段。第10页第10页插入插入/删除事件删除事件假设两条序列长度分别是12和9假设这两条序列是真正同源序列,那么它们之间长度差别能够解释为(1)较长序列有核苷酸插入,或者(2)较短序列发生了核苷酸删除,或者(3)两者都发生了。在不知道原始父辈序列情况下,无法判断造成空位原因是由于一条序列插入事件还是另一条删除事件,通常把这类事件称为插入插入/删除事件删除事件。第11页第11页多联核苷酸插入删除事件插入删除事件相对于单个核苷酸来说会较经常发生。统计结果表明,两条序列长度上差别更也许是单个三联核苷酸插入删除事件造成,而多个不连续核苷酸插入删除事件也许性比较小
6、。空位罚分空位罚分由序列中产生新空位串引起起始罚分起始罚分和依据缺乏字符数而定长度罚分长度罚分。预设长度罚分小于起始罚分,以此建立打分函数便能奖励空位连在一起比对。第12页第12页假设起始罚分为-2,长度罚分为-1,匹配得分为+1,失配得分为0,则对于这三个比对,从左至右比对得分分别是-3,-1,+1在后两种比对在使用简朴空位罚分时,最终得分都是+3,现在却得到了不同分数。第13页第13页2.4打分矩阵打分矩阵正如空位罚分空位罚分能够奖励与进化相关比对,失配罚分失配罚分也能够用来进一步区别相同比对。统计结果表明,两条同源序列比对时,一些替换比其它替换常见多。例例:两条蛋白质序列,其中一条在某一
7、个位置上是丙氨酸,假如该位点被替换成另一个较小且疏水氨基酸,比如缬氨酸对蛋白质影响很小,假如被替换成较大且带电残基,比如赖氨酸,那么对蛋白质影响也许就会非常大。直观讲,比较保守替换比随机替换更也许维持蛋白质功效,更不容易被淘汰,因此在打分上更倾向于丙氨酸而不是赖氨酸。第14页第14页打分矩阵(打分矩阵(Scoring Matrix)核酸打分矩阵设DNA序列所用字母表为 =A,C,G,T a.单位矩阵 b.BLAST矩阵 c.转换-颠换矩阵(transition,transversion)(嘌呤:腺嘌呤A,鸟嘌呤G;嘧啶:胞嘧啶C,胸腺嘧啶T)ATCGA1000T0100C0010G0001AT
8、CGA5-4-4-4T-45-4-4C-4-45-4G-4-4-45ATCGA1-5-5-1T-51-1-5C-5-11-5G-1-5-51单位矩阵单位矩阵转换转换-颠换矩阵颠换矩阵BLAST矩阵矩阵第15页第15页PAM矩阵(矩阵(Point Accepted Mutation)基于进化点突变模型基于进化点突变模型 一个一个PAM就是一个进化变异单位就是一个进化变异单位,即即1%氨基酸改变氨基酸改变相对突变率相对突变率仅仅是某种氨基酸仅仅是某种氨基酸 被其它任意氨基酸替换次数被其它任意氨基酸替换次数比如:ma是指丙氨酸与非丙氨酸残基比正确次数,是指丙氨酸与非丙氨酸残基比正确次数,Ma为概率为
9、概率然而我们针对每个氨基酸对然而我们针对每个氨基酸对i 和和j,计算氨基酸,计算氨基酸j 被氨基酸被氨基酸i 替换次数替换次数 Aij比如:Acm 是被比对序列中,甲硫氨酸被半胱氨酸替换次数是被比对序列中,甲硫氨酸被半胱氨酸替换次数以以Aij除以除以ma 利用每个氨基酸出现频度对起进行原则化,得到利用每个氨基酸出现频度对起进行原则化,得到PAM-1矩阵矩阵中元素中元素Rij第16页第16页式中Mab为任意氨基酸b替换a概率式中pa为氨基酸a未被替换概率第17页第17页100个残基发生一次替换PAM-1矩阵第18页第18页针对不同进化距离采取PAM 矩阵序列相同度序列相同度=40%50%60%|
10、打分矩阵打分矩阵 =PAM120 PAM80 PAM 60PAM250 14%-27%第19页第19页2.5 动态规划动态规划:Needleman 和和 Wunsch 算法算法一旦选定了序列比对打分办法,就可认为寻找最佳比对设计算法了。最显而易见办法就是对每个也许比对进行穷举搜索,但这一般是不可行。我们可以用动态规划解决这个问题,即把一个问题分解成计算量合理子问题,并使用这些子问题结果来计算最后答案。S.Needleman与C.Wunsch初次运用动态规划办法来进行序列分析。第20页第20页假设两条序列:CACGA和CGA,使用统一空位空位和失失配罚分配罚分则:1、给第一条序列加一个空位 2、
11、给第二条序列加一个空位 3、两条序列都不加空位第21页第21页假如知道了ACGA与GA最正确比正确得分,就能够马上计算出表中第一行得分。一样地,假如知道了表中第二、第三行剩下序列最正确比正确得分,就能够计算出起始位点不同三种比对得分。动态规划算法经过计算部分序列比对得分并填入一个表格,直到整个序列比对被计算出来,由此得到最优比对。第一位点 得分待对比剩余序列CC+1ACGAGA-C-1CACGAGAC-1ACGACGA(匹配得分为1,失配得分为0,空位罚分为-1)第22页第22页动态规划动态规划比对ACAGTAG与ACTCG空位罚分为-1匹配奖励为+1失配得分为 00-1-2-3-4-5-1-
12、2-3-4-5-6-7 A C T C GACAGTAG用空位罚分倍数对用空位罚分倍数对表格第一行与第一表格第一行与第一列进行初始化列进行初始化第23页第23页填充表格填充表格0-1-2-3-4-5-1-2-3-4-5-6-7 A C T C GACAGTAG表格中表格中横向移动横向移动表示在表示在纵轴序列中加入一个空纵轴序列中加入一个空位位纵向移动纵向移动表示在横轴序表示在横轴序列中加入一个空位列中加入一个空位斜对角向移动斜对角向移动表示两序表示两序列各自相应核苷酸进行列各自相应核苷酸进行了比对了比对横向移动横向移动纵向移动纵向移动斜对角向移动斜对角向移动第24页第24页0-1-2-3-4-
13、5-1-2-3-4-5-6-7 A C T C GACAGTAG-1-1=-2,表示在横向序列中插,表示在横向序列中插入一个空位,然后与纵向序列入一个空位,然后与纵向序列中中A比较,空位罚分比较,空位罚分-1。-1-1=-2,表示在纵,表示在纵向序列中插入一个向序列中插入一个空位,然后与横向空位,然后与横向序列中序列中A比较,空比较,空位罚分位罚分-1。0+1=1,表示两序,表示两序列第一个列第一个A进行对进行对比,匹配奖励比,匹配奖励1。-2-2-2-21 11第25页第25页0-1-2-3-4-5-1-2-3-4-5-6-7 A C T C GACAGTAG1-1=0,表示在横向序列中插入
14、,表示在横向序列中插入一个空位,然后与纵向序列中一个空位,然后与纵向序列中C比较,空位罚分比较,空位罚分-1。-2-1=-3,表示在纵,表示在纵向序列中插入一个向序列中插入一个空位,然后与横向空位,然后与横向序列中序列中A比较,空比较,空位罚分位罚分-1。-1+0=-1,表示横向,表示横向序列序列A与纵向序列与纵向序列C进行比较,失配得进行比较,失配得分分0。-3-3-1-110 00第26页第26页0-1-2-3-4-5-1-2-3-4-5-6-7 A C T C GACAGTAG-2-1=-3,表示在横向序列中插,表示在横向序列中插入一个空位,然后与纵向序列入一个空位,然后与纵向序列中中A
15、比较,空位罚分比较,空位罚分-1。1-1=0,表示在纵,表示在纵向序列中插入一个向序列中插入一个空位,然后与横向空位,然后与横向序列中序列中C比较,空比较,空位罚分位罚分-1。-1+0=-1,表示横向,表示横向序列序列C与纵向序列与纵向序列A进行比较,失配得进行比较,失配得分分0。0 0-1-11-3-300第27页第27页0-1-2-3-4-5-1-2-3-4-5-6-7 A C T C GACAGTAG0-1=-1,表示在横向序列中插入,表示在横向序列中插入一个空位,然后与纵向序列中一个空位,然后与纵向序列中C比较,空位罚分比较,空位罚分-1。0-1=-1,表示在纵,表示在纵向序列中插入一
16、个向序列中插入一个空位,然后与横向空位,然后与横向序列中序列中C比较,空比较,空位罚分位罚分-1。1+1=2,表示横向,表示横向序列序列C与纵向序列与纵向序列C进行比较,匹配奖进行比较,匹配奖励励1。-1-1100-1-12 22 第28页第28页0-1-2-3-4-5-110-1-2-3-20210-1-3-11210-4-20122-5-3-1112-6-4-2011-7-5-3-102A C T C GACAGTAG为了利用打分表重建比对重建比对,需要找出一条由表格中最右下角到最左上角路径!动态规划动态规划第29页第29页途中箭头批示了部分打分表中合法路径,每条路径代表若干等价最优比对路
17、径自右下至左上排列自来分别是 依据这条线路,能够重建比对,能够得到下列这个得分为2最优比对0-1-2-3-4-5-110-1-2-3-20210-1-3-11210-4-20122-5-3-1112-6-4-2011-7-5-3-102A C T C GACAGTAG第30页第30页2.6 全局对比与局部比对全局对比与局部比对2.6.1 准所有比对准所有比对到当前为止,所有讨论基本比对算法仅是做了全局比全局比对对。而比对两序列时,这并不总是可取。假如从AAACACGTGTCT中搜寻段序列ACGT。在若干种两序列比对中,我们需要是区别看待末端空位与序列内部空位这种比对称为准全局比对准全局比对 (
18、semiglobal alignment)第31页第31页准全局比对准全局比对(1)通过初始化部分打分表,表格第一行与第一列为零;(2)允许表格最后一行与一列横向与纵向移动不被罚分;Needleman 和和 Wunsch 算法改进算法改进(准全局比对)(准全局比对)第32页第32页2.6.2 Smith-Waterman算法算法准全局比对有时有点不能为序列搜索提供所需适应性需要进行局部比对局部比对比如:两条序列 AACCTATAGCT 和 GCGATATA,用准全局比对算法,空位罚分为-1,匹配奖励为+1,失配得分为-1,得:第33页第33页局部比对时,表中小于零位置用零代替局部比对时,表中小
19、于零位置用零代替AACCTATAGCT GCGATATA A A C C T A T A G C T第34页第34页2.6.2 Smith-Waterman算法算法局部比对局部比对1981年,由F.Smith 和 M.Waterman初次提出;动态规划办法通过较少改动便能够用来辨认匹配子序列,并且忽略匹配区域之前或之后失配和空位;局部比对时,表中小于零位置用零代替;得到局部比对代表了被比两条序列间最佳匹配子序列;局部比对办法能够辨认子序列匹配,而这是全局与准全局比对不也许做到。第35页第35页2.72.7数据库搜索数据库搜索尽管序列比对是比较两条已知序列极为主要工具,然而序列比正确更为常见用途
20、是用来搜索大量序列数据库,以找到与特定序列相同那些序列。在数据库搜索过程中,由于被搜索序列很长,并且数量巨大,用简朴而直接办法将数据库中每条序列与查询序列进行比对并返回得分最高序列难以奏效。作为替换办法,各种索引办法与启发方式被用来加快搜索过程,即使不能确保与查询序列比正确最好,但是能返回大部分与查询序列比对较好,并且这些办法效率很高。第36页第36页2.7.1 BLAST及其家族及其家族序列数据库搜索最著名且惯用工具之一是BLAST算法,原始BLAST算法是通过搜索序列数据库来找出最优空间局部比对。BLASTP是BLAST算法一个变种为了有效地搜索大型数据库,BLASTP首先将查询序列打坏成
21、一个个单词,查询序中所有也许单词是通过查询序列上滑动与单词等长窗口来得到。除了BLASTP,尚有BLASTN和BLASTX等等.第37页第37页BLASTP搜索算法概述搜索算法概述第38页第38页2.7.2 FASTA及其相关算法及其相关算法FASTA算法及家族组员能够进行序列间含空位局部比对。FASTA搜索非常细致,需要时间也长多。FASTA搜索也是将搜索序列打坏成单词。第39页第39页对于氨基酸序列FAMLGFIKYLPGCM,假设单词长度为1,那么:目的序列TGFIKYLPGACT,那么对照表格发觉,甘氨酸(G)在第一个表中位置为5、12,在第二个表中为-4、3,再观测其它出现了诸多距离
22、为3情况,这一现象暗示了一个也许合理比对。通过两条序列偏移表,即可发觉相同区域。单词ACDEFGHIKLMNPQRSTVWY位置2131578431196121014123456789101112TGFIKYLPGACT3-2333-33-4-8210333第40页第40页2.7.3 2.7.3 数据库搜索比对得分与统计明显性数据库搜索比对得分与统计明显性数据库搜索引擎普通都为每个搜索结果提供P得分和E得分加入搜索结果比对得分为S,那么P和和E得分得分指是用于随机找出一条或多条序列,比对得分不小于等于S也许性。P与E值比较低阐明该结果与查询序列含有进化上关系。第41页第41页2.8 2.8 多
23、重序列比对多重序列比对 (multiple sequence alignment)到当前为止,所讨论比对算法都是为进行序列两两比较而设计,然而同时比对多条序列也是很主要。当统计一组序列替换率时,多重序列比对通常比两两比对更适当,因为多重比对尽也许地多考虑到了序列中空位。多重比对对于打分矩阵建立也很主要,比如本章前面讨论PAM与BLOSUM矩阵。第42页第42页但是由于伴随比对序列数量增大,多重比对算法复杂度呈指数级增长,就算是使用超级计算机或者工作站分布式网络,要对20条以上含有普通长度与复杂度序列进行比对,仍是非常棘手问题。因此,利用启发式比对办法启发式比对办法被提出来,这类办法不能确保产生
24、一个最优比对,但是能找出一个近似最优比对。第43页第43页本章总结本章总结两条或多条基因或氨基酸序列间比对序列间比对代表着一个相关这些序列从共同祖先开始进化路径假设。尽管真正进化路径无法被明确无误推断出,但序列比对算法能够辨认随机发生率很低那些比对,各种技术能够用来左右打分函数,比如PAM与BLOSUM。Needleman与 Wunsch首先提出全局比对算法全局比对算法以及Smith与Waterman 提出局部比对算法局部比对算法已经成为了众多数据库搜索算法基础,包括 BLASTX 等工具。这些算法利用了索引、启发式和快速比较等技术,使得整个数据库中序列能与查询序列在很短时间内完毕。第44页第44页课堂练习课堂练习P47:2.2 在图纸上绘出下列两条序列简朴点阵图。将序列沿各自坐标轴放置,为每个相同核苷酸对在图上画上圆点:GCTAGTCAGATCTGACGCTA GATGGTCACATCTGCCGC 标明点阵图上相同区域第45页第45页课后作业课后作业P48:2.3 2.4 2.5 2.6第46页第46页