第三章( 1 ) 序列分析

94
东东东东 东东东东东东 东东东东 东东东东东东

Upload: lilike

Post on 21-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

第三章( 1 ) 序列分析. 主讲人:孙 啸. 制作人:刘志华. 东南大学 吴健雄实验室. 第三章 序 列 比 较. 序列比较的根本任务是: 发现序列之间的相似性 辨别序列之间的差异 目的: 相似序列  相似的 结构,相似的功能 判别序列之间的同源性 推测序列之间的进化关系. 第一节 序列的相似性. 同源( homology ) - 具有共同的祖先 直向同源( Orthologous ) 共生同源( paralogous ) 相似( similarity ) — 同源序列一般是相似的 — 相似序列不一定是同源的 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章( 1 ) 序列分析

东南大学 吴健雄实验室东南大学 吴健雄实验室

Page 2: 第三章( 1 ) 序列分析

第三章 序 列 比 较 序列比较的根本任务是:

• 发现序列之间的相似性• 辨别序列之间的差异

目的:相似序列 相似的结构,相似的功能 判别序列之间的同源性推测序列之间的进化关系

Page 3: 第三章( 1 ) 序列分析

第一节 序列的相似性• 同源( homology ) - 具有共同的祖先

直向同源( Orthologous ) 共生同源( paralogous )

• 相似( similarity )— 同源序列一般是相似的— 相似序列不一定是同源的— 进化趋同(同功能)

Page 4: 第三章( 1 ) 序列分析

直向同源( a1 in species I, a1 in species II)

共生同源( a1 and a2 in species I )

进化趋同 水平转移

基因复制

Page 5: 第三章( 1 ) 序列分析

序列的相似性描述

• 定性的描述

• 定量的数值 相似度 距离

Page 6: 第三章( 1 ) 序列分析

序列比较的基本操作是比对( Alignment )

• 两个序列的比对是指这两个序列中各个字符的一种一一对应关系,或字符的对比排列 。

设有两个序列:GACGGATTAG , GATCGGAATAG

Alignment2:

GA CGGATTAGGATCGGAATAG

Alignment1:

GACGGATTAG GATCGGAATAG

Page 7: 第三章( 1 ) 序列分析

1 、字母表和序列 字母表

• 4 字符 DNA 字母表: {A, C, G, T}

• 扩展的遗传学字母表或 IUPAC 编码

• 单字母氨基酸编码

Page 8: 第三章( 1 ) 序列分析

符 号 含 义 说 明G G Guanine

A A Adenine

T T Thymine

C C Cytosine

R G or A Purine

Y T or C Pyrimidine

M A or C Amino

K G or T Keto

S G or C Strong interaction (3 H bonds)

W A or T Weak interaction (2 H bonds)

H A or C or T Not-G

B G or T or C not-A

V G or C or A not-T(not-U)

D G or A or T not-C

N G or A or T or C Any

扩展的遗传学字母表或 IUPAC 编码

Page 9: 第三章( 1 ) 序列分析

1 、字母表和序列 特定的符号

— 代表字母表 A* — 代表由字母表 A 中字符所形成的一系列有

限长度序列或字符串或序列的集合

a 、 b 、 c— 代表单独的字符 s 、 t 、 u 、 v— 代表 A* 中的序列 |s|— 代表序列 s 的长度

Page 10: 第三章( 1 ) 序列分析

为了说明序列 s 子序列和 s 中单个字符,在 s中各字符之间用数字标明分割边界

例如,设 s=ACCACGTA ,则 s 可表示为 0A1C2C3A4C5G6T7A8

i:s:j 指明第 i 位或第 j 位之间的子序列 ,

当然, 0 i j |s| 。

• 子序列 0:s: i 称为前缀,即 prefix(s,i)

• 子序列 i:s:|s| 称为后缀,即 suffix(s, |s|-i+1)

Page 11: 第三章( 1 ) 序列分析

i:s: i — 为空序列

•j-1:s:j — 表示 s 中的第 j 个字符,简记为 sj

