生物信息学导论-北大-序列比对基础知识

发布时间:2024年01月11日

最近重新捡起coursera上的课了,这次准备好好学,把考试考了。。因此顺便记录一下学习过程。

ref: https://www.coursera.org/learn/sheng-wu-xin-xi-xue/home


Sequence Alignment 序列比对

生物学问题

biological question: how to determine the similarity between two sequences?
如何判断两条序列之间的相似度?

why is it important?

  • similar sequence→similar structure→similar function(Sequence-to-Structure-to-Function Paradigm)
  • similar sequence→common ancestor(Homology)

gap:insertion / deletion (indel)造成

gap penalty:open a gap = penalty d, extend a gap = penalty e. for a gap with length n:

G a p P e n a l t y = d + ( n ? 1 ) ? e GapPenalty = d + (n - 1) * e GapPenalty=d+(n?1)?e

final score

f i n a l S c o r e = ∑ S u b s t i t u t i o n S c o r e s + ( ? 1 ) ? ∑ G a p P e n a l t y finalScore=\sum{SubstitutionScores} + (-1) * \sum{GapPenalty} finalScore=SubstitutionScores+(?1)?GapPenalty

数学描述

给定两个序列S1和S2,和一个打分函数f(已知substitutions和gaps),要求输出最佳比对,使得分最高。

NewBestAlignment=PreviousBest+LocalBest

对于一个残基来说,要么比对另一个残基,要么比对一个gap。

Dynamic Programming

  • big problem → smaller sub-problems
  • solve sub-problems optimally, recursively
  • assemble

比对两条序列x和y,F(i, j)是 x 1... i x_{1...i} x1...i? y 1... j y_{1...j} y1...j?之间的最佳比对的分数,s(A, B)是用B替换A的打分,d是gap罚分

F ( 0 , 0 ) = 0 F(0,0) = 0 F(0,0)=0

F ( i , j ) = m a x { F ( i ? 1 , j ? 1 ) + s ( x i , y j ) , m a t c h e d F ( i ? 1 , j ) + d , x i → g a p F ( i , j ? 1 ) + d , y j → g a p F(i,j)=max\left\{\begin{aligned}F(i-1,j-1)+s(x_i, y_j)&,matched\\F(i-1,j)+d,&x_i →gap\\F(i,j-1)+d,&y_j→gap \end{aligned}\right. F(i,j)=max? ? ??F(i?1,j?1)+s(xi?,yj?)F(i?1,j)+dF(i,j?1)+d?,matchedxi?gapyj?gap?

举例:

假设替换矩阵如下,gap penalty=-5,两条序列是AAG和AGC

ACGT
A2-7-5-7
C-72-7-5
G-5-72-7
T-7-5-72

先填入表格,从左上那个0位开始,沿该行向右和向下

AAG
0→-5→-10→-15
A↓-5↘2↘→-3→-8
G↓-10↓-3↘-3↘-1
C↓-15↓-8↓-8↓-6

填完表格之后从右下角回溯到0,就是-6↑-1,然后-3那里有两个方向可以达到,所以斜向和左边都要考虑,因此有这2种配对方式:

AAG-

-AGC

AAG-
A-GC
这就是global alignment(Needleman-Wunsch,O(nm))
这个自己手动写一遍比较好

Local alignment(Smith-Waterman) 在F(i,j)函数中引入了一个0,就是最大值可以取0。填表的话也是从左上的0开始向右向下.

AAG
0000
A0↘2↘20
G000↘4
C0000

回溯要从分数最高的地方开始,直到回到0,此时是最佳匹配,即AG-AG(注意一开始填表的0行和0列并不计入匹配)

然后从第二个最高分开始向上回溯,也是回到0,此时是第二好的匹配,就是A-A

Affine gap penalty的情况:d是open gap的罚分,e是延长一个gap的罚分。参考图片。
在这里插入图片描述

文章来源:https://blog.csdn.net/pxy7896/article/details/135530107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。