下面介绍什么是合理的多重比对,以及建立一个比对。
多重比对通常是从一级序列中推断出来的,可以根据经验和知识获得。手动多重比对很繁琐,自动多重比对是计算生物学中广泛研究的问题。通常,自动方法必须就有分配分数的方法,以便更好的多重比对获得更好的分数。应该仔细区分多重比对问题,寻找可能的多重比对问题,以找到最佳比对。多重比对的程序倾向于强调比对算法,而不是评分功能。但是,评分功能是在缄默中主要考虑的因素。
因此,我们从结构和进化上考虑多重比对的意义,将生物学标准转化为数字评分方案,这样程序才能识别出良好的多重比对。最后,基于profile HMM描述完全概率的多序列比对,主要关注蛋白质比对。
1多序列比对的意义
在多序列比对中,一组序列中的同源残基在列中比对在一起。同源既是指在结构上,也是指在进化上。理想情况下,一列对齐的残基占据相似的三维结构,并且都与一个共同的祖先残基不同。
除了序列完全相同的情况之外,不可能明确地识别结构或进化上的同源位置。由于蛋白质结构也会进化,所以不希望两个具有不同序列的蛋白质结构完全重叠。以往的研究发现,对于给定的一对不同但明显同源的蛋白质序列,通常只有约50%的单个残基在两个结构中是可以重叠的。
原则上,即使结构有所不同,也始终存在明确正确的进化路线。然而在实践中,从进化上正确的比对结构比从结构上正确更难推断。结构比对具有独立的参考节点(晶体/NMR结构),但从任何来源都无法独立地了解序列家族的残基进化史。它本身必须从序列比对中推断。序列往往比结构进化的更快,因此结构上不能比对的蛋白质部分在往往也不能按序列比对。
随着比对序列相关性的变化,我们能够定义“正确”比对的能力也将变呀。通常,非常相似的序列的比对是明确的(但是,我们对这样的比对不感兴趣)。对于我们感兴趣的情况(例如,具有30%相同序列的蛋白质),我们必须记住,没有客观的方式来定义明确正确的比对。通常,一个关键残基的小子集是可以被识别的,几乎可以对一个家族中所有序列进行明确的比对,而与序列差异无关。核心结构要素趋于保守,其他区域kennel由于结构演变/序列差异不能有意义地对齐。
多重比对质量的评估需要考虑以下因素。要求一个序列比对程序与手工结构比对的结果完全相同,意味着在如何“比对”结构上不可比对的区域时,会产生相同的无意义的偏见。我门应该集中注意与关键残基和核心结构元素相对应的列子集,这些子集可以与置信度一致。
2 多序列比对的打分
我们的打分系统应该至少考虑多重比对的两个特点:
1.一些位置比其他位置更保守(例如:position-specific scoring)
2.序列不是独立的,是与系统发生树相关的。
因此,对多重匹配进行评分的理想方法是指定分子序列进化的完整概率模型。假如给定序列的正确的系统发生树,多重比对的概率是:通过祖先的中间序列产生该比对所必需的所有进化时间的概率 \times 根祖先序列的先验概率。所需的进化模型将十分复杂。进化变化的概率将取决于沿树的每个分支的进化时间,以及自然选择所施加的特定于位置的结构和功能约束,因此,关键残基和结构元素将被保存。在此模型下,高概率的比对将是良好的结构和进化比对。
但是,非常不幸,我们没有足够的数据来参数化这样一个复杂的进化模型。必需做出简化的假设。下面,我们主要关注可行的近似值。该近似值部分/全部忽略了系统发生树,同时对比对的结构兼容残基进行特定位置的打分。
几乎所有的比对方法都假定比对的各个列在统计上是独立的。这样,打分函数可以写成
其中,m_i是多重比对m的第i列,S(m_i)是第i列的打分,G是比对中出现gap的打分函数。
这里,G不指定,是因为在多重比对中,对gap进行打分的方法差异很大。最简单的方法是将gap视为额外的残基类型,然后仅给出S(m)=\sum_iS(m_i),但是,大多数多重比对方法都使用类似的打分函数,这些函数为gap的产生给出更多的cost。连续的gap不会得到独立的处理。为了简单起见,我们接下来集中讨论S(m_i)的定义,以及对一列没有gap的比对残基进行打分。
Minimux entropy
SP scores
多序列比对的标准打分方法不是HMM公式,但是有相似之处。它不使用系统发生树,并且假设各个列之间是统计上独立的。列通过一个SP函数(sum of paris)打分。每一列的SP score是这样定义的:
$$S(m_i)=\sum_{k \lt l}s(m_i^k,m_i^l)$$
其中,得分s(a,b)来自打分矩阵(例如:PAM, BLOSUM)。对于简单的线性gap costs, gap通过罚分s(a,-)和s(-,a)解决,s(-,-)被定义为0。
很自然地想到将一列中所有的两两比对得分加起来。但是,两两比对的得分通常是对数形式的。所以,正确的处理方式是log(\frac{p_{abc}}{q_aq_bq_c})。SP score 是没有进行概率解释的。
3 多维DP
可以将成对的动态规划比对推广到N个序列的比对。假设线性gap cost \gamma(g)=gd,计算总体的得分
多维动态规划的方法是可能的,但是形式上变得非常复杂。对于每一次比对都有2^N-1个组合。可以通过引入\Delta_i 简化,并且定义
product
动态规划的算法的空间复杂度是O(L^N),时间复杂度是O(2^NL^N)
MSA
MSA是一种巧妙的算法,减少需要检查的多维DP矩阵的体积,可以最佳地比对5-7个具有合理长度的蛋白质序列。
可以为残基和gap设计一个SP评分系统。假设多重比对的得分是所有两两比对的得分之和。另a^{kl}表示序列和l的两两比对,按照以下方式定义比对的分数:
假设\hat{a^{kl}}是序列的最佳比对,这是通过标准DP计算出来的,显然S(a^{kl}) \le S(\hat{a^{kl}})
结合这个简单的观察和SP打分系统的定义,我们可以获得在最佳多重比对中可能发生的任何比对的分数的下限。假设下限是\sigma(a),所以\sigma(a) \lt S(a)