子序列与子串

子序列:选取 s 中的某些字符(或删除 s 中的某些字符)而形成 s 的子序列

例如: TTT 是 ATATAT 的子序列。

Page 12: 第三章( 1 ) 序列分析

s 的子串:是由 s 中相继的字符所组成。

例如:TAC 是 AGTACA 的子串,但不是 TTGAC 的子串(是子序列)。

• 子串是子序列• 子序列不一定是子串

Page 13: 第三章( 1 ) 序列分析

字符串操作字符串连接操作:

两个序列 s 和 t 的连接: s + + t例如:

ACC++CTA = ACCCTA

字符串 k 操作— 删除字符串两端的字符 其定义如下:• prefix(s,l) = sk|s|-l

• suffix(s,l) = k|s|-ls• i:s:j = ki-1sk|s|-j

Page 14: 第三章( 1 ) 序列分析

序列比较可以分为四种基本情况:

( 1 )两条长度相近的序列相似 找出序列的差别

( 2 )判断一条序列的前缀与另一条序列的后缀相似

( 3 )判断一条序列是否是另一条序列的子序列

( 4 )判断两条序列中是否有非常相似的子序列

Page 15: 第三章( 1 ) 序列分析

2 、编辑距离( Edit Distance)

GCATGACGAATCAG TATGACAAACAGC

GCATGACGAATCAG TATGAC-AAACAGC

说明两条序列的相似程度 ——〉定量计算

Page 16: 第三章( 1 ) 序列分析

两条序列的相似程度的定量计算• 相似度,它是两个序列的函数,其值越大,表示

两个序列越相似 • 两个序列之间的距离。距离越大,则两个序列的

相似度就越小

Page 17: 第三章( 1 ) 序列分析

字符编辑操作( Edit Operation )

字符编辑操作可将一个序列转化为一个新序列 • Match ( a , a )• Delete ( a , - ) • Replace ( a , b )• Insert ( - , b )

直接距离计算的不足

Page 18: 第三章( 1 ) 序列分析

扩展的编辑操作

ACCGACAATATGCATA

ATAGGTATAACAGTCA

ACCGACAATATGCATA ACTGACAATATGGATA

第二条序列头尾颠倒

CTAGTCGAGGCAATCTGAACAGCTTCGTTAGT ?

Page 19: 第三章( 1 ) 序列分析

反向互补序列

RNA 发夹式二级结构

Page 20: 第三章( 1 ) 序列分析

3 、通过点矩阵进行序列比较“矩阵作图法” 或 “对角线作图”

Page 21: 第三章( 1 ) 序列分析
Page 22: 第三章( 1 ) 序列分析
Page 23: 第三章( 1 ) 序列分析

→ 序列 1 →

序列2 →

实 例

Page 24: 第三章( 1 ) 序列分析

→ 序列 1 →

序列1 →

自我比较

Page 25: 第三章( 1 ) 序列分析

滑动窗口技术两条序列中有很多匹配的字符对,因而在点矩阵中会形成很多点标记。

Page 26: 第三章( 1 ) 序列分析

滑动窗口技术• 使用滑动窗口代替一次一个位点的比较是解决这个问题的有效方法。• 假设窗口大小为 10 ,相似度阈值为 8 ,则每次比较取 10 个连续的字符,如相同的字符超过 8 个,则标记• 基于滑动窗口的点矩阵方法可以明显地降低点阵图的噪声,并且明确无误的指示出了两条序列间具有显著相似性的区域。

Page 27: 第三章( 1 ) 序列分析

( a )对人类( Homo sapiens )与黑猩猩( Pongo pygmaeus )的 β 球蛋白基因序列进行比较的完整点阵图。( b )利用滑动窗口对以上的两种球蛋白基因序列进行比较的点阵图,其中窗口大小为 10 个核苷酸,相似度阈值为 8 。

(a) (b)

Page 28: 第三章( 1 ) 序列分析

具有连续相似区域的两条 DNA 序列的简单点阵图

Page 29: 第三章( 1 ) 序列分析

