260 likes | 397 Views
第三章( 3 ) DNA 片断组装. 主讲人:孙 啸. 制作人:刘志华. 东南大学 吴健雄实验室. 第四节 DNA 片段组装. 大规模基因组测序 得到待测序列的一系列序列片段 这些序列片段覆盖待测序列 序列片段之间也存在着相互覆盖或者重叠。. 目标序列 序列碎片. 1 、片段组装问题 定义: 给定一组取自特定字母表的字符串集合 F ,寻找一个最短的字符串 s ,使得 F 中的每一个字符串都是 s 的一个连续子串。这里,集合 F 的字符串相当于待组装的序列片段,而 s 则是序列片段组装的结果。. Input Answer
E N D
第三章(3) DNA片断组装 主讲人:孙 啸 制作人:刘志华 东南大学 吴健雄实验室
第四节 DNA片段组装 大规模基因组测序 得到待测序列的一系列序列片段 这些序列片段覆盖待测序列 序列片段之间也存在着相互覆盖或者重叠。 目标序列 序列碎片
1、片段组装问题 定义: 给定一组取自特定字母表的字符串集合F,寻找一个最短的字符串s,使得F中的每一个字符串都是s的一个连续子串。这里,集合F的字符串相当于待组装的序列片段,而s则是序列片段组装的结果。 InputAnswer ACCGT --ACCGT-- CGTGC ----CGTGC TTAC TTAC----- TACCGT -TACCGT-- TTACCGTGC
4个主要问题 (1)碱基标识错误
(3)存在重复区域 . .
2、序列片段组装模型 序列片段组装过程: • 三个步骤 (1)首先进行序列片段的两两比较,确定可能的片段之间的覆盖(或者重叠); (2)确定所有片段统一的覆盖模式,即确定各个序列片段的相对位置; (3)最后确定片段组装结果,即确定目标序列。
三种片段组装模型 (1)最短公共超串模型 给定一个字符串集合F,求出一个最短的字符串S,使得对于所有属于F 的字符串f,S是 f 的超串(或者 f 是 S 的子串)。 设F={ACT,CTA,AGT} 则S=ACTAGT 是 F 的超串 由于S必须是各片段严格的超串,因此不允许片段的实验误差, 各片段的方向必须是已知的。
考虑到片段的误差和未知方向的问题 近似子串 假设f、g是代表两条序列的字符串,f 作为 g 近似子串的代价为: (2)重建模型 S(g)代表 g 所有子串的集合,d为一般编辑距离。
设 f=GCGATAG, g =CAGTCGCTGATCGTACG, 则最佳的子序列比对如下 -----GC-GATAG---- CAGTCGCTGATCGTACG 设 是一个介于0和1之间的数,称串f 是在误差下S 的近似子串,如果 ds(f, S) f 重建模型:给定一个字符串集合F,求一个最短的字符串S,使得对于所有属于F的字符串f,下式成立: min (ds(f, S), ds(f’, S) ) f 其中 f’是 f 的反向互补串。
不连续区域 (3)多重连续区模型 目标序列 序列碎片 称一个多重序列比对是 t-contig,如果其最弱连接的交叠长度至少为 t。如果能够根据序列片段集合F构造一个t-contig,称F允许一个t-contig。 多重连续区模型:给定一个片段集合F和一个整数 t(0),将F分割为最小数目的子集Ci,1ik,每个Ci允许一个t-contig。
3、序列片段覆盖图 覆盖多图OM(F)是一个有向图 其中图中的各个顶点代表F的一个字符串 如果f、gF,并且f 的t个字符的后缀与g的t个字符的前缀相同,则图中存在一条权值为t的有向边。 产生超串的路径
设P是OM(P)中的一条路径,A是该路径上对应片段的集合,P有A-1条边。设P是OM(P)中的一条路径,A是该路径上对应片段的集合,P有A-1条边。 • 将根据 P 所得到的超串记为S(P)。 • A的总长度、路径权值及超串的长度关系如下: ‖A‖ = w(P) + S(P) ‖A‖= aAa 是A中序列的总长度 w(P)是路径P权值的和
任何一条路径对应于一个公共超串 一条路径是否通过图中所有的顶点? — 哈密顿路径 A=F 的共同超串 S(P) = ‖F‖ - w(P) ‖F‖是常数 S(P)取最小等价于对w(P)取最大 求最短的公共超串等价于取权值最大的哈密顿路径
最短超串是否总是对应于一条路径呢? 答案是肯定的 • 定理3.3设F是一个无子串的串集合,则对于F的任何一个公共的超串S,在OM(F)中存在一条哈密顿路径P,使得S(P)是S的子序列。(与子串有区别) • 推论3.1设F是一个无子串的串集合,如果S是F最短的公共超串,则在OM(F)中有一条哈密顿路径P,使得S=S(P)。 • 引理3.2两个等价的无子串的串集合相同。 • 定理3.4设F是一个串集合,则存在一个唯一的无子串集合G,使G等价于F。
根据上述的各个定理,片段组装的一般过程如下:根据上述的各个定理,片段组装的一般过程如下: (1)对于给定的片段集合F,首先去掉那些是子串的序列,形成新的片段集合F’; (2)根据F’生成覆盖多图; (3)求权值最高的哈密顿路径,由此得到最短的公共超串; (4)最终形成组装结果。 但是,如何在一个覆盖多图中找出权值最高的哈密顿路径呢?
4、贪婪算法 • 简化覆盖多图,对每一对顶点仅考虑权值最大的边,而去掉其它的边。 • 称经过处理后的新图为F的覆盖图,记为OG(F)。 • 贪婪算法的核心思想就是逐步加入满足哈密顿路径条件的最大权值的边 • 无回路 • 节点出度为1 • 节点入度为1
CATGAG CA 3 2 问题??? 2 ATCA TGCAT 期望结果 TGCAT ATCA CATGAG TGCATCATCAG TGCAT ATCA CA TGCATCA TGCAT ATCA CATCAG TGCATCAG ATCA
5、非循环子图方法 • 利用非循环子图求解哈密顿路径 (生成节点的拓扑 排序) W1 W2 • 给定一个序列片段集合F和一个非负整数t,在原来覆盖图OG(F)中仅保留权值大于等于t的有向边,形成一个新图OG(F,t)。
定理3.5设S是一个目标序列,F是一个覆盖S的无子串序列片段集合,F的连接强度大于等于t(t0),则覆盖多图OM(F,t)中有一条哈密顿路径P,使超串S(P)= S。 • 定理3.6设F是由目标序列S产生的一个序列片段集合,如果覆盖图OG(F,t)有一回路,则在S中存在一个长度至少为t的重复。 • 定理3.7设S是一个目标序列,F是一个覆盖S的无子串序列片段集合,F的连接强度大于等于t(t0),如果S没有大于等于t长度的重复,则OG(F,t)具有一条唯一的哈密顿路径P,并且S(P)= S。
设目标序列和各个片段如下: 目标序列 S=AGTATTGGCAATCGATGCAAACCTTTTGGCAATCACT 各个片段 w=AGTATTGGCAATC z=AATCGATG u=ATGCAAACCT x=CCTTTTGG y=TTGGCAATCACT
(wk9y 和zk3uk3x) 解的长度少1个碱基 (wk4zk3uk3xk4y ) 解与目标序列一样