等距基因树调和算法的改进与优化
在基因树调和领域,等距基因树调和是一个重要的研究方向。本文将探讨原等距基因树调和算法存在的问题,并详细介绍改进后的算法。
1. 符号说明
在深入讨论算法之前,先明确一些符号的含义:
- 对于同一系统发育树中的两个节点 (u) 和 (v),(d(u, v)) 表示它们之间的距离,即连接 (u) 和 (v) 的唯一简单路径上的边长度之和。
- 若 (u) 是有根系统发育树中的节点,(anc(u, d)) 表示树中从 (u) 到根的路径上距离 (u) 恰好为 (d) 的点,其结果可能是 (u) 的某个祖先节点,或者是从 (u) 到根的路径上某条边的一个点,甚至可能是从根向上的一条隐含的无限长边上的点。
- (lca(u, v)) 表示节点 (u) 和 (v) 的最近共同祖先,(lca(X)) 表示节点集合 (X) 的最近共同祖先。同时,假设所有系统发育树的边长度均为严格正数。
2. 原算法存在的问题
Ma 等人在 2008 年提出的等距基因树调和算法存在一些问题,下面我们详细分析。
2.1 原等距调和的定义
原定义如下:
- 基因树 (G) 到物种树 (S) 的任何映射 (\varPhi),若满足以下条件,则为等距调和:
1. (G) 的每个叶子节点映射到 (S) 中指定物种的叶子节点。
2. (G) 的每个内部节点映射到 (S) 中的一个物种形成节点或 (S) 中某条分支上的一个点。
3. (G) 的新根 (q) 映射到 (S) 中某条分支上的一个点 (\varPhi(q)),使得 (G) 中的任何其他节点 (x)
超级会员免费看
订阅专栏 解锁全文
16

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