4 、 序列的两两比对

序列的两两比对( Pairwise Sequence Alignment )

按字符位置重组两个序列,使得两个序列达到一样的长度

Page 30: 第三章( 1 ) 序列分析

s: AGCACACA AGCACACA t: ACACACTA ACACACTA ——————————————————————————

Match(A, A) Match(A, A)Delete(G, - ) Replace(G, C)Match(C, C) Insert( -, A)Match(A, A) Match(C, C)Match(C, C) Match(A, A)Match(A, A) Match(C, C)Match(C, C) Replace(A, T)Insert( -, T) Delete(C, -)Match(A, A) Match(A, A)

图 3.6 序列 AGCACACA 和 ACACACTA 的两种比对结果

Alignment -1 Alignment -2

Page 31: 第三章( 1 ) 序列分析

不同编辑操作的代价不同 为编辑操作定义函数 w ,它表示“代价

( cost )”或“权重( weight )”。

对字母表中的任意字符 a 、 b ,定义 w (a, a) = 0

w (a, b) = 1 a b

w (a, -) = w ( -, b) = 1

Page 32: 第三章( 1 ) 序列分析

也可以使用得分( score )函数来评价编辑操作

p (a, a) = 1

p (a, b) = 0 a b

p (a, -) = w ( -, b) = -1

Page 33: 第三章( 1 ) 序列分析

概念: 两条序列 s 和 t 的比对的得分(或代

价)等于将 s 转化为 t 所用的所有编辑操作的得分(或代价)总和;

s 和 t 的最优比对是所有可能的比对中得分最高(或代价最小)的一个比对;

s 和 t 的真实距离应该是在得分函数 p值(或代价函数 w 值)最优时的距离。

Page 34: 第三章( 1 ) 序列分析

例如:s: AGCACACAt: ACACACTA

cost=2

s: AGCACACA t: ACACACTA score (s , t ) = 5

序列比对的目的是寻找一个得分最大(或代价最小)的比对。

Page 35: 第三章( 1 ) 序列分析

5 、打分矩阵( Weight Matrices ) ( 1 )核酸打分矩阵设 DNA 序列所用的字母表为 = { A , C , G , T }

a. 等价矩阵 b. BLAST 矩阵 c. 转移矩阵( transition , transversion ) (嘌呤:腺嘌呤 A ,鸟嘌呤 G ;嘧啶:胞嘧啶 C ,胸腺嘧啶 T )

A T C G

A 1 0 0 0

T 0 1 0 0

C 0 0 1 0

G 0 0 0 1

A T C G

A 5 -4 -4 -4

T -4 5 -4 -4

C -4 -4 5 -4

G -4 -4 -4 5

A T C G

A 1 -5 -5 -1

T -5 1 -1 -5

C -5 -1 1 -5

G -1 -5 -5 1

表 3.1 等价矩阵表 表 3.3 转移矩阵表 3.2 BLAST 矩阵

Page 36: 第三章( 1 ) 序列分析

( 2 )蛋白质打分矩阵 ( i )等价矩阵

( ii ) 氨基酸突变代价矩阵 GCM ( iii )疏水矩阵 ( iv ) PAM 矩阵( Point Accepted Mutation ) ( v ) BLOSUM 矩阵 ( Blocks Amino Acid Substitution Matrices )

ji

jiRij 0

1 其中 Rij 代表打分矩阵元素i 、 j 分别代表字母表第 i 和第 j 个字符。

Page 37: 第三章( 1 ) 序列分析
Page 38: 第三章( 1 ) 序列分析
Page 39: 第三章( 1 ) 序列分析

PAM 矩阵( Point Accepted Mutation )• 基于进化的点突变模型 • 一个 PAM就是一个进化的变异单位 , 即 1% 的氨基酸改变

• 这类矩阵里列出同源蛋白质在进化过程中氨基酸变化的可能性。

• 这类矩阵式基于进化原理的 证据: 编码相同蛋白质的基因随着进化发生分歧,相似度降低。

• 科学

