第三章(
This presentation is the property of its rightful owner.
Sponsored Links
1 / 94

第三章( 1 ) 序列分析 PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

第三章( 1 ) 序列分析

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1

第三章(1) 序列分析

主讲人:孙 啸

制作人:刘志华

东南大学 吴健雄实验室


1

第三章 序 列 比 较

  • 序列比较的根本任务是:

    • 发现序列之间的相似性

    • 辨别序列之间的差异

  • 目的:

    相似序列  相似的结构,相似的功能

    判别序列之间的同源性

    推测序列之间的进化关系


1

第一节 序列的相似性

  • 同源(homology)- 具有共同的祖先

    • 直向同源(Orthologous )

    • 共生同源(paralogous )

  • 相似(similarity)

    —同源序列一般是相似的

    — 相似序列不一定是同源的

    — 进化趋同(同功能)


1

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

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

基因复制

进化趋同

水平转移


1

序列的相似性描述

  • 定性的描述

  • 定量的数值

    • 相似度

    • 距离


1

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

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

设有两个序列:

GACGGATTAG,GATCGGAATAG

  • Alignment1:

  • GACGGATTAG

  • GATCGGAATAG

  • Alignment2:

  • GA CGGATTAGGATCGGAATAG


1

1、字母表和序列

  • 字母表

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

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

    • 单字母氨基酸编码


1

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


1

1、字母表和序列

  • 特定的符号

     — 代表字母表

    • A* — 代表由字母表A中字符所形成的一系列有限长度序列或字符串或序列的集合

      a、b、c—代表单独的字符

      s、t、u、v—代表A*中的序列

      |s|—代表序列s的长度


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)


1

  • i:s: i — 为空序列

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

    子序列与子串

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

    例如: TTT 是 ATATAT的子序列。


1

s的子串:

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

例如:

TAC是AGTACA的子串,

但不是TTGAC的子串(是子序列)。

  • 子串是子序列

  • 子序列不一定是子串


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


1 2 3 4

序列比较可以分为四种基本情况:(1)两条长度相近的序列相似 找出序列的差别(2)判断一条序列的前缀与另一条序列的后缀相似(3)判断一条序列是否是另一条序列的子序列(4)判断两条序列中是否有非常相似的子序列


2 edit distance

2、编辑距离(Edit Distance)

GCATGACGAATCAG



TATGACAAACAGC

GCATGACGAATCAG



TATGAC-AAACAGC

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


1

  • 两条序列的相似程度的定量计算

    • 相似度,它是两个序列的函数,其值越大,表示两个序列越相似

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


Edit operation

字符编辑操作(Edit Operation)

直接距离计算的不足

  • 字符编辑操作可将一个序列转化为一个新序列

    • Match(a,a)

    • Delete(a,-)

    • Replace(a,b)

    • Insert(-,b)


1

扩展的编辑操作

ACCGACAATATGCATA



ACTGACAATATGGATA

ACCGACAATATGCATA



ATAGGTATAACAGTCA

第二条序列头尾颠倒

CTAGTCGAGGCAATCT

GAACAGCTTCGTTAGT


1

反向互补序列

RNA发夹式二级结构


1

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


1

→ 序列1 →

实 例

→序列2 →


1

→ 序列1 →

自我比较

→序列1 →


1

  • 滑动窗口技术

    • 两条序列中有很多匹配的字符对,因而在点矩阵中会形成很多点标记。


1

  • 滑动窗口技术

    • 使用滑动窗口代替一次一个位点的比较是解决这个问题的有效方法。

    • 假设窗口大小为10,相似度阈值为8,则每次比较取10个连续的字符,如相同的字符超过8个,则标记

    • 基于滑动窗口的点矩阵方法可以明显地降低点阵图的噪声,并且明确无误的指示出了两条序列间具有显著相似性的区域。


1

(a) (b)

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


1

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


1

4、 序列的两两比对

  • 序列的两两比对

    (Pairwise Sequence Alignment)

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


1

Alignment -1 Alignment -2

s:AGCACACAAGCACACA

t:ACACACTAACACACTA

——————————————————————————

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的两种比对结果


1

不同编辑操作的代价不同

为编辑操作定义函数w,它表示“代价(cost)”或“权重(weight)”。

对字母表中的任意字符a、b,定义

