求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

序列比对查看源代码讨论查看历史

跳转至: 导航搜索
序列比对

中文名: 序列比对

外文名: sequence alignment

理论基础: 进化学说

用 途: 语言进化的研究

重要性: 对算法的研究具有非常重要的意义

序列比对,指为确定两个或多个序列之间的相似性以至于同源性,而将它们按照一定的规律排列。

将两个或多个序列排列在一起,标明其相似之处。序列中可以插入间隔(通常用短横线“-”表示)。对应的相同或相似的符号(在核酸中是A, T(或U), C, G,在蛋白质中是氨基酸残基的单字母表示)排列在同一列上。

这一方法常用于研究由共同祖先进化而来的序列,特别是如蛋白质序列或DNA序列等生物序列。在比对中,错配与突变相应,而空位与插入或缺失对应。序列比对还可用于语言进化或文本间相似性之类的研究。

术语“序列比对”也指构建上述比对或在潜在的不相关序列的数据库中寻找significant alignments。

序列比对、全局比对、局部比对、多重序列比对、blast算法基础

以下我会详细描述序列比对(alignment)的概念,包括全局比对、局部比对、双重序列比对、多重序列比对、基因组比对、blast的算法基础和思想。

序列比对是将两个或多个序列排列在一起,标明其相似之处。使用间隔表示未比对上,比对上的相同或相似的符号排列在同一列上。序列比对是生物信息学以及基因组学

与进化的基础之一,其基本思想是:在生物学中普遍存在的序列决定结构、结构决定功能的规律,通过将核酸序列或者蛋白质序列的一级结构看成由基本字符构成的字符串,通过序列比对我们可以找到相似的序列并由此发现生物序列中的功能、结构和进化信息。

全局比对:全局比对是指将参与比对的两条序列里面的所有字符进行比对。全局比对在全局范围内对两条序列进行比对打分,找出最佳比对,主要被用来寻找关系密切的序列。其可以用来鉴别或证明新序列与已知序列家族的同源性,是进行分子进化分析的重要前提。其代表是Needleman-Wunsch算法。

局部比对:与全局比对不同,局部比对不必对两个完整的序列进行比对,而是在每个序列中使用某些局部区域片段进行比对。其产生的需求在于、人们发现有的蛋白序列

虽然在序列整体上表现出较大的差异性,但是在某些局部区域能独立的发挥相同的功能,序列相当保守。这时候依靠全局比对明显不能得到这些局部相似序列的。其次,在真核生物的基因中,内含子片段表现出了极大变异性,外显子区域却较为保守,这时候全局比对表现出了其局限性,无法找出这些局部相似性序列。其代表是Smith-Waterman局部比对算法。

双重序列比对:双序列比对是指对两条序列M和N进行比对,找到其相似性关系,这种寻找生物序列相似性关系的过程被称为双序列比对。其算法可以主要分成基于全局比对的Needleman-Wunsch算法和基于局部比对的Smith-Waterman局部比对算法

多重序列比对:多序列比对是双序列比对推广,即把两个以上字符序列对齐,逐列比较其字符的异同,使得每一列字符尽可能一致,以发现其共同的结构特征的方法称为多序列比对。多序列比对算法可以分成渐进法和同步法。其可以发现不同的序列之间的相似部分,从而推断它们在结构和功能上的相似关系,主要用于分子进化关系,预测蛋白质的二级结构和三级结构、估计蛋白质折叠类型的总数,基因组序列分析等。

基因组比对:是多序列比对的一种特例,指对基因组范围内的序列信息进行比对的过程。通过对不同亲缘关系物种的基因组序列进行比较,能够鉴定出编码序列、非编码调控序列及给定物种独有的序列。而基因组范围之内的序列比对,可以了解不同物在核苷酸

组成、同线性关系和基因顺序方面的异同,进而得到基因分析预测与定位、生物系统发生进化关系等方面的信息。

BLAST:BLAST[1](Basic Local Alignment Search Tool)是在在1990年由Altschul等人提出的双序列局部比对算法,是一套在蛋白质数据库或DNA数据库中进行相似性比较的分析工具。BLAST是一种启发式算法,用于在大型数据库中寻找比对序列,是一种在局部比对基础上的近似比对算法,可以在保持较高精度的情况下大大减少程序运行的时间。

算法思想描述:

双重序列比对主要分成以Needleman-Wunsch算法为代表的全局比对和以Smith-Waterman局部比对算法为代表的局部比对,BLAST是局部比对的一种推广。多重比对算法可以主要分成动态规划算法、随机算法、迭代法和渐进比对算法。

(1)双重序列比对:

Needleman-Wunsch算法:该算法是基于动态规划思想的全局比对的基本算法,动态规划的比对算法的比对过程可以用一个以序列S为列,T为行的(m+1)×(n+1)的二维矩阵来表示,用sigma表示置换矩阵,则上述二维矩阵中的每个单元代价值由如下公式递归计算:

在计算完矩阵后,从矩阵的右下角单元到左上单元回溯最佳路径(用箭头表示),根据最佳路径给出两序列的比对结果。其中,斜箭头表示2个残基匹配,水平箭头表示在序列S的相应位置插入一个空位,垂直方向的箭头表示在序列T的相应位置插入一个空位。示意图如下:

Smith-Waterman算法:该算法是一种用来寻找并比较具有局部相似性区域的动态规划算法,这种算法适用于亲缘关系较远、整体上不具有相似性而在一些较小的区域上存在局部相似性的两个序列。该算法的基本思想是:使用迭代方法计算出两个序列的相似分值,存在一个得分矩阵

M中,然后根据这个得分矩阵,通过动态规划的方法回溯找到最优的比对序列。与全局比对相比,这种算法的改变是把矩阵单元值为负者一律取为0,这是因为分值为负的比对丧失了比对的生物学意义,因此把得分为负值的子序列丢弃。述二维矩阵中的每个单元代价值由如下公式递归计算:

BLAST: BLAST算法的基本思想是通过产生数量更少的但质量更好的增强点来提高比对的速度。算法的原理主要分为以下五步:(1)过滤:首先过滤掉低复杂度区域,即含有大量重复的序列;(2)Seeding:将Query序列中每k个字组合成一个表,即将一个序列拆分成多个连续的‘seed words’(通常蛋白质k=3,核酸k=11);(3)比对:列出我们所关心的所有可能的字组,再配合置换矩阵给出高分值的字组并组织成快速搜索树结构或者哈希索引,因此此步骤可以快速搜索出大数据集中的所有匹配序列,找到每个seed words在参考序列中的位置;(4)延伸:当找到seed words的位置后,接下来需要将seed word延伸成长片段,延伸过程中,得分值也在变化,当得分值小于阈值时即停止延伸,最后得到的片段成为高分片段对,HSP(High-scoring segment pair);(5)显著性分析,最后我们使用如下公式计算E值,E值衡量了在随机情况下,数据库存在的比当前匹配分数更好的比对的数目,因此可以用该值作为指标评价HSP比对序列的可信度[2,3]。

其中,m是数据库长度,n是query的长度,S是HSP分数,其他两个参数是修正系数。

(2)多重序列比对

动态规划算法:其基本思想是将一个二维的动态规划矩阵扩展到三维或者多维,多序列比对的积分是n个序列中两两进行比对所得积分之和。矩阵的维度反映了参与比对的序列数。这种方法对计算资源要求比较高[6]。

随机算法:主要包括遗传算法和模拟退火算法,遗传算法是一类借鉴生物界进化规律演化来的全局意义上的自适应随机搜索方法。当用遗传算法进行生物序列

分析时,每一代包含固定数量的个体,这些个体用他们的适应度来评价。变异则模拟了生物进化过程中的偶然残基突变现象。对产生的新一代群体进行重新评价、选择、交叉、变异,如此循环往复,使群体中最优个体的适应度不断提高,直到达到一个阈值,算法结束。模拟退火的基本思想是用一物质系统的退火过程来模拟优化问题的寻优方法,当物质系统达到最小能量状态时,优化问题的目标函数也相应地达到了全局最优解。这两种方法都是对构造好的目标函数进行最优解搜索,但实际比对效果并不好[6,7]。

迭代法:迭代法的代表是Muscle[8], Muscle是一个新的渐进比对和迭代比对的综合算法,主要由两部分构成,第一部分是迭代渐进比对:第一次渐进比对的目的是快速产生一个多序列比对而不强调准确率,以此为基础再对渐进比对进行改良。经过两次渐进比对,形成一个相对准确的多序列比对;第二部分是迭代比对:该过程类似于Prrp算法[9],即通过不断的迭代,逐步优化最终比对结果。其主要特点包括:使用kmer counting进行快速的距离测量,使用一个新的图谱比对打分函数进行渐进比对,使用依赖于数的有限分隔进行细化。

渐进比对算法:该算法以Feng和Doolittle提出的最为经典[10]。渐进比对算法的基本思想是迭代地利用两序列动态规划比对算法,先由两个序列的比对开始,逐渐添加新序列,直到所有序列都加入为止。但是不同的添加顺序会产生不同的比对结果。确定合适的比对顺序是渐进比对算法的一个关键问题。通常,整个序列的比对应该从最相似的两个序列开始,由近至远逐步完成。作为全局多序列比对的渐进比对算法有个基本的前提假设:所有要比对的序列是同源的,即由共同的祖先序列经过一系列的突变积累,并经自然选择遗传下来的,分化越晚的序列之间相似程度就越高。因此,在渐进比对过程中,应该对近期的进化事件比远期的进化事件给予更大的关注。由于同源序列

