跳转到内容

距离矩阵方法

快速概览

与基于位点建模的算法不同,距离法首先将复杂的序列比对结果压缩为一个简洁的 $n \times n$ 距离矩阵,然后再寻找一棵最能「解释」这些距离的树。

  • 理解从多序列比对到距离矩阵的压缩过程
  • 掌握常见的演化距离度量(如 Hamming、Jukes-Cantor)
  • 了解距离法在处理大规模数据时的计算优势
  • 对比有根树(UPGMA)与无根树(NJ)构建的逻辑差异
所属板块 分析方向与案例

把基础对象与算法方法重新放回真实分析任务与工作流。

阅读目标 帮助建立阅读上下文

先判断这页与你当前问题的关系,再决定是否深入展开。

建议前置 先建立相关基础对象与方法直觉

建议先建立相关基础对象与方法直觉,再进入本页。

1. 要解决什么生物信息学问题?

Section titled “1. 要解决什么生物信息学问题?”

基于距离的方法要解决的核心问题是:给定一组生物序列,如何高效地重建它们之间的进化关系?

距离法的策略是将复杂的序列比对数据压缩为一个简洁的距离矩阵,然后在距离矩阵上应用图论算法来构建系统发育树。这种”先压缩、再建树”的两阶段策略虽然在信息上有所损失,但在计算效率上具有显著优势。

  • 多序列比对结果(通常为 FASTA 或 Clustal 格式)。
  • 距离度量函数的选择(如 p-distance、Jukes-Cantor 等)。
  • 一棵带权的系统发育树 T=(V,E,w)T = (V, E, w),其中叶子节点对应输入序列,边权表示进化距离。

基于距离的方法通常分为两个独立步骤:

  1. 距离估计:通过比对计算每对序列之间的演化距离,填充 n×nn \times n 的距离矩阵 DD
  2. 树构建:应用特定算法(如 UPGMA 或 NJ)根据矩阵 DD 推断树拓扑结构和边权。

将距离估计和树构建分离有一个重要优势:两个阶段可以独立优化。距离估计阶段可以使用复杂的序列进化模型来获得更准确的距离,而树构建阶段可以使用高效的图论算法来处理大规模数据。

距离矩阵中的每一个值 DijD_{ij} 应该反映物种 iijj 自共同祖先分化以来积累的替换总数。

p-distance
简单的差异比例(错配数 / 比对长度)。虽然直观,但在分化时间较长时会因为"多次替换"而低估真实距离。
Jukes-Cantor (JC) 距离
最简单的核苷酸替换模型。假设四种碱基的替换概率相等,通过公式 $d = - rac{3}{4}ln(1 - rac{4}{3}p)$ 将 p-distance 校正为估计的真实替换数。
Kimura 2-Parameter (K2P) 距离
区分转换(Transition, Ti) 和颠换(Transversion, Tv) 两种替换类型。由于 Ti 的发生频率通常高于 Tv,K2P 比 JC 更准确地估计距离。
超度量(Ultrametric)
一种特殊的距离性质,要求所有物种到根的路径长度相等。这是 UPGMA 算法的核心假设。

p-distance 的问题在于”饱和效应”:当两个序列分化时间足够长时,同一个位点可能经历了多次替换。例如,一个位点从 A 变成 G,后来又从 G 变成 T,但我们在比对中只能看到一个差异(A vs T),却错过了中间的替换事件。

p-distance 与真实替换数 dd 的关系可以用以下公式近似(Jukes-Cantor 模型下): p=34(1e43d)p = \frac{3}{4}\left(1 - e^{-\frac{4}{3}d}\right)

dd 较小时,pdp \approx d,p-distance 是合理的近似。但当 dd 较大时,pp 趋近于 3/4=0.753/4 = 0.75(即完全随机化),无法区分”中等分化”和”高度分化”的序列对。

在 Jukes-Cantor 模型下,经过时间 tt 后,某个位点未发生任何替换的概率为: P(不变)=14+34e43λtP(\text{不变}) = \frac{1}{4} + \frac{3}{4}e^{-\frac{4}{3}\lambda t}

其中 λ\lambda 是替换速率。观测到的相同比例 1p=P(不变)1 - p = P(\text{不变}),因此: d=λt=34ln(143p)d = \lambda t = -\frac{3}{4}\ln\left(1 - \frac{4}{3}p\right)

这个公式将可观测的 pp 值”校正”为不可观测的真实替换数 dd

