第三章( 3 ) dna 片断组装
DESCRIPTION
第三章( 3 ) DNA 片断组装. 主讲人:孙 啸. 制作人:刘志华. 东南大学 吴健雄实验室. 第四节 DNA 片段组装. 大规模基因组测序 得到待测序列的一系列序列片段 这些序列片段覆盖待测序列 序列片段之间也存在着相互覆盖或者重叠。. 目标序列 序列碎片. 1 、片段组装问题 定义: 给定一组取自特定字母表的字符串集合 F ,寻找一个最短的字符串 s ,使得 F 中的每一个字符串都是 s 的一个连续子串。这里,集合 F 的字符串相当于待组装的序列片段,而 s 则是序列片段组装的结果。. Input Answer - PowerPoint PPT PresentationTRANSCRIPT
东南大学 吴健雄实验室
第四节 DNA 片段组装
大规模基因组测序
得到待测序列的一系列序列片段
这些序列片段覆盖待测序列序列片段之间也存在着相互覆盖或者重叠。
目标序列
序列碎片
1 、片段组装问题定义:给定一组取自特定字母表的字符串集合 F ,寻找一个最短的字符串 s ,使得 F 中的每一个字符串都是 s的一个连续子串。这里,集合 F 的字符串相当于待组装的序列片段,而 s 则是序列片段组装的结果。
Input Answer
ACCGT --ACCGT--
CGTGC ----CGTGC
TTAC TTAC-----
TACCGT -TACCGT--
TTACCGTGC
( 1 )碱基标识错误
4 个主要问题
( 2 )不知道片段的方向
( 3 )存在重复区域
.
.
( 4 )缺少覆盖
2 、序列片段组装模型
序列片段组装过程: 三个步骤( 1 )首先进行序列片段的两两比较,确定可能
的片段之间的覆盖(或者重叠);( 2 )确定所有片段统一的覆盖模式,即确定各
个序列片段的相对位置;( 3 )最后确定片段组装结果,即确定目标序列。
( 1 )最短公共超串模型
三种片段组装模型
给定一个字符串集合 F ,求出一个最短的字符串 S ,使得对于所有属于 F 的字符串 f , S 是 f 的超串(或者 f 是 S 的子串)。
设 F={ACT , CTA , AGT}
则 S=ACTAGT 是 F 的超串
由于 S 必须是各片段严格的超串,因此不允许片段的实验误差,
各片段的方向必须是已知的。
( 2 )重建模型
考虑到片段的误差和未知方向的问题
近似子串假设 f 、 g 是代表两条序列的字符串, f 作为 g 近似子串的代价为:
)(),(min),(
gSss sfdgfd
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 。
目标序列
序列碎片
不连续区域
设 F = {GTAC , TAATG , TGTAA}
3 、序列片段覆盖图
覆盖多图 OM ( F )是一个有向图其中图中的各个顶点代表 F 的一个字符串
如果 f 、 gF ,并且 f 的 t 个字符的后缀与 g 的 t个字符的前缀相同,则图中存在一条权值为 t 的有向边。
产生超串的路径
设 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
ATCA
CA
TGCAT
2
2
TGCAT
ATCA
CA
TGCATCA
3
CATGAG
问题???
TGCAT ATCA
CATCAG
TGCATCAG ATCA
期望结果
TGCAT
ATCA
CATGAG
TGCATCATCAG
5 、非循环子图方法 利用非循环子图求解哈密顿路径 (生成节点的拓扑 排序)
给定一个序列片段集合 F 和一个非负整数 t ,在原来覆盖图 OG ( F )中仅保留权值大于等于 t 的有向边,形成一个新图 OG ( F ,t )。
W1
W2
定理 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 和 zk3uk3
x )
解的长度少 1 个碱基
( wk4zk3uk3xk4y )
解与目标序列一样