• 用得多

Page 40: 第三章( 1 ) 序列分析

矩阵集合 ----- PAM-N

如, PAM120 矩阵用于比较相距 120 个 PAM 单位的序列。

一个 PAM-N 矩阵元素( i , j )的值: 反应两个相距 N 个 PAM 单位的序列中第 i 种氨基酸替换第 j 种氨基酸的频率。

Page 41: 第三章( 1 ) 序列分析

针对不同的进化距离采用 PAM 矩阵

序列相似度 = 40% 50% 60%

| | |打分矩阵 = PAM120 PAM80 PAM 60

PAM250 → 14% - 27%

Page 42: 第三章( 1 ) 序列分析

归一化打

分实例

Page 43: 第三章( 1 ) 序列分析

BLOSUM 62

Page 44: 第三章( 1 ) 序列分析

第二节 两两比对算法1 、序列两两比对基本算法

直接方法 — 生成两个序列所有可能的比对,分别计算代价函数,然后挑选一个代价最小的比对作为最终结果。

本质问题:优化

动态规划寻优策略

动态规划算法( Dynamic Programming )

Page 45: 第三章( 1 ) 序列分析

最短路经问题

起点 终点

C1

C2

W1

W2

路径 1 : C1 + w1 ?

路径 2 : C2 + w2 ?

取最小值!算法求解 :

从起点到终点逐层计算

Page 46: 第三章( 1 ) 序列分析

利用动态规划方法求解序列的两两比对

起点 终点ATTC………CGAAGA

AGTC………GAAGGT

ATTC………CGAAG

AGTC………GAAGG

A

