推断参数
令 X∈ΣN×L 表示包含 N 个物种和 L 个对齐位点的 MSA。ConcordTree 的输出是与输入具有相同叶集的一棵无根二叉树 T。一次推断由下列参数组确定:
- t · 任务类型
- 可选基因树或物种树,默认为物种树。
- g · AP-NJ 距离
- 可选标准距离或缺失感知距离,默认为标准距离。
- m · 四元组评分器
- 对从一条内部边的四个相邻分支各选一个物种形成的四元组,评分器分别为 AB|CD、AC|BD 和 AD|BC 给出支持分数。分数越高,表示该拓扑与 MSA 中的序列模式越相容;NNI 使用候选拓扑相对当前拓扑的分数增益。可选轻量 MLP 或 Transformer,默认为 MLP。View NNI 始终使用与任务类型匹配的 MLP。
- K · View 数量
- 可设为 2–8,默认为 4。每个 View 选择一个互补位点子集,并最终产生一棵包含全部 N 个物种的树。
- εz, Rz · 精修控制
- 对阶段 z∈{View, Coordinate, Saturation},εz 是交换比例阈值,Rz 是最大轮数。三个阶段的默认值依次为 (0.01,24)、(0.005,4) 和 (0.005,5)。
AP-NJ:无矩阵聚合轮廓邻接法
第 k 个 View 选择位点集合 Jk⊆{1,…,L},但始终保留全部 N 个物种。AP-NJ 在该子矩阵上构造一棵完整骨架树。每个物种或已合并簇在位点 s 上由四维状态轮廓表示;观测碱基对应 one-hot 向量,缺失状态由距离模型 g 处理。
在标准模型中,缺失状态使用该位点的经验碱基频率 qs 表示。若 ris 和 rjs 是两个簇的状态轮廓,则位点不匹配距离为
内积表示两个轮廓在该位点取相同碱基的概率,因此一减去该值就是期望不匹配概率。
在缺失感知模型中,pis 只记录实际观测质量,mis=1Tpis 是观测质量,πs=1−‖qs‖22 是背景不匹配概率,ws=cs2 表示随机两个物种同时观测到该位点的概率。令
则缺失感知的位点距离为
当两端均被观测时,该式退化为普通不匹配;当两端均缺失时,距离回到位点先验;只有一端被观测时,它在边际化和经验填补之间连续插值。
相干稀疏指数
CSI 同时描述物种对的共同观测稀疏度,以及不同物种是否在相同区域缺失。令 Si为物种 i 具有实际观测的位点集合。对每一对物种,定义共同观测比例 Oij 和观测掩码的 Jaccard 相似度 Jij:
相干稀疏指数(coherent sparsity index, CSI)定义为
第一项在物种对能够共同观测的位点较少时增大,表示“稀疏性”;第二项在不同物种的观测区域高度重合时增大,表示“相干性”。只有两者同时出现,CSI 才高。因此,CSI 区分了普通的分散缺失与成块、相关的缺失,后者正是缺失感知距离所建模的情形。
CSI≤0.25:选择标准距离。CSI≥0.35:选择缺失感知距离。0.25<CSI<0.35:比较两种距离。
两种距离对簇轮廓都是仿射双线性的。令当前活动簇集合为 A、簇数为 nA,聚合轮廓为 Ps=∑j∈Apjs。算法可以直接由 Ps 得到标准 NJ 行和 Ri=∑j∈Adg(i,j),无需建立稠密的 N×N 距离矩阵。对于稀疏候选对,仍使用标准 NJ 准则
其中 d₍g₎(i,j) 是参数 g 选择的簇间距离,Rᵢ 和 Rⱼ 是对应的距离行和。AP-NJ 只稀疏化候选对的搜索;候选对的距离、行和与 Q 值均按选定公式计算。
- 为每个物种初始化状态轮廓,并令活动簇集合 A 为全部叶节点。
- 当 |A|>3 时,利用轮廓投影为每个簇提出少量近邻候选。
- 由聚合轮廓计算所有活动簇的精确 NJ 行和 Ri。
- 对候选对计算 Q(i,j),选择互为最佳且彼此不重叠的簇对。
- 并行合并选中的簇对;更新平均轮廓和距离偏移,使后续距离满足标准 NJ 递推式。
- 连接最后三个活动簇并返回树。
相容分支合并
每棵 View 树 Tk 被写成非平凡二分分支集合 S(Tk)。算法首先建立分支库 𝒮=⋃k=1KS(Tk)。对分支 s,其 View 支持数为
c(s)=K 表示所有 View 一致支持该分支。其余分支按局部神经收益是否在所有可用 View 中为非负、支持数、收益中位数和均值依次排序。
两个分支 A|Ac 和 B|Bc 相容,当且仅当下面四个交集至少有一个为空:
这个条件保证两个二分分支能够同时出现在同一棵无根树中。算法按证据顺序依次接收相容分支,因此得到的是该顺序下的极大相容集合,而不是声称求解全局加权最优树。
为了给尚未解析的区域提供一致锚点,定义中心 View 为
其中 △ 表示对称差,其大小就是两棵树不同的分支数。中心 View 因此是与其余 View 总分支差最小的那棵树;它只补足锚点,不覆盖已接受的相容分支。
- 提取全部 View 树的规范化二分分支并建立分支库。
- 将所有 c(s)=K 的一致分支加入集合 𝒞。
- 按稳定性、View 支持数和神经证据对其余分支排序。
- 依次扫描分支;若候选分支与 𝒞 中全部分支相容,则将其加入 𝒞。
- 继续加入中心 View 中与 𝒞 相容的锚点分支。
- 确定性补全 𝒞,直到包含 N−3 个内部边,并将其实体化为 T₀。
三种 NNI 精修
对于内部边 e,其四个相邻分支记为 A、B、C 和 D。保持当前拓扑与两种 NNI 交换构成三个候选状态:AB|CD、AC|BD 和 AD|BC。四元组评分器给出势函数
其中 m 是所选评分器。若当前状态为 τ0,最佳替代状态为 τ*,则交换收益为 Δ(e)=Lm(τ*)−Lm(τ0)。每轮只执行收益满足该阶段准则且互不共享内部节点的 NNI,以避免同时修改相邻边。
View NNI
在每棵 AP-NJ 树上检查全部内部边。树的初始拓扑来自该 View 的位点子集,但 NNI 评分读取完整 MSA。它从四个相邻分支各取少量邻近代表,用轻量评分器消除明显局部错误。
Coordinate NNI
从 T₀ 开始,只检查没有得到全部 View 一致支持的边。一个上下文面板可以服务多条邻近边,每条边由两个覆盖视角共同确认,从而批量修复共识树。
Saturation NNI
在 Coordinate 输出树上重新识别不确定边,并为每条边建立专属且四向均衡的上下文。它要求整体收益和代表四元组的中位收益均为正,用于集中复查剩余边。
设第 r 轮接受的交换集合为 Mr。一棵含 N 个叶的无根二叉树具有 N−3 条内部边,因此定义归一化交换比例
阶段 z 在没有可接受交换、ρr≤εz 或 r≥Rz 时停止。εz 控制收敛程度,Rz 控制最坏运行预算。
- 若 z=View,令目标集合为 T 的全部内部边;否则令目标集合为当前树中未获全部 View 一致支持的边。
- 按照阶段 z 的规则构造代表物种上下文,并计算每条目标边三种局部拓扑的势函数。
- 从正收益候选中按收益排序,选择一组互不冲突的 NNI。
- 同时应用选中的 NNI,得到下一轮树并计算交换比例 ρᵣ。
- 若没有交换、ρᵣ≤ε_z 或达到 R_z,则返回当前树;否则重新构造上下文并继续下一轮。
计算复杂度
设 N 为物种数,L 为比对长度,K 为 View 数量,S 为每个 View 使用的最大位点数,R 为三个 NNI 阶段的总轮数。读取 MSA 需要 O(NL) 时间;AP-NJ 的期望时间为 O(KNS log N),无需建立传统 NJ 的稠密 N×N 距离矩阵;NNI 精修检查 O(RN) 条内部边,且每条边使用固定大小的四元组上下文。因此,在 K、S 和 R 固定时,通常的时间增长为 O(NL+N log N)。分支合并对平衡树为 O(KN log N),在完全阶梯化树上的最坏情况为 O(KN2)。主要内存为输入 MSA 的 O(NL) 与 View 轮廓的 O(NS);稠密距离矩阵不占用内存。