5. Worked Example:从比对到距离矩阵

Section titled “5. Worked Example:从比对到距离矩阵”

假设有以下 4 条序列的比对结果:

序列 A: A T G C C A
序列 B: A T G C T A
序列 C: A T G C C G
序列 D: A T A C C A

比对长度 L=6L = 6

计算 p-distance

  • DAB=1/6D_{AB} = 1/6(位置 5 不同:C vs T)
  • DAC=1/6D_{AC} = 1/6(位置 6 不同:A vs G)
  • DAD=1/6D_{AD} = 1/6(位置 3 不同:G vs A)
  • DBC=2/6D_{BC} = 2/6(位置 5, 6 不同)
  • DBD=2/6D_{BD} = 2/6(位置 3, 5 不同)
  • DCD=2/6D_{CD} = 2/6(位置 3, 6 不同)

Jukes-Cantor 校正(以 DABD_{AB} 为例): dAB=34ln(14316)=34ln(79)0.170d_{AB} = -\frac{3}{4}\ln\left(1 - \frac{4}{3} \cdot \frac{1}{6}\right) = -\frac{3}{4}\ln\left(\frac{7}{9}\right) \approx 0.170

  • 计算极快:相比最大似然法(ML) 或贝叶斯法,距离法能处理包含数万条序列的超大数据集。
  • 直观性:将进化关系量化为空间距离,易于通过聚类方法理解。
  • 灵活性:可以自由选择距离度量,适应不同类型的序列和不同的进化模型。
  • 信息丢失:将整个序列比对简化为一个数字,丢失了具体的位点变异信息。这种信息丢失可能导致在树拓扑的关键位置产生错误。
  • 对噪声敏感:如果距离估计不准,构建出的树拓扑可能发生剧烈跳变。
  • 无法利用位点特异性信息:基于位点的方法(如 ML)可以对不同位点赋予不同的替换速率,而距离法只能产生一个全局的汇总距离。

7. 距离矩阵的性质与树的对应关系

Section titled “7. 距离矩阵的性质与树的对应关系”

如果距离矩阵 DD 可以被一棵带权树完美解释(即任意两点的距离等于树上路径长度之和),则称 DD 是可加的。这是距离法的理想情况。

如果距离矩阵 DD 满足超度量条件(对于任意三点 i,j,ki, j, k,三个距离中的最大值至少出现两次),则称 DD 是超度量的。超度量矩阵对应于一棵所有叶子到根等距的树。

现实中的距离矩阵通常既不完全可加也不超度量,原因包括:

  • 多重替换导致距离低估(即使使用校正模型也只能部分补偿)。
  • 不同位点的进化速率不同(异质性)。
  • 测序误差和比对错误引入噪声。

本章节将详细探讨以下两种最经典的距离算法:

  • UPGMA:基于平均连接的聚类,产生有根树,假设分子钟。
  • Neighbor-Joining (NJ):基于 Q 矩阵的启发式搜索,产生无根树,不要求分子钟。
场景推荐算法原因
序列数量少(< 50),教学演示UPGMA直观易懂,有根树
序列数量中等,分子钟不满足NJ / BioNJ不要求分子钟,结果更可靠
序列数量大(> 1000)FastNJ / FastME计算效率高
需要高精度拓扑ML 方法利用位点级信息
  • 距离估计阶段:O(n2L)O(n^2 \cdot L),其中 LL 是比对长度。
  • UPGMA 树构建:O(n3)O(n^3)
  • NJ 树构建:O(n3)O(n^3)(标准实现)或 O(n2)O(n^2)(优化实现如 FastNJ)。
  • 存储距离矩阵:O(n2)O(n^2)
  • 序列之间具有足够的相似性,可以进行可靠的比对。
  • 距离矩阵中不应存在过多的缺失值。
MEGA
Molecular Evolutionary Genetics Analysis,最常用的距离法实现之一。提供多种距离度量选项和 UPGMA/NJ 建树方法,图形界面友好。
PHYLIP (neighbor/fitch)
经典的系统发育分析软件包。neighbor 程序实现 NJ 和 UPGMA,fitch 程序实现 Fitch-Margoliash 方法。
FastME
专门优化的距离法建树工具,使用平衡最小进化(Balanced Minimum Evolution) 准则。比标准 NJ 更快且通常更准确。
IQ-TREE (快速模式)
虽然以 ML 方法著称,但也提供了基于距离的快速模式,可以在几秒到几分钟内完成大规模数据集的初步建树。