是进化相关的,因此可以按着序列的进化顺序,即沿着系统发育树(指导树)的分支,由近至远将序列或已比对序列按双序列比对算法逐步进行比对,重复这一过程直到所有序列都己添加到这个比对中为止[10]。其三个步骤为:(1)利用双序列比对方法对所有的序列进行两两比对,得到相似性分值;(2)利用相似性矩阵

(或距离矩阵)产生辅助导向树;(3)根据导向树进行渐进比对。渐进比对算法是最常用、简单又有效的启发式多序列比对方法,它所需时间较短、所占内存较小,其算法很多,主要有CLUSTAL W, T-Coffee和DiAlign等,其中 CLUSTAL W应用最广泛。

应用:

类型+应用

双重序列对比:判断两个序列的同源性和一致性。(1)全局多序列比对可以鉴别或证明新序列与己有序列家族的同源性;帮助预测新蛋白质序列的二级和二级结构,是进行分子进化分析的重要前提。适合序列相似性较高,序列长度近似时的比对;(2)局部比对考虑序列部分区域的相似性。局部多序列比对可以用来刻画蛋白质家族和超家族。适合于未知两个序列相似程度的,可能存在一些片段极其相似而另一些片段相异的序列比对情况。

多重序列比对:多重比对经常用来研究序列间的进化关系,构建进化树;探究序列间的保守性。主要用于分子进化关系,预测蛋白质的二级结构和三级结构、估计蛋白质折叠类型的总数,基因组序列分析等。

基因组比对:通过对不同亲缘关系物种的基因组序列进行比较,能够鉴定出编码序列、非编码调控序列及给定物种独有的序列。而基因组范围之内的序列比对,可以了解不同物在核苷酸组成、同线性关系和基因顺序方面的异同,进而得到基因分析预测与定位、生物系统

发生进化关系等方面的信息。[1]

背景及简介

序列比对是生物信息学

的基本组成和重要基础。序列比对的基本思想是,基于生物学中序列决定结构,结构决定功能的普遍规律,将核酸序列和蛋白质一级结构上的序列都看成由基本字符组成的字符串,检测序列之间的相似性,发现生物序列中的功能、结构和进化的信息。

序列比对的理论基础是进化学说,如果两个序列之间具有足够的相似性,就推测二者可能有共同的进化祖先,经过序列内残基的替换、残基或序列片段的缺失、以及序列重组等遗传变异过程分别演化而来。序列相似和序列同源是不同的概念,序列之间的相似程度是可以量化的参数,而序列是否同源需要有进化事实的验证。在残基-残基比对中,可以明显看到序列中某些氨基酸残基比其它位置上的残基更保守,这些信息揭示了这些保守位点上的残基对蛋白质的结构和功能是至关重要的,例如它们可能是酶的活性位点残基,形成二硫键的半胱氨酸残基,与配体结合部位的残基,与金属离子结合的残基,形成特定结构motif的残基等等。但并不是所有保守的残基都一定是结构功能重要的,可能它们只是由于历史的原因被保留下来,而不是由于进化压力而保留下来。因此,如果两个序列有显著的保守性,要确定二者具有共同的进化历史,进而认为二者有近似的结构和功能还需要更多实验和信息的支持。通过大量实验和序列比对的分析,一般认为蛋白质的结构和功能比序列具有更大的保守性,因此粗略的说,如果序列之间的相似性超过30%,它们就很可能是同源的。

值得注意的是,在分子生物学中,DNA或蛋白质的相似性是多方面的,可能是核酸或氨基酸序列的相似,可能是结构的相似,也可能是功能的相似。一级结构序列相似的分子在高级结构和功能上并不必然有相似性,反之,序列不相似的分子,可能折叠成相同的空间形状,并具有相同的功能。一般的序列比对主要是针对一级结构序列上的比较。

在生物信息处理中,我们希望找出两条序列S和T之间具有的某种相似性关系,这种寻找生物序列相似性关系的算法就是双序列比对算法。我们通常利用两个序列之间的字符差异来测定序列之间的相似性,两条序列中相应位置的字符如果差异大,那么序列的相似性低,反之,序列的相似性就高。

多序列比对

把两个以上字符序列对齐,逐列比较其字符的异同,使得每一列字符尽可能一致,以发现其共同的结构特征的方法称为多序列比对。多序列比对问题其实是双序列比对问题的推广。

多序列比对的目标是使得参与比对的序列中有尽可能多的列具有相同的字符,即,使得相同残基的位点位于同一列,这样以便于发现不同的序列之间的相似部分,从而推断它们在结构和功能上的相似关系,主要用于分子进化关系,预测蛋白质的二级结构和三级结构、估计蛋白质折叠类型的总数,基因组序列分析等。

