多序列比对简介:
双序列比对是序列分析的基础。然而,对于构成基因家族的成组的序列来说,我们要建立多个序列之间的关系,这样才能揭示整个基因家族的特征。多序列比对在阐明一组相关序列的重要生物学模式方面起着相当重要的作用。
多序列比对有时用来区分一组序列之间的差异,但其主要用于描述一组序列之间的相似性关系,以便对一个基因家族的特征有一个简明扼要的了解。与双序列比对一样,多序列比对的方法建立在某个数学或生物学模型之上。
因此,正如我们不能对双序列比对的结果得出"正确或错误"的简单结论一样,多序列比对的结果也没有绝对正确和绝对错误之分,而只能认为所使用的模型在多大程度上反映了序列之间的相似性关系以及它们的生物学特征。
目前,构建多序列比对模型的方法大体可以分为两大类:
第一类是基于氨基酸残基的相似性,如物化性质、残基之间的可突变性等。
另一类方法则主要利用蛋白质分子的二级结构和三级结构信息,也就是说根据序列的高级结构特征确定比对结果。 这两种方法所得结果可能有很大差别。
一般说来,很难断定哪种方法所得结果一定正确,应该说,它们从不同角度反映蛋白质序列中所包含的生物学信息。
基于序列信息和基于结构信息的比对都是非常重要的比对模型,但它们都有不可避免的局限性,因为这两种方法都不能完全反映蛋白质分子所携带的全部信息。 蛋白质序列是经过DNA序列转录翻译得到的。从信息论的角度看,它应该与DNA分子所携带的信息更为"接近"。而蛋白质结构除了序列本身带来的信息外,还包括经过翻译后加工修饰所增加的结构信息,包括残基的修饰,分子间的相互作用等,最终形成稳定的天然蛋白质结构。因此,这也是对完全基于序列数据比对方法批评的主要原因。
如果能够利用结构数据,对于序列比对无疑有很大帮助。不幸的是,与大量的序列数据相比,实验测得的蛋白质三维结构数据实在少得可怜。在大多数情况下,并没有结构数据可以利用,我们只能依靠序列的相似性和一些生物化学特性建立一个比较满意的多序列比对模型。
多序列比对的定义
为了便于描述,对多序列比对过程给出下面的定义。把多序列比对看作一张二维表,表中每一行代表一个序列,每一列代表一个残基的位置。将序列依照下列规则填入表中: (a)一个序列所有残基的相对位置保持不变; (b)将不同序列间相同或相似的残基放入同一列,即尽可能将序列间相同或相似残基上下对齐(表1)。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | |
Ⅰ | Y | D | G | G | A | V | - | E | A | L |
Ⅱ | Y | D | G | G | - | - | - | E | A | L |
Ⅲ | F | E | G | G | I | L | V | E | A | L |
Ⅳ | F | D | - | G | I | L | V | Q | A | V |
Ⅴ | Y | E | G | G | A | V | V | Q | A | L |
表1 多序列比对的定义
表示五个短序列(I-V)的比对结果。通过插入空位,使5个序列中大多数相同或相似残基放入同一列,并保持每个序列残基顺序不变
我们称比对前序列中残基的位置为绝对位置。如序列Ⅰ的第3位的残基是甘氨酸G,则绝对位置Ⅰ3就是甘氨酸,而不能变成任何其它氨基酸。相应地,我们称比对后序列中残基的位置为相对位置。显然,同一列中所有残基的相对位置相同,而每个残基的绝对位置不同,因为它们来自不同的序列。
绝对位置是序列本身固有的属性,或者说是比对前的位置,而相对位置则是经过比对后的位置,也就比对过程赋予它的属性。
算法复杂性
多序列比对的计算量相当可观,因此有必要分析以下技术的复杂性。双序列比对所需要的计算时间和内存空间与这两个序列的长度有关,或者说正比于这两个序列长度的乘积,用O(m1m2)表示。其中m1、m2是指两条序列的长度。三序列比对则可以理解为将双序列比对的两维空间扩展到三维,即在原有二维平面上增加一条坐标轴。这样算法复杂性就变成了O(m1m2m3),其中m3表示第三条序列的长度。
随着序列数量的增加,算法复杂性也不断增加。我们用O(m1m2m3...mn)表示对n个序列进行比对时的算法复杂性,其中mn是最后一条序列的长度。若序列长度相差不大,则可简化成O(mn),其中n表示序列的数目,m表示序列的长度。显然,随着序列数量的增加,序列比对的算法复杂性按指数规律增长。
降低算法复杂性,是研究多序列比对的一个重要方面。为此,产生了不少很有实用意义的多序列比对算法。这些方法的特点是利用启发式(heuristics)算法降低算法复杂性,以获得一个较为满意但并不一定是最优的比对结果,用来找出子序列、构建进化树、查找保守序列或序列模板,以及进行聚类(clustering)分析等。 有的算法将动态规划和启发性算法结合起来。例如,对所有的序列进行两两比对,将所有的序列与某个特定的序列进行比对,根据某种给定的亲源树进行分组比对,等等。必须指出,上述方法求得的结果通常不是最优解,至少需要经过n-1次双序列比对,其中n为参与比对的序列个数。
比对方法
1.手工比对方法
手工比对方法在文献中经常看到。因为难免加入一些主观因素,手工比对通常被认为有很大的随意性。其实,即使用计算机程序进行自动比对,所得结果中的片面性也不能予以忽视。在运行经过测试并具有比较高的可信度的计算机程序基础上,结合实验结果或文献资料,对多序列比对结果进行手工修饰,应该说是非常必要的
多序列比对的软件已经有许多,其中一些带有编辑程序。最好的办法是将自动比对程序和编辑器整合在一起。为了便于进行交互式手工比对,通常使用不同颜色表示具有不同特性的残基,以帮助判别序列之间的相似性。颜色的选择十分重要,如果使用不当,看起来不很直观,就会使比对结果中一些有用的信息丢失。相反,如果选择得当,就能从序列比对结果中迅速找到某些重要的结构模式和功能位点。
例如,如果用某种颜色表示一组高度保守的残基,则某个序列的某一位点发生突变时,则由于颜色不同,就可以很快找出。颜色的选择可以根据主观愿望和喜好,但最好和常规方法一致。用来构筑三维模型的按时氨基酸残基组件和三维分子图形软件所用的颜色分类方法,比较容易为大家接受(表2)。
表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) | 能形成二硫键 | 黄色 |
* 表中采用的分组方法和用来区分不同组别的颜色与模型构件和三维图形软件中所用方法一致
多序列比对程序的另一个重要用途是定量估计序列间的关系,并由此推断它们在进化中的亲缘关系。可以通过计算完全匹配的残基数目或计算完全匹配残基和相似残基的数目得到这种定量关系。这一方法除了可以大略了解序列间的亲缘关系外,也可用来评估比对质量。如果序列的相似性值低于预料值,那么有可能是序列间亲缘关系较远,也可能是比对中有错误之处
2.同步法
同步法实质是把给定的所有序列同时进行比对,而不是两两比对或分组进行比对。
其基本思想是将一个二维的动态规划矩阵扩展到三维或多维。矩阵的维数反映了参与比对的序列数。这类方法对于计算机的系统资源要求较高,通常是进行少量的较短的序列的比对
3.步进法
这类方法中最常用的就是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一类由更多的序列比对形成。
一般来说,对于具有较高相似性的一组序列之间的比对,自动比对方法是很有效的。一旦序列的亲缘关系变得较远,所得结果就不那么可信。若要得到比较可靠而又具有明确生物学意义的比对结果,比较有效的方法是对比对结果进行手工编辑和调整。这对于构建二次数据库是非常重要的信息。在选择现有的序列模式或序列模体公开数据库构建自己的数据库系统时,对这些现有数据库的可靠性必须采取谨慎的态度。