w (a, a) = 0

w (a, b) = 1 a  b

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


Score p a a 1 p a b 0 a b p a w b 1

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

p (a, a) = 1

p (a, b) = 0 a  b

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


1

概念:

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

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

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


S agcacac a t a cacacta cost 2 s agcacac a t a cacacta score s t 5

例如:

s:AGCACACA

t:ACACACTA

cost=2

s:AGCACACA

t:ACACACTA

score (s,t)= 5

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


5 weight matrices

5、打分矩阵(Weight Matrices)

  • (1)核酸打分矩阵设DNA序列所用的字母表为

    = { A,C,G,T }

    a. 等价矩阵

    b. BLAST矩阵

    c. 转移矩阵(transition,transversion)

    (嘌呤:腺嘌呤A,鸟嘌呤G;嘧啶:胞嘧啶C,胸腺嘧啶T)

表3.1 等价矩阵表

表3.2 BLAST矩阵

表3.3 转移矩阵


1

(2)蛋白质打分矩阵

  • (i)等价矩阵

  • (ii) 氨基酸突变代价矩阵GCM

  • (iii)疏水矩阵

  • (iv)PAM矩阵(Point Accepted Mutation)

  • (v) BLOSUM矩阵

    (Blocks Amino Acid Substitution Matrices)

其中Rij代表打分矩阵元素

i、j分别代表字母表第i和第j个字符。


1

  • PAM矩阵(Point Accepted Mutation)

    • 基于进化的点突变模型

    • 一个PAM就是一个进化的变异单位, 即1%的氨基酸改变

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

  • 这类矩阵式基于进化原理的

  • 证据:

  • 编码相同蛋白质的基因随着进化发生分歧,相似度降低。

  • 科学

  • 用得多


1

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

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

一个PAM-N矩阵元素(i,j)的值:

反应两个相距N个PAM单位的序列中第i种氨基酸替换第j种氨基酸的频率。


1

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

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

| | |

打分矩阵 = PAM120 PAM80 PAM 60

PAM250 → 14% - 27%


1

归一化打分

实例


1

BLOSUM 62


1

第二节 两两比对算法

1、序列两两比对基本算法

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

本质问题:优化

动态规划寻优策略

动态规划算法(Dynamic Programming)


1

最短路经问题

C1

W1

终点

起点

W2

C2

路径1:C1 + w1 ?

路径2:C2 + w2 ?

取最小值!

算法求解:

从起点到终点逐层计算


1

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

ATTC………CGAAGA

AGTC………GAAGGT

起点

终点

ATTC………CGAAG

AGTC………GAAGG

A

T

+

(1)

ATTC………CGAAGA

AGTC………GAAGG

-

T

+

(2)

ATTC………CGAAG

AGTC………GAAGGT

A

-

+

(3)


1

求解过程

ATTC………CGAAGA

AGTC………GAAGGT

起点

终点

  • 从两个序列前端开始

  • 逐步推进

  • 直到两个序列的末端。


1

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

序列S: i-1 i i+1

序列t: j-1 j j+1

序列S: i-1 i i+1

Case1:

匹配(si,tj )

序列t: j-1 j j+1


1

序列S: i-1 i i+1

序列t: j-1 j j+1

序列S: i-1 i i+1

Case2:

删除(si, -)

序列t: j-1 j j+1


1

序列S: i-1 i i+1

序列t: j-1 j j+1

序列S: i-1 i i+1

Case3:

插入(-,tj )

序列t: j-1 j j+1


1

设序列s、t的长度分别为m和n。

考虑两个前缀

0:s:i0: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)。


1

令:

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

按下述方法求解


1

其初值为:

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

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


1

距离矩阵

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

D = ( d i , j )

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

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


1

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

用下图表示:

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

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

di-1,j-1

di-1,j

di,j-1

di,j

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

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


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结束。


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为止。

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


1

计算过程:

(1)初始化


1

  • 计算过程:

  • (2)反复计算

  • 按列计算


1

  • 计算过程:

  • (2)反复计算

  • 按行计算

  • 其他方式


1

计算过程:

(3)求最佳路径


1

例:

s = AGCACACA

t = ACACACTA

得分矩阵D (9×9)


1

初始化


1

计算d(2,2)


1

最终的得分矩阵