由于多序列比对能够揭示双序列比对所不能发现的序列微弱相似性、序列模式和功能位点,因而对蛋白质和核酸序列的结构、功能和进化研究更加有用。

全局比对

全局比对

是指将参与比对的两条序列里面的所有字符进行比对。 全局比对主要被用来寻找关系密切的序列。由于这些序列也都很易通过本地比对方法找到,现在全局比对也有些被认为只是一种技巧。另外,全局比对在应用于分子进化时也有些问题(比如domain shuffling -见下),这也限制了这种方法的可用性。

局部比对

1981年,由F. Smith 和 M.Waterman首次提出局部比对算法,动态规划方法通过较少的改动便可以用来识别匹配的子序列, 并且忽略匹配区域之前或之后的失配和空位;局部比对时,表中小于零的位置用零代替。主要用来考察两序列的某些特殊片段。

算法过程

实际操作中利用计算机程序实现序列比对的基本算法。序列比对不仅需要考虑子序列之间的匹配,而且需要对整个序列进行比较。也就是说,必须考虑两个序列中所有残基的匹配。这就意味着,不可能使所有残基都能严格匹配。在这种情况下,序列比对中确定空位的过程变得十分复杂。

在进行序列两两比对时,有两方面问题直接影响相似性分值:取代矩阵和空位罚分。

取代矩阵

粗糙的比对方法仅仅用相同/不同来描述两个残基的关系,显然这种方法无法描述残基取代对结构和功能的不同影响效果,缬氨酸对异亮氨酸的取代与谷氨酸对异亮氨酸的取代应该给予不同的打分。因此如果用一个取代矩阵

来描述氨基酸残基两两取代的分值会大大提高比对的敏感性和生物学意义。虽然针对不同的研究目标和对象应该构建适宜的取代矩阵,但国际上常用的取代矩阵有PAM和BLOSUM等,它们来源于不同的构建方法和不同的参数选择,包括PAM250、BLOSUM62、BLOSUM90、BLOSUM30等。对于不同的对象可以采用不同的取代矩阵以获得更多信息,例如对同源性较高的序列可以采用BLOSUM90矩阵,而对同源性较低的序列可采用BLOSUM30矩阵。

空位罚分

空位罚分是为了补偿插入和缺失对序列相似性的影响,由于没有什么合适的理论模型能很好地描述空位

问题,因此空位罚分缺乏理论依据而更多的带有主观特色。一般的处理方法是用两个罚分值,一个对插入的第一个空位罚分,如10-15;另一个对空位的延伸罚分,如1-2。对于具体的比对问题,采用不同的罚分方法会取得不同的效果。

对于比对计算产生的分值,到底多大才能说明两个序列是同源的,对此有统计学方法加以说明,主要的思想是把具有相同长度的随机序列进行比对,把分值与最初的比对分值相比,看看比对结果是否具有显著性。相关的参数E代表随机比对分值不低于实际比对分值的概率。对于严格的比对,必须E值低于一定阈值才能说明比对的结果具有足够的统计学显著性,这样就排除了由于偶然的因素产生高比对得分的可能。

序列比对的统计检验

序列比对实际上是根据特定数学模型找出序列之间最大匹配残基数。而序列比对数学模型一般用来描述序列中每一个子字符串之间的匹配情况。通过改变某些参数可以得到不同比对结果,例如空位罚分值大小。此外,序列长度差异和字母表复杂度也会影响比对结果。合理调节参数,会减少空位数目,得到较好的结果,而放宽对空位罚分的限制,理论上任意序列都可以得到某个对比结果。因此序列比对的结果并不能作为两者之间一定存在同源关系的依据。

常用序列比对程序通常给出一些统计值,用来表示结果的可信度。BLAST程序中使用的统计值由概率p和期望值e。概率p表示比对结果得到的分数值的可信度。一般来说,p越接近于0,则比对结果的可信度越大。期望值e描述搜索某一特定数据库时,随机出现的匹配序列数目。

重要性

生物信息学的研究重点主要体现在基因组学和蛋白质学两方面,具体地说就是从核酸和蛋白质序列出发, 分析序列中表达结构和功能的生物信息。生物信息学的基本任务是对各种生物分析序列进行分析, 也就是研究新的计算机方法, 从大量的序列信息中获取基因结构、功能和进化等知识。而在序列分析中, 将未知序列同已知序列进行相似性比较是一种强有力的研究手段,从序列的片段测定, 拼接, 基因的表达分析, 到RNA和蛋白质的结构功能预测。物种亲缘树的构建都需要进行生物分子序列的相似性比较。生物信息学中的序列比对算法的研究具有非常重要的理论意义和实践意义。

参考来源