2010-10-24 21:18:06| 分类: Bioinformatics | 标签: |举报 |字号大中小 订阅
序列比对的基本思想,是找出检测序列和目标序列的相似性。比对过程中需要在检测序列或目标序列中引入空位,以表示插入或删除。序列比对的最终实现,必须依赖于某个数学模型。不同的模型,可以从不同角度反映序列的特性,如结构、功能、进化关系等。很难断定,一个模型一定比另一个模型好,也不能说某个比对结果一定正确或一定错误,而只能说它们从某个角度反映了序列的生物学特性。此外,模型参数的不同,也可能导致比对结果的不同。
序列比对的数学模型大体可以分为两类,一类从全长序列出发,考虑序列的整体相似性,即整体比对;第二类考虑序列部分区域的相似性,即局部比对。局部相似性比对的生物学基础是蛋白质功能位点往往是由较短的序列片段组成的,这些部位的序列具有相当大的保守性,尽管在序列的其它部位可能有插入、删除或突变。此时,局部相似性比对往往比整体比对具有更高的灵敏度,其结果更具生物学意义。
区分这两类相似性和这两种不同的比对方法,对于正确选择比对方法是十分重要的。应该指出,在实际应用中,用整体比对方法企图找出只有局部相似性的两个序列之间的关系,显然是徒劳的;而用局部比对得到的结果也不能说明这两个序列的三维结构或折叠方式一定相同。BLAST和Fasta等常用的数据库搜索程序均采用局部相似性比对的方法,具有较快的运行速度,而基于整体相似性比对的数据库搜索程序则需要超级计算机或专用计算机才能实现。
数据库查询,是指对序列、结构以及各种二次数据库中的注释信息进行关键词匹配查找。例如,对蛋白质序列数据库SwissProt输入关键词insulin(胰岛素),即可找出该数据库所有胰岛素或与胰岛素有关的序列条目(Entry)。数据库查询有时也称数据库检索,它和互联网上通过搜索引擎 (Search engine) 查找需要的信息是一个概念。
数据库搜索在分子生物信息学中有特定含义,它是指通过特定的序列相似性比对算法,找出核酸或蛋白质序列数据库中与检测序列具有一定程度相似性的序列。例如,给定一个胰岛素序列,通过数据库搜索,可以在蛋白质序列数据库SwissProt中找出与该检测序列(query sequence)具有一定相似性的序列。因此,在生物信息学中,数据库搜索是专门针对核酸和蛋白质序列数据库而言,其搜索的对象,不是数据库的注释信息,而是序列信息。
双序列比对是序列分析的基础。然而,对于构成基因家族的成组的序列来说,我们要建立多个序列之间的关系,这样才能揭示整个基因家族的特征。由于可以提高序列比对的信噪比,多序列比对在阐明一组相关序列的重要生物学模式方面起着相当重要的作用。
多序列比对有时用来区分一组序列之间的差异,但其主要用于描述一组序列之间的相似性关系,以便对一个基因家族的特征有一个简明扼要的了解。与双序列比对一样,多序列比对的方法建立在某个数学或生物学模型之上。因此,正如我们不能对双序列比对的结果得出“正确或错误”的简单结论一样,多序列比对的结果也没有绝对正确和绝对错误之分,而只能认为所使用的模型在多大程度上反映了序列之间的相似性关系以及它们的生物学特征。
目前,构建多序列比对模型的方法大体可以分为两大类。第一类是基于氨基酸残基的相似性,如物化性质、残基之间的可突变性等。另一类方法则主要利用蛋白质分子的二级结构和三级结构信息,也就是说根据序列的高级结构特征确定比对结果。显然,这两种方法所得结果可能有很大差别。一般说来,很难断定哪种方法所得结果一定正确,应该说,它们从不同角度反映蛋白质序列中所包含的生物学信息。
基于序列信息和基于结构信息的比对都是非常重要的比对模型,但它们都有不可避免的局限性,因为这两种方法都不能完全反映蛋白质分子所携带的全部信息。我们知道,蛋白质序列是经过DNA序列转录翻译得到的。从信息论的角度看,它应该与DNA分子所携带的信息更为“接近”。而蛋白质结构除了序列本身带来的信息外,还包括经过翻译后加工修饰所增加的结构信息,包括残基的修饰,分子间的相互作用等,最终形成稳定的天然蛋白质结构。因此,这也是对完全基于序列数据比对方法批评的主要原因。显然,如果能够利用结构数据,对于序列比对无疑有很大帮助。不幸的是,与大量的序列数据相比,实验测得的蛋白质三维结构数据实在少得可怜。在大多数情况下,并没有结构数据可以利用,我们只能依靠序列的相似性和一些生物化学特性建立一个比较满意的多序列比对模型。
为了便于描述,我们对多序列比对过程给出下面的定义。把多序列比对看作一张二维表,表中每一行代表一个序列,每一列代表一个残基的位置。将序列依照下列规则填入表中:(a)一个序列所有残基的相对位置保持不变;(b)将不同序列间相同或相似的残基放入同一列,即尽可能将序列间相同或相似残基上下对齐(表4.1)。我们称比对前序列中残基的位置为绝对位置。如序列Ⅰ的第3位的残基是甘氨酸G,则绝对位置Ⅰ3就是甘氨酸,而不能变成任何其它氨基酸。相应地,我们称比对后序列中残基的位置为相对位置。显然,同一列中所有残基的相对位置相同,而每个残基的绝对位置不同,因为它们来自不同的序列。需要说明的是,绝对位置是序列本身固有的属性,或者说是比对前的位置,而相对位置则是经过比对后的位置,也就比对过程赋予它的属性。
多序列比对的计算量相当可观,因此有必要分析以下技术的复杂性。双序列比对所需要的计算时间和内存空间与这两个序列的长度有关,或者说正比于这两个序列长度的乘积,用O(m1m2)表示。其中m1、m2是指两条序列的长度。三序列比对则可以理解为将双序列比对的两维空间扩展到三维,即在原有二维平面上增加一条坐标轴。这样算法复杂性就变成了O(m1m2m3),其中m3表示第三条序列的长度。
随着序列数量的增加,算法复杂性也不断增加。我们用O(m1m2m3…mn)表示对n个序列进行比对时的算法复杂性,其中mn是最后一条序列的长度。若序列长度相差不大,则可简化成O(mn),其中n表示序列的数目,m表示序列的长度。显然,随着序列数量的增加,序列比对的算法复杂性按指数规律增长。
降低算法复杂性,是研究多序列比对的一个重要方面。为此,产生了不少很有实用意义的多序列比对算法。这些方法的特点是利用启发式(heuristics)算法降低算法复杂性,以获得一个较为满意但并不一定是最优的比对结果,用来找出子序列、构建进化树、查找保守序列或序列模板,以及进行聚类(clustering)分析等。有的算法将动态规划和启发性算法结合起来。例如,对所有的序列进行两两比对,将所有的序列与某个特定的序列进行比对,根据某种给定的亲源树进行分组比对,等等。必须指出,上述方法求得的结果通常不是最优解,至少需要经过n-1次双序列比对,其中n为参与比对的序列个数。
下面介绍比对采用的几种常用方法。
手工比对方法在文献中经常看到。因为难免加入一些主观因素,手工比对通常被认为有很大的随意性。其实,即使用计算机程序进行自动比对,所得结果中的片面性也不能予以忽视。在运行经过测试并具有比较高的可信度的计算机程序基础上,结合实验结果或文献资料,对多序列比对结果进行手工修饰,应该说是非常必要的。
多序列比对的软件已经有许多,其中一些带有编辑程序。最好的办法是将自动比对程序和编辑器整合在一起。为了便于进行交互式手工比对,通常使用不同颜色表示具有不同特性的残基,以帮助判别序列之间的相似性。颜色的选择十分重要,如果使用不当,看起来不很直观,就会使比对结果中一些有用的信息丢失。相反,如果选择得当,就能从序列比对结果中迅速找到某些重要的结构模式和功能位点。例如,如果用某种颜色表示一组高度保守的残基,则某个序列的某一位点发生突变时,则由于颜色不同,就可以很快找出。颜色的选择可以根据主观愿望和喜好,但最好和常规方法一致。用来构筑三维模型的按时氨基酸残基组件和三维分子图形软件所用的颜色分类方法,比较容易为大家接受。(表4.2)。
表4.2 氨基酸分组方法和代表性颜色
残基种类 | 残基特性 | 颜色 |
Asp (D), Glu (E) | 酸性 | 红色 |
His (H), Arg (R), Lys (K) | 碱性 | 兰色 |
Ser (S), Thr (T), Asn (N), Gln (Q) | 极性 | 绿色 |
Ala (A), Val (V), Leu (L), Ile (I), Met (M) | 疏水性,带支链 | 白色 |
Phe (F), Tyr (Y), Trp (W) | 疏水性,带苯环 | 紫色 |
Pro (P), Gly (G) | 侧链结构特殊 | 棕色 |
Cys (C) | 能形成二硫键 | 黄色 |
* 表中采用的分组方法和用来区分不同组别的颜色与模型构件和三维图形软件中所用方法一致。
多序列比对程序的另一个重要用途是定量估计序列间的关系,并由此推断它们在进化中的亲缘关系。可以通过计算完全匹配的残基数目或计算完全匹配残基和相似残基的数目得到这种定量关系。这一方法除了可以大略了解序列间的亲缘关系外,也可用来评估比对质量。如果序列的相似性值低于预料值,那么有可能是序列间亲缘关系较远,也可能是比对中有错误之处。
现有的软件包用的基本上是可用鼠标点击的窗口界面,其中序列编辑器位于窗口中央。这样的软件包将在以后章节中详细介绍。
使用这些软件我们将会看到,那些长度相仿且相似性程度较高的序列,采用自动比对方法将会得到相当满意的结果;而当序列长度相差较大而相似性程度较低时,采用自动方法得出的结果则不很理想。此时,手工序列编辑器就接显得十分有用。通过手工调整,可使结果变得接近实际。此外,采用多种不同的方法进行分析,再将结果综合,是一种行之有效的方法。为更好地理解多序列比对的原理和规则,应该尽可能学会手工比对的方法,并把比对结果与计算机自动比对得到的结果加以比较。
同步法实质是把给定的所有序列同时进行比对,而不是两两比对或分组进行比对。其基本思想是将一个二维的动态规划矩阵扩展到三维或多维。矩阵的维数反映了参与比对的序列数。这类方法对于计算机的系统资源要求较高,通常是进行少量的较短的序列的比对。
这类方法中最常用的就是Clustal,它是由Feng和Doolittle于1987年提出的(Feng和Doolittle,1987)。由于对于实际的数据利用多维的动态规划矩阵来进行序列的比对不太现实,因此大多数实用的多序列比对程序采用启发式算法,以降低运算复杂度。Clustal的基本思想是基于相似序列通常具有进化相关性这一假设。比对过程中,先对所有的序列进行两两比对并计算它们的相似性分数值,然后根据相似性分数值将它们分成若干组,并在每组之间进行比对,计算相似性分数值。根据相似性分数值继续分组比对,直到得到最终比对结果。比对过程中,相似性程度较高的序列先进行比对,而距离较远的序列添加在后面。作为程序的一部分,Clusal可以输出用于构建进化树的数据。
Clustal程序有许多版本,ClustalW(Thompson等,1994),根据对亲缘关系较近的序列间空位情况,确定如何在亲缘关系较远的序列之间插入空位。同样,相似性较高的序列比对结果中的残基突变信息,可用于改变某个特殊位置空位罚分值的大小,推测该位点的序列变异性。
Clustal是免费软件,很容易从互联网上下载,和其它软件一起,广泛用于序列分析。Clustal所支持的数据格式包括EMBL/SWISSPROT、NBRF/PIR、Pearson/FastA、GCG/MSF,以及Clustal本身定义的格式。它的输出格式可以是Clustal格式,也可以是可用于GDE、 Phylip、GCG等软件的格式。
多序列比对的意义在于它能够把不同种属的相关序列的比对结果按照特定的格式输出,并且在一定程度上反映它们之间的相似性。多序列比对结果所提供的信息对于提高数据库搜索灵敏度也具有很大帮助。因此,方便实用的多序列比对数据库也就应运而生。
目前,互联网上可用的多序列比对数据库已经不少。其中一些利用计算机程序将一次数据库按家族分类;另外一些则是通过手工或自动方法根据基因家族构建二次数据库。现在我们可以通过一些例子看看这些数据库序列比对的情况,比如说,Pfam是将一次库通过自动比对来构建的数据库,它将大量具有结构相似性的序列归为一类,比如各种不同种类动物的转铁蛋白的基因序列具有一定的相似性,Pfam将这些序列归为一类命名为TRANSFERRIN,我们可以在Pfam查找TRANSFERRIN来得到原始序列比对信息,开头是一些注释信息,然后给出了比对序列的名字,再下是比对结果,以“//”开始,并以“//”结束。对于一个未知的蛋白质序列在该序列库中查询,该序列库会给出匹配的类及得分供你参考。
我们也可以看看PRINTS数据库关于TRANSFERRIN的比对信息, PRINTS数据库在自动比对的基础上进行了手工编辑,查寻PRINTS数据库中关于TRANSFERRIN这一类的比对信息,结果可以用模体(motif)形式显示也可以用点击链接调用JAVA APPLET进行图形显示,下图是关于TRANSFERRIN序列比对的局部图形,可见PRINTS数据库中TRANSFERRIN一类由更多的序列比对形成。
一般来说,对于具有较高相似性的一组序列之间的比对,自动比对方法是很有效的。一旦序列的亲缘关系变得较远,所得结果就不那么可信。若要得到比较可靠而又具有明确生物学意义的比对结果,比较有效的方法是对比对结果进行手工编辑和调整。这对于构建二次数据库是非常重要的信息。在选择现有的序列模式或序列模体公开的数据库构建自己的数据库系统时,对这些现有数据库的可靠性必须采取谨慎的态度。
本章将在一次数据库的搜索基础之上讲述二次数据库的搜索和结果分析。这些方法是构建二次数据库的理论基础和技术手段。前面,我们曾经对二次数据库作了一般介绍,侧重其内容和格式。本章将进一步介绍蛋白质序列二次数据库的主要信息类型,包括序列正则表达式(regular expression)、序列谱 (profiles)、序列指纹图谱(prints)、序列模块(blocks)和用隐马尔可夫模型(Hidden Markov Model)分析蛋白质序列的方法。通过阅读本章,希望读者对各种蛋白质二次数据库的特点和构建二次数据库的方法有所了解,并用于识别蛋白质家族和亲缘关系,对序列比对和数据库搜索结果作出客观、正确的解释。另外需要说明的是,本章所讨论的均为蛋白质序列。
众所周知,一次数据库的容量正以惊人的速率增长。从浩如烟海的一次数据库中找到未知序列和已知序列的相似关系,从而推断未知序列的性质和特征,是对生物信息学研究的挑战。一次数据库搜索可以有效的确定序列之间的相似性,但是对搜索结果的分析往往相当困难,很难解决更加深入的问题,很难搞清搜索结果所代表的生物学意义。造成这种情况的原因很多。例如,1998年GenBank中存储了超过一百万条序列,这些序列来自18,000种不同的生物,搜索结果必然异常复杂而且包含大量冗余信息。如果不使用一定的屏蔽手段,BLAST搜索结果会充斥大量重复序列的匹配。一些短的重复序列片段和测序过程中常用的载体序列会给搜索结果的分析产生干扰。此外,对于多结构域的蛋白质,搜索结果很难表明是在单个结构域上的匹配还是在多个结构域上的匹配,或者是全局水平上的匹配。而且,BLAST搜索结果只注明目标序列的匹配部分,并不能提供该序列的全部信息,有时甚至得出模棱两可的结果,对用户产生误导。由于一次数据库容量的不断增加和冗余数据的增多,两个本来是直系同源序列之间的相似性分值可能反而低于不属于同一基因家族的序列之间的相似性分值。也就是说,相关序列可能因此无法得到高的相似性分值。
考虑到基因之间在种系发生上的联系,基因的直系进化可以从另一个方面为序列的研究提供某些重要信息。由此得到启发,不妨把序列分析的重点从简单的同源性推断转移到更加严格的直系进化的识别上来(Huynen and Bork,1998),各种二次数据库搜索和分析方法因此而应运而生。这一新的研究方向具有很大的实用价值。利用各种二次数据库分析方法,可以详细阐明序列间的关系,包括在超家族、家族、亚家族和种属特异等不同水平上。这种新的提取序列内在信息的能力使二次数据库搜索成为常规的一次数据库搜索的强有力的补充。
要正确使用这些二次数据库,不仅要了解它们存储的不同数据类型,还要搞清怎样进行搜索,怎样解释不同的输出结果,以及怎样理解搜索结果的生物学意义。
读者可能还记得开发二次数据库的基本原理,即利用多序列比对的结果来寻找保守的序列模体,而这些序列模体可以体现组成序列的结构特征或是功能特征。这些保守的序列模体,乃至经过比对的整个序列,都可以用来构造标识基因家族或功能的特征信号,从而用来识别新的未知序列。
评论