T+( 1

ATTC………CGAAGA

AGTC………GAAGG

-

T+( 2

ATTC………CGAAG

AGTC………GAAGGT

A

-+( 3

Page 47: 第三章( 1 ) 序列分析

求解过程

起点 终点ATTC………CGAAGA

AGTC………GAAGGT

• 从两个序列前端开始• 逐步推进• 直到两个序列的末端。

Page 48: 第三章( 1 ) 序列分析

序列 S: i-1 i i+1

序列 t: j-1 j j+1

序列 S: i-1 i i+1

序列 t: j-1 j j+1

Case1:

匹配( si , tj

)

中间过程:比对 0:S:i 与 0:T:j

Page 49: 第三章( 1 ) 序列分析

序列 S: i-1 i i+1

序列 t: j-1 j j+1

序列 S: i-1 i i+1

序列 t: j-1 j j+1

Case2:

删除( si , - )

Page 50: 第三章( 1 ) 序列分析

序列 S: i-1 i i+1

序列 t: j-1 j j+1

序列 S: i-1 i i+1

序列 t: j-1 j j+1

Case3:

插入( - , tj

Page 51: 第三章( 1 ) 序列分析

设序列 s 、 t 的长度分别为 m 和 n 。考虑两个前缀

0:s:i 0:t:j

假如已知序列 0:s:i 和 0:t:j 所有较短子列的最优比对,即已知:

( 1 ) 0:s:(i-1) 和 0:t:(j-1) 的最优比对( 2 ) 0:s:(i-1) 和 0:t:j 的最优比对( 3 ) 0:s:i 和 0:t:(j-1) 的最优比对

则 0:s:i 和 0:t:j 的最优比对一定是上述三种情况之一的扩展( 1 )替换( si , tj )或匹配( si , tj ) ,这取决于 si 是否等于 tj ;( 2 )删除( si , - );( 3 )插入( - , tj )。

Page 52: 第三章( 1 ) 序列分析

)::,::( 00 ji tsS令:

为序列 0:s:i 和与序列 0:t:j 比对的得分

按下述方法求解

Page 53: 第三章( 1 ) 序列分析

其初值为:

for i=1 , 2 ,......, m

for j=1 , 2 ,......, n

),()::,::(

),()::,::(

),()::,::(

max)::,::(

)1(00

0)1(0

)1(0)1(0

00

jji

iji

jiji

ji

tptsS

sptsS

tsptsS

tsS

),()::,::()::,::(

),()::,::()::,::(

0)::,::(

)1(000000

00)1(0000

0000

jjj

iii

tptsStsS

sptsStsS

tsS

Page 54: 第三章( 1 ) 序列分析

距离矩阵

按照上述方法,对于给定的得分函数 p ,两个序列所有前缀的得分定义了一个 (m+1)(n+1) 的距离矩阵

D = ( d i , j )

其中 d i , j = S (0:s:i , 0:t:j )

d i , j 的计算公式如下:

),(

),(

),(

max

1,

,1

1,1

,

jji

iji

jiji

ji

tpd

spd

tspd

d

Page 55: 第三章( 1 ) 序列分析

d i , j 最小值的三种选择决定了各矩阵元素之间的关系,

用下图表示:

di,jdi,j-1

di-1,jdi-1,j-1

距离矩阵元素 d i , j 的计算

S (0:s:i , 0:t:j )

S (0:s:i-1 , 0:t:j )S (0:s:i-1 , 0:t:j-1 )

S (0:s:i , 0:t:j-1 )

Page 56: 第三章( 1 ) 序列分析

动态规划算法计算过程:

• 计算过程从 d 0 , 0开始

• 可以是按行计算,每行从左到右,也可以是按列计算,每列从上到下。

当然,任何计算过程,只要满足在计算 d i , j 时

d i-1 , j 、 d i-1 , j-1 、和 d i, j-1都已经被计算这个条件即可。

• 在计算 d i , j 后,需要保存 d i , j 是从 d i-1 , j 、 d i-1 , j-1 、或 d i,

j-1 中的哪一个推进的,或保存计算的路径,以便于后续处理。

•上述计算过程到 d m , n 结束。

Page 57: 第三章( 1 ) 序列分析

最优路径求解:与计算过程相反

• 从 d m , n开始,反向前推。

• 假设在反推时到达 d i ,j ,根据保存的计算路径判断 d i , j究竟是根据 d i-1 , j 、 d i-1 , j-1 、和 d i, j-1 中的那一个计算而得到的。找到这个点以后,再从此点出发,一直到 d 0 , 0 为止。

• 走过的这条路径就是最优路径(即代价最小路径),其对应于两个序列的最优比对。

Page 58: 第三章( 1 ) 序列分析

计算过程:

( 1 )初始化

Page 59: 第三章( 1 ) 序列分析

计算过程:

( 2 )反复计算

•按列计算

Page 60: 第三章( 1 ) 序列分析

计算过程:

( 2 )反复计算

•按行计算

•其他方式

Page 61: 第三章( 1 ) 序列分析

计算过程:

( 3 )求最佳路径

Page 62: 第三章( 1 ) 序列分析

t

s

A C A C A C T A

A

G

C

A

C

A

C

A

例:

s = AGCACACA

t = ACACACTA

得分矩阵 D ( 9×9)

Page 63: 第三章( 1 ) 序列分析

t

s

A C A C A C T A

0 -1 -2 -3 -4 -5 -6 -7 -8

A -1

G -2

C -3

A -4

C -5

A -6

C -7

A -8

初始化

Page 64: 第三章( 1 ) 序列分析

计算 d ( 2 ,2 )

t

s

A C A C A C T A

0 -1 -2 -3 -4 -5 -6 -7 -8

A -1 1 0 -1 -2 -3 -4 -5 -6

G -2 0 1C -3

A -4

C -5

A -6

C -7

A -8

Page 65: 第三章( 1 ) 序列分析

最终的得分矩阵

及序列比对

t

s

A C A C A C T A

0 -1 -2 -3 -4 -5 -6 -7 -8

A -1 1 0 -1 -2 -3 -4 -5 -6

G -2 0 1 0 -1 -2 -3 -4 -5

C -3 -1 1 1 1 0 -1 -2 -3

A -4 -2 0 2 1 2 1 0 -1

C -5 -3 -1 1 3 2 3 2 1

A -6 -4 -2 0 2 4 3 3 3

C -7 -5 -3 -1 1 3 5 4 3

A -8 -6 -4 -2 0 2 4 5 5

AGCACACA| ||||| |ACACACTA

Page 66: 第三章( 1 ) 序列分析

•序列长度的影响:

令 cw(s, t) 表示两个长度分别为 m 和 n 的序列的相似性得分

设 cw(s, t) = 99

如果 m=n=100 -> 则可以说这两个序列非常相似

但如果m=n=1000 ,则仅有 10% 相同

相对长度的得分

sim ( s , t ) = 2*cw(s, t) /(m+n)

•算法分析:数据结构 d i , j

空间复杂度: O (mn)

时间复杂度: O (mn)

Page 67: 第三章( 1 ) 序列分析

2 、子序列与完整序列的比对

----AGCT----

ATGCAGCTGCTT

Page 68: 第三章( 1 ) 序列分析

目标:使 S(s, i:t:j ) 最大

序列 S:

序列 t: i j

不计前缀 0:t:i 的得分 , 也不计删除后缀的 j+1:t:|t| 得分

Page 69: 第三章( 1 ) 序列分析

不计前缀 0:t:i 的得分——处理第一行

t

s

A C A C A C T A

0 0 0 0 0 0 0 0 0

A

G

C

A

C

A

C

A

0)::,::( 000 itsS

Page 70: 第三章( 1 ) 序列分析

不计删除后缀的 j+1:t:|t| 得分 ——处理最后一行

)::,::(

),()::,::(

),()::,::(

max)::,::(

)1(00

0)1(0

)1(0)1(0

00

jm

mjm

jmjm

jm

tsS

sptsS

tsptsS

tsS

Page 71: 第三章( 1 ) 序列分析

dm,,jdm,,j-1

dm-1,,jdm-1,,j-1

S (0:s:i , 0:t:j )

S (0:s:i-1 , 0:t:j )S (0:s:i-1 , 0:t:j-1 )

S (0:s:i , 0:t:j-1 )

不计代价

Page 72: 第三章( 1 ) 序列分析

距离矩阵初始化时,对第一行进行如下处理:

d0,j = 0 for 0 j n

最后一行的计算应该是:

同样, d m, n依然是最优局部比对的得分,而匹配的子列 i:t:j 按如下方式寻找:

( 1 ) j = min {k d m ,k = d m ,n }

( 2 )反推比对路径,最终通过斜线(非空位)到达( 0 , i )。

( 3-10 )

( 3-11 )

1,

,1

1,1

, ),(

),(

max

jm

mjm

jmjm

jm

d

spd

tspd

d

Page 73: 第三章( 1 ) 序列分析

3 、寻找最大的相似子序列

目标:使 dw (i:s :j, i’:t:j’ ) 最大

序列 S:

序列 t: i’ j’

i j

Page 74: 第三章( 1 ) 序列分析

数据结构:( m+1 )( n+1 )的矩阵 D

但是,对数组元素含义解释与基本算法有所不同

每个元素的值代表序列 0:s:i 某个后缀和序列 0:t:j 某个后缀的最佳比对。

Page 75: 第三章( 1 ) 序列分析

这种局部比对不计前缀的得分,所以新的边界条件是:

• d0,j = 0 for 0 j n ( 3-12 )• di,0 = 0 for 1 i m

另外,由于 0:s:i 和 0:t:j 总有一个得分为“ 0” 的空后缀比对,因此矩阵 D 中的所有元素大于或等于“ 0” ,于是,新的递归计算公式为:

(3-13)

0

),(

),(

),(

max1,

,1

1,1

,jji

iji

jiji

ji tpd

spd

tspd

d

Page 76: 第三章( 1 ) 序列分析

寻找最佳比对的子序列

在矩阵中找最大值

该值就是最优的局部比对得分

该值对应的点为序列局部比对的末点

然后反向推演前面的最优路径,直到局部比对的起点。

Page 77: 第三章( 1 ) 序列分析

TATA||||TATA

Page 78: 第三章( 1 ) 序列分析

4 、准全局比较 所谓准全局比较就是在评价序列比对时不计终端

“空缺”( end space ,或空位)的得分或代价

序列 1 长度为 8

序列 2 长度为 18

( a ) 6 个匹配, 1 个失配, 1 个空位

( b ) 8 个匹配

Page 79: 第三章( 1 ) 序列分析

情况 1 :不记 s 后面的空位与 t 后缀比对的得分

在矩阵 di,j 中取最后一行的最大值,即:

jm

n

jdtssim ,

1max),(

(3-14)

序列 S:

序列 t: i’ j’

i j

空位

后缀

Page 80: 第三章( 1 ) 序列分析

情况 2 :不记 s 前面的空位与 t 前缀比对的得分

将矩阵 di,j 中的第一行各元素值置为“ 0”

序列 S:

序列 t:

i’ j’

i j

空位

前缀

Page 81: 第三章( 1 ) 序列分析

情况 3 :……情况 4 :……

半全局比较算法与基本算法在计算 di,j 时的区别归纳为下列四个方面:

( 1 )第一行初始值为“ 0” ,表示不计第一个序列的前端空位;

( 2 )寻找最后一行的最大值,表示不计第一个序列的末端空位;

( 3 )第一列初始值为“ 0” ,表示不计第二个序列的前端空位;

( 4 )寻找最后一列的最大值,表示不计第二个序列的末端空位。

Page 82: 第三章( 1 ) 序列分析

对于最后一行和最后一列的另一种处理办法是:—— 最后一行的横向移动不被空位罚分—— 最后一列的纵向移动也不被罚分

这样,就可以允许在两条序列终端自由存在空位。

当矩阵 D 所有元素计算完以后,其右下角得值即为两条序列最终准全局比对的得分。

ACACTGATCG||||||ACACTG

Page 83: 第三章( 1 ) 序列分析

5 、关于连续空位的问题 K 阶空位 — K 个连续的空位字符 “ -”

ATG-A-T-C-A-G ATG-----ATCAG

ATGCAGTGCAATG ATGTTTTTATCAG

生物学意义 • “ 插入” 或“删除” 突变• 突变次数

连续空位可能对应于一次突变 非连续空位对应于 多次突变

Page 84: 第三章( 1 ) 序列分析

对于连续空位的代价是一个线性的函数。设 p ( k )代表空位得分函数,其中 k是连续空位的个数,则:

p ( k ) = -bk

这里 b ( >0 )是单个“空位”得分的绝对值。

处理方法:• 任何一个比对可以被唯一地分为若干个相继的块。有三类块:

( 1 )两个字符的比对( 2 )与序列 s 空位进行比对的 t 的最大连续字符序列( 3 ) 与序列 t 空位进行比对的 s 的最大连续字符序列

Page 85: 第三章( 1 ) 序列分析

为比较序列 s (长度为 m )和序列 t (长度为 n ),我们使用三个( m+1 )( n+1 )的矩阵 各矩阵第一行和第一列初始值的设定如下:

)(

)(

0

0,

,0

0,0

iwc

jwb

a

i

j

( 3-16 )( 3-17 )

( 3-18 )

递归计算过程如下:

)(

)(max

)(

)(max

max),(

,

,,

,

,

,

1,1

1,1

1,1

,

kwb

kwac

kwc

kwab

c

b

a

jipa

jki

jkiji

kji

kji

ji

ji

ji

ji

ji

(3-20)

for 1 k jfor 1 k j

for 1 k ifor 1 k i

(3-19)

(3-21)

Page 86: 第三章( 1 ) 序列分析

上述算法的时间复杂度为 O(n3) 。比起标准算法,其多花的时间主要用于处理连续的空位。那么,是否可以改进连续空位的得分函数,而使得算法的时间复杂度降低为O(n2)呢?

如果认为 k 个连续空位比 k 个孤立空位出现的可能性更大,则p(k) kp(1) ( 3-22 )

或更一般地,p(k1 + k2 + … + kn ) p(k1) + p(k2) + … +p(kn) (3-23)

可以用下式重新计算连续“空位”的得分:p(0)=0 ( 3-24 )

p(k) = – h – g(k-1), k1 ( 3-25 ) h0 , g0 , hg 。

Page 87: 第三章( 1 ) 序列分析

依然用 A 、 B 、 C 三个矩阵,各自的意义如下:ai,j —— 0:s:i 与 0:t:j 最优比对的得分,该比对以 si 和 tj 匹配结

束bi,j —— 0:s:i 与 0:t:j 最优比对的得分,该比对以空位和 tj 匹配

结束ci,j —— 0:s:i 与 0:t:j 最优比对的得分,该比对以 si 和空位匹配

结束

ji

ji

ji

ji

ji

ji

ji

ji

ji

ji

ji

ji

cg

bh

ah

c

ch

bg

ah

b

c

b

a

jipa

,1

,1

,1

,

1,

1,

1,

,

1,1

1,1

1,1

,

max

max

max),(

对个矩阵元素的初始化工作按以下公式进行: a0,0 = 0 ai,0 = - for 1 i m ao,j = - for 1 j n bi,0 = - for 0 i m (3-29) bo,j = -h-(j-1)g for 1 j n ci,0 = -h-(i-1)g for 1 i m co,j = - for 0 j n

计算公式如下:

( 3-26 )

( 3-27 )

( 3-28 )

Page 88: 第三章( 1 ) 序列分析

6 、比较相似序列 相似序列快速比较算法

• 例如,有两个序列: s=GCGCATGGATTGAGCGA t=TGCGCCATGGATGAGCA 最优比对所对应的路径偏离主对角线,经过一段以后重新返回主对角线。

Page 89: 第三章( 1 ) 序列分析

一个比对假设至少有( k+1 )个空位对,则最佳的得分为:

M ( n - k - 1 ) + 2 ( k +1) g (3-30)

M 为匹配的得分, g 为空白的得分, M0 , g 0 。 从某个 k ( =1 )开始进行计算,如果 dn,n 比( 3-3

0 )计算值小,则将 k 加倍 ,再进行一次计算,直到下式成立。

dn,n M ( n - k - 1 ) + 2 ( k +1) g (3-31)

Page 90: 第三章( 1 ) 序列分析

7 、比对的统计学显著性 ( 1 )典型方法: 将两条待比较的序列分别随机打乱,再使用相同的程

序与打分函数(或打分矩阵)进行比对,计算这些随机序列的相似性得分。重复这一过程,用和分别表示其平均值与标准差。 • 设原来两条序列的比对得分为 x ,利用下式计算大

于或等于 x 的比对得分概率: z = (x - )/ 和分别表示其平均值与标准差 根据 z 值判断两个序列相似得分的显著性

Page 91: 第三章( 1 ) 序列分析

( 2 )相似性得分分布分析方法 • 分析其中的一条序列(称为靶序列)对数据库检索

的相似性得分的分布情况

根据所检测出的其他类似序列的个数与得分大小,并根据结构域或功能的有无设立阳性对照和阴性对照。如果靶序列所检出序列的分布状态与阳性对照序列的检测结果相近,而阴性对照序列不能或仅检出很少有关的序列,则可以断定要比较的那两条序列的比对结果是有统计意义的。

Page 92: 第三章( 1 ) 序列分析

( 3 ) Karlin-Altschul 的计算公式如下:

• P(S>x) = 1- exp(-Ke-x) •

P(S>x) 是最大片段得分大于 x 的概率, K 和是两个参数

Page 93: 第三章( 1 ) 序列分析

经验法则(针对蛋白质序列):① 如果两个序列的长度都大于 100 ,在适当地加入空位之后,它们配对的相同率达到 25% 以上,则两个序列相关;② 如果配对的相同率小于 15% ,则不管两个序列的

长度如何,它们都不可能相关;③ 如果两个序列的相同率在 15%25% 之间,它们

可能是相关的。

Page 94: 第三章( 1 ) 序列分析