跳转到内容

概率、图与动态规划预备

快速概览

如果把生物信息学看作计算问题,那么其核心抽象几乎可以归结为三类模型。它们不是孤立的章节分类,而是贯穿整个学科的通用语言,用于处理高噪音、大规模且具有复杂结构的生物数据。

  • 概率模型:处理观测与真实状态之间的不确定性(如 HMM、PWM)
  • 图模型:处理生物对象间的连接、路径与网络关系(如 de Bruijn 图、演化树)
  • 动态规划:在重叠子问题中寻找全局最优解释(如序列比对、Viterbi 解码)
  • 理解三者如何交织解决真实的生物信息学挑战

生物数据(如测序 Reads)充满了噪音和不确定性。我们看到的观测值(Observations)并不直接等于真实状态(Hidden States)。

概率模型将"确定性的回答"转变为"在给定数据下,某种解释有多大的可能性"。这一转变是生物信息学方法的基础。具体而言,我们不再问"这是否正确",而是问"在给定观测下,这种解释的概率是多少"。

概率模型的核心工具是条件概率贝叶斯定理(Bayes' Theorem)

P(HD)=P(DH)P(H)P(D)P(H \mid D) = \frac{P(D \mid H) \cdot P(H)}{P(D)}

其中 HH 代表假设(Hypothesis),DD 代表观测数据(Data)。在生物信息学中:

  • P(HD)P(H \mid D)后验概率(Posterior Probability):看到数据后,假设成立的概率。例如,某个基因组位点存在真实变异的概率。
  • P(DH)P(D \mid H)似然(Likelihood):如果假设成立,产生当前观测数据的概率。例如,如果该位点确实存在变异,测序数据呈现当前模式的概率。
  • P(H)P(H)先验概率(Prior Probability):在不看数据时,假设成立的概率。例如,根据已知突变率估计的变异概率。

算例:测序仪报告某位点为 A,但该位点真实碱基为 G 的先验概率是 0.001(变异率),测序错误率为 1%。

P(真实=G观测=A)=P(观测=A真实=G)P(真实=G)P(观测=A真实=G)P(真实=G)+P(观测=A真实=A)P(真实=A)=0.01×0.0010.01×0.001+0.99×0.9990.00001P(\text{真实}=G \mid \text{观测}=A) = \frac{P(\text{观测}=A \mid \text{真实}=G) \cdot P(\text{真实}=G)}{P(\text{观测}=A \mid \text{真实}=G) \cdot P(\text{真实}=G) + P(\text{观测}=A \mid \text{真实}=A) \cdot P(\text{真实}=A)} = \frac{0.01 \times 0.001}{0.01 \times 0.001 + 0.99 \times 0.999} \approx 0.00001

即使测序仪报告了 A,该位点真实碱基为 G 的后验概率仅约万分之一——极低的变异先验主导了推断结果,这正是变异检测工具需要高覆盖度来积累证据的原因。

  • HMM(隐马尔可夫模型,Hidden Markov Model):根据 DNA 序列特征预测隐藏的外显子/内含子结构。HMM 假设系统在有限个离散状态之间转移,每个状态以一定的概率产生观测符号。详见 隐马尔可夫模型
  • 位置权重矩阵(Position Weight Matrix, PWM):描述转录因子结合位点(Transcription Factor Binding Site, TFBS)的统计偏好。PWM 的每一列记录了对应位置上各碱基出现的频率或对数几率。
  • 变异检测:利用贝叶斯推断判断一个位点是真实变异还是测序错误。工具如 GATK 的 HaplotypeCaller 内部即使用了贝叶斯基因型推断模型。

图(Graph, G=(V,E)G = (V, E))是描述生物对象间关系的理想工具。在生物信息学中,图的顶点和边可以承载不同的生物学含义。

顶点(Vertex, 复数 Vertices)
图中的节点,代表一个生物对象。例如:一条 Read、一个基因、一个物种、一个 k-mer。
边(Edge)
连接两个顶点的关系。可以是有向的(如 de Bruijn 图中的 k-mer 拓展方向)或无向的(如蛋白质互作网络)。
权重(Weight)
边上的数值,表示关系的强度。例如:比对得分、进化距离、覆盖度。
路径(Path)
从起点到终点经过的一系列顶点和边,代表一个连续的序列或演化过程。

图论在生物信息学中无处不在,不同类型的图服务于不同的分析目的:

| 图的类型 | 顶点含义 | 边含义 | 典型问题 | 应用实例 | | :--- | :--- | :--- | :--- | :--- | | de Bruijn 图 | k-mer | k-1 重叠 | 欧拉路径 | 基因组组装(SPAdes, Velvet) | | 重叠-布局-一致性图 | Read | Read 间的重叠 | 哈密顿路径 | 长读长组装(Canu, Flye) | | 系统发育树 | 物种/序列 | 祖先-后代关系 | 树的搜索与评分 | 物种进化分析(MEGA, RAxML) | | 蛋白质互作网络 | 蛋白质 | 物理/功能互作 | 社区检测 | 功能注释与通路分析 | | 序列比对图 | 碱基对齐位置 | 匹配/插入/删除 | 最长路径 | Needleman-Wunsch, Smith-Waterman |

早期的杂交测序(Sequencing by Hybridization, SBH)通过构建图并寻找欧拉路径(Eulerian Path)来重构序列。这一思想被现代组装算法继承和发展:

  • 欧拉路径:经过图中每条边恰好一次的路径。de Bruijn 图中的欧拉路径等价于一条由所有 k-mer 拼接而成的基因组序列。
  • 优势:寻找欧拉路径的复杂度为 O(E)O(|E|),远低于哈密顿路径的 O(2V)O(2^{|V|}),这是 de Bruijn 图方法比重叠图方法更高效的理论基础。

动态规划(Dynamic Programming, DP)适用于具有最优子结构(Optimal Substructure)和重叠子问题(Overlapping Subproblems)的优化任务。

如果我们要找到从 A 到 C 的最优路径,且必须经过 B,那么整条路径的最优性必然包含 A 到 B 的最优路径。这不是一个假设,而是一个数学上可以严格证明的性质(最优性原理,Principle of Optimality)。

动态规划的具体做法是:

  1. 定义子问题:将原问题分解为规模更小的子问题。
  2. 建立递推关系:用子问题的解来表达当前问题的解。
  3. 确定计算顺序:确保计算某个子问题时,它所依赖的更小子问题已经被求解。
  4. 存储中间结果:避免重复计算(记忆化,Memoization)。

动态规划在生物信息学中有极为广泛的应用,几乎涵盖了序列分析的所有核心任务:

| 问题 | DP 的作用 | 代表算法 | | :--- | :--- | :--- | | 全局序列比对 | 在所有对齐方案中找得分最高者 | Needleman-Wunsch | | 局部序列比对 | 寻找两序列间最佳局部相似片段 | Smith-Waterman | | HMM 解码 | 在状态网格中找概率最大的路径 | Viterbi Algorithm | | RNA 二级结构 | 在不交叉的碱基配对中找自由能最低者 | Nussinov Algorithm | | 基因组比对 | 跨大范围间隔的种子-扩展策略 | Cactus, minimap2 的内部 DP | | 多序列比对 | 逐步将序列加入已有比对 | Progressive Alignment |

在真实的生物信息学工具中,概率模型、图模型和动态规划往往是深度耦合的。理解这种交织关系,是掌握现代生物信息学方法的关键。

HMM 既是概率模型(定义了状态转移概率和发射概率),又利用动态规划(Viterbi 算法)进行求解:

  • 前向算法(Forward Algorithm):使用 DP 计算观测序列在模型下的概率 P(Oλ)P(O \mid \lambda),用于模型评估。
  • Viterbi 算法:使用 DP 寻找产生观测序列的最可能状态路径,用于解码(如基因结构预测)。
  • 前向-后向算法(Forward-Backward Algorithm):计算每个位置处于每种状态的后验概率,用于参数学习(Baum-Welch 训练)。

基因组组装:图问题与统计模型的结合

Section titled “基因组组装:图问题与统计模型的结合”

组装算法既是图问题(在 de Bruijn 图或重叠图中寻找路径),又需要利用统计模型来处理噪音:

  • 覆盖度统计:利用泊松分布(Poisson Distribution)估计期望覆盖度,识别覆盖度异常的区域(重复序列或缺失)。
  • 错误修剪:利用边的覆盖度(k-mer 频率)来判断边是真实连接还是测序错误产生的假边。低频 k-mer 通常对应测序错误。
  • 气泡简化:在 de Bruijn 图中,两条相近的路径("气泡")通常由杂合变异产生,需要被合并。

比对软件(如 BWA、minimap2)既利用索引结构(后缀数组、最小完美哈希等图/树结构)加速搜索,又利用动态规划进行局部精化:

  1. 索引阶段:将参考基因组构建为索引(如 FM-Index),实现快速种子查找。
  2. 种子-扩展阶段:找到候选匹配区域后,使用带仿射 Gap 罚分(Affine Gap Penalty)的 DP 进行精确对齐。
  3. 评分与过滤阶段:利用概率模型(如映射质量 MapQ)评估比对结果的可信度。

上述三类模型并非彼此孤立——概率图模型(Probabilistic Graphical Model, PGM)为它们提供了统一的数学框架。本站以 隐马尔可夫模型 作为切入点,展示概率建模与动态规划如何在同一个模型中协同工作。