及序列比对

AGCACACA

| ||||| |

ACACACTA


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)


1

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

----AGCT----

ATGCAGCTGCTT


1

  • 目标:

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

序列S:

序列t:

i j

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


1

不计前缀0:t:i 的得分

——处理第一行


1

不计删除后缀的j+1:t:|t|得分

——处理最后一行


1

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

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

dm-1,,j-1

dm-1,,j

dm,,j-1

dm,,j

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

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

不计代价


1

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

d0,j = 0 for 0  j  n

最后一行的计算应该是:

(3-10)

(3-11)

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

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

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


1

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

  • 目标:

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

i j

序列S:

序列t:

i’ j’


M 1 n 1 d 0 s i 0 t j

数据结构:(m+1)(n+1)的矩阵 D但是,对数组元素含义解释与基本算法有所不同每个元素的值代表序列0:s:i 某个后缀和序列0:t:j某个后缀的最佳比对。


1

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

    • d0,j = 0 for 0  j  n (3-12)

    • di,0 = 0for 1  i  m

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

(3-13)


1

寻找最佳比对的子序列

  • 在矩阵中找最大值

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

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

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


1

TATA

||||

TATA


1

4、准全局比较

  • 所谓准全局比较就是在评价序列比对时不计终端“空缺”(end space,或空位)的得分或代价

序列1 长度为8

序列2 长度为18

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

(b)8个匹配


1

i j

序列S:

空位

后缀

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

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

序列t:

i’ j’

(3-14)


1

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

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

i j

空位

前缀

序列S:

序列t:

i’ j’


1

情况3:……

情况4:……

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

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

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

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

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


1

对于最后一行和最后一列的另一种处理办法是:

——最后一行的横向移动不被空位罚分

——最后一列的纵向移动也不被罚分

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

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

ACACTGATCG

||||||

ACACTG


1

5、关于连续空位的问题

  • K 阶空位 — K个连续的空位字符 “-”

    ATG-A-T-C-A-GATG-----ATCAG

    ATGCAGTGCAATGATGTTTTTATCAG

  • 生物学意义

    • “插入” 或“删除” 突变

    • 突变次数

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

      • 非连续空位对应于 多次突变


1

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

    p(k)= -bk

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

  • 处理方法:

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

      (1)两个字符的比对

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

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


1

为比较序列s(长度为m)和序列t(长度为n),我们使用三个(m+1)(n+1)的矩阵

各矩阵第一行和第一列初始值的设定如下:

(3-16)

(3-17)

(3-18)

递归计算过程如下:

(3-19)

for 1 k  j

(3-20)

for 1 k  j

for 1 k  i

(3-21)

for 1 k  i


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), k1 (3-25)

h0,g0,hg。


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 和空位匹配结束

计算公式如下:

对个矩阵元素的初始化工作按以下公式进行:

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)


1

6、比较相似序列

  • 相似序列快速比较算法

    • 例如,有两个序列:

      s=GCGCATGGATTGAGCGA

      t=TGCGCCATGGATGAGCA

      最优比对所对应的路径偏离主对角线,经过一段以后重新返回主对角线。


1

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

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

M为匹配的得分,g为空白的得分,M0,g  0。

从某个k(=1)开始进行计算,如果dn,n比(3-30)计算值小,则将k 加倍,再进行一次计算,直到下式成立。

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


1

7、比对的统计学显著性

  • (1)典型方法:

    将两条待比较的序列分别随机打乱,再使用相同的程序与打分函数(或打分矩阵)进行比对,计算这些随机序列的相似性得分。重复这一过程,用和分别表示其平均值与标准差。

    • 设原来两条序列的比对得分为x,利用下式计算大于或等于x的比对得分概率:

      z = (x - )/和分别表示其平均值与标准差

      根据z值判断两个序列相似得分的显著性


1

(2)相似性得分分布分析方法

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

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


1

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

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

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


1

  • 经验法则(针对蛋白质序列):

    ① 如果两个序列的长度都大于100,在适当地加入空位之后,它们配对的相同率达到25%以上,则两个序列相关;

    ② 如果配对的相同率小于15%,则不管两个序列的长度如何,它们都不可能相关;

    ③ 如果两个序列的相同率在15%25%之间,它们可能是相关的。


1

THE END


  • Login