序列比对

1、什么是序列比对?

为确定两个或多个序列之间的相似性以至于同源性,而将它们按照一定的规律排列。
参考-》百度百科

2、双序列比对的基本概念

  1. 从s到t,和t到s,他们的分数是一样的。其他类似
  2. 与上下文无关
  3. 空位:对应序列中发生片段的插入或删除,也就是indel(insertion、deletion),通常会对序列的功能产生影响,所以空位在对比过程中总是对应于一个负分,也就是所谓的空位罚分(Gap),由于我们一次插入和删除往往涉及到多个残基,这个与替换是不一样的,所以一个空位的长度常会大于1,所以一般空位罚分就会采用一种所谓的线性组合的模式,也就是说会把产生一个gap(空位)和gap extending(空位扩展)区分开来,分别给予不同的罚分。若5个连续的空位,则是gap + gap extending*(5-1)
  4. 比对关系:一对残基的比对关系也只有三种,一对残基正好对在一起,或者其中的一个对应着空位。

3、双序列比对的构建

3.1利用动态规划进行全局对比

  1. 概念:动态规划是一种用来解决具有优子结构的,性质的优化问题的计算机算法。所谓最优子结构性质,就是指局部最优解的组合就是全局的最优解,也就是说好的加好的还是好的。具体说,动态规划的基本算法就是把一个复杂的大问题划分若干小问题,然后为这些小问题找到最优解来最终解决最初的大问题的最优解。
  2. 公式:
    序列比对_第1张图片
    序列比对_第2张图片
  3. 实例
    序列比对_第3张图片

3.2 从全局比对到局部比对

  1. 背景:随着越来越多序列数据的产生,对两条序列所有残基进行全局比对的特点也碰到了问题。首先随着越来越多的蛋白序列被测定,研究人员发现功能相关的蛋白之间虽然可能在整体序列上相差甚远,却常常会有相同的功能域,这些序列片段能够独立发挥特定的生物学功能,却在不同蛋白之间相当保守,但仅靠全局比对的算法显然是无法发现这样的片段的。另一方面70年代内含子的发现,使得在做核酸水平的序列比对时,必须要能正确处理内含子导致的大片段差异。需要新的方法发现相似的局部序列。
  2. Smith-Waterman局部比对算法:
    序列比对_第4张图片
    增加了一个下线,残基的比对得分不能低于0。
    序列比对_第5张图片
    序列比对_第6张图片
    所有回溯都是局部的,最终得到的比对也是局部的。
    也因此,和全局比对不同,我们话可以得到除了最优比对之外的,次优的局部比对。

3.3 考虑仿射高空位罚分的序列对比,以及如何计算Needleman-Wunsch算法的时间复杂度

由于一次插入和删除往往涉及到多个残基,因此与替换不同,一个空位的长度常会大于1,所以空位罚分往往采取一种线性组合的模式。要正确的区分gap与gap extending ,引入状态模式。
序列比对_第7张图片
其中X、Y都表示对应空位,M表示一对相等或不等的残基。
序列比对_第8张图片
引入有限状态机的概念来表示状态转移!
序列比对_第9张图片
时间复杂度:此算法将时间代价由穷举法的指数时间下降到了平方时间!

注:详细内容可参考:北京大学生物信息学

你可能感兴趣的:(生物信息学)