具有有限重复基因的基因组 DCJ 距离的线性时间近似算法
在基因组研究中,大规模突变或重排会导致基因组的复杂变化和结构变异,如染色体片段的倒位、染色体末端的易位、染色体的融合和分裂等,而这些重排大多可以用双切割连接(DCJ)操作来表示。计算两个基因组之间的重排距离,即找到将一个基因组转化为另一个基因组所需的最少 DCJ 操作数,是比较基因组学中的一项基本任务。对于没有重复基因的基因组,有线性时间算法来计算 DCJ 距离;但对于有重复基因的基因组,计算该距离则是一个 NP 难题。
1. 基础知识
- 基因和基因组表示 :基因是有方向的 DNA 片段,可表示为正向的 $g$ 或反向的 $-g$。基因组可分为染色体,染色体有线性和环状两种,线性染色体的两端是端粒,用符号 $◦$ 表示。例如基因组 $A = {(◦c_1 -a_1 d_1 ◦), (◦b_1 -a_2 c_2 ◦)}$ 由两个线性染色体组成,其中基因 $b$ 和 $d$ 各出现一次,基因 $a$ 和 $c$ 各出现两次,说明 $A$ 有重复基因。
- 平衡基因组 :如果两个基因组 $A$ 和 $B$ 包含每个基因的相同出现次数,即 $GN(A) = GN(B)$,则称它们是平衡的。同时定义 $occ(A) = \max_{g\in A}{m_A(g)}$ 为基因组 $A$ 中任何基因 $g$ 的最大重复数。若 $A$ 和 $B$ 是平衡基因组,则 $occ(A) = occ(B)$,为简便起见,统一用 $occ$ 表示。例如基因组 $A = {(◦c_1 -a_1 d_1 ◦), (◦b_1 c_2 ◦), (c_3)}$ 和 $B =
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



