序列比对的核心三要素:相似性、一致性、得分矩阵

做序列比对这么多年,我有个很深的体会:很多人一上来就扔进 BLAST 跑,结果出来一堆数字,完全不知道这些数字到底代表什么。

说白了,你得先搞清楚三个最基础的概念——相似性、一致性和得分矩阵。它们就是序列比对的「三驾马车」,搞不懂它们,你顶多是个按钮工。

1. 相似性 vs 一致性:别傻傻分不清

这两个词,我经常看到有人混着用。但其实它们有本质区别。

概念 定义 举例说明 典型应用场景
相似性 两个序列中,位点上理化性质相近的残基所占比例 亮氨酸(Leu)和异亮氨酸(Ile)算相似,但不算一致 进化距离较远时,相似性更能反映功能保守
一致性 两个序列中,位点上完全相同的残基所占比例 亮氨酸(Leu)对亮氨酸(Leu)才算一致 近距离比对或蛋白结构域核心区域评估

我个人的习惯是:判断两个同源基因的功能保留程度时,先看一致性。如果一致性掉到 30% 以下,我就会去翻翻相似性,看看是不是有保守替换在发挥作用。你想想看,一个酶活性中心的氨基酸从 Asp 变成 Glu,虽然不一致,但功能可能完全一样。

一个快速记忆法:

  • 一致性 =「长得一模一样」
  • 相似性 =「虽然长得不一个样,但能干差不多的活」

做 BLAST 报告解读时,% Identity 和 % Similarity 这两个字段,你先盯着前者看,实在解释不通了再看后者。

2. 计算相似性和一致性:手把手来一遍

光讲概念太空了。我们来热个身。

假设两条短序列:

Seq1: A-L-S-T-R
Seq2: A-V-S-S-R

一致性计算:

  • 位置1: A vs A → 一致
  • 位置2: L vs V → 不一致(虽然都是疏水残基)
  • 位置3: S vs S → 一致
  • 位置4: T vs S → 不一致
  • 位置5: R vs R → 一致

一致性 = 3 / 5 = 60%

相似性计算(假设我们使用 BLOSUM62 矩阵阈值 ≥ 0 判定为相似):

这个时候,位置2的 L vs V 在 BLOSUM62 矩阵中得分为正,属于相似替换。所以相似性 = 4 / 5 = 80%。

我曾经在分析病原体抗药性突变时就踩过这个坑。当时一致性掉得厉害,差点以为功能全丢了。后来仔细一算相似性,发现全是保守替换,功能位点其实保存得很好。嗯,这事我一直记着。

避坑指南: 不要只看百分比的数值大小。两条长序列的 30% 一致性,可能比两条短序列的 80% 一致性更有生物学意义。为什么?因为长序列中随机匹配的概率更低。这是我当年在比对全长蛋白和短肽片段时吃过的亏。

3. 得分矩阵:比对的「计价器」

为什么 BLAST 会认为 L 替换成 V 比 L 替换成 D 更「合理」?因为得分矩阵说了算。

得分矩阵,本质上是一个打分表。它记录了每种残基对出现时的奖励或惩罚。

最常见的两类矩阵:

  • PAM 矩阵(Point Accepted Mutation):基于进化模型,PAM1 表示 1% 的残基发生了突变。PAM 数字越大,代表进化距离越远。
  • BLOSUM 矩阵(Blocks Substitution Matrix):基于保守模块的观察,BLOSUM62 表示在 62% 一致性水平的模块中统计得到。BLOSUM 数字越大,代表比对的序列越保守。

我个人的建议是:做常规蛋白质 BLAST 时,首选用 BLOSUM62。这是生物信息学界的「共识标准」,绝大多数情况下表现都够稳。

一个简化的 BLOSUM62 片段(只看几种氨基酸)

残基 A L V D S
A 4 -1 0 -2 1
L -1 4 1 -4 -2
V 0 1 4 -3 -1
D -2 -4 -3 6 0
S 1 -2 -1 0 4

你看,L ↔ V 的得分为 +1(正值,代表保守替换),而 L ↔ D 得分为 -4(负值,代表这种替换在进化中很少发生)。这就是得分矩阵的核心逻辑——用数字衡量进化过程的偏好性。

4. 这些概念怎么用在 BLAST 里?

BLAST 跑完后,会输出一堆指标。这里三要素是怎么体现的?

Query: seq1 (5 letters)
Subject: seq2 (5 letters)

Score = 18 bits (25), Expect = 0.021
Identities = 3/5 (60%)
Positives = 4/5 (80%)
Gaps = 0/5 (0%)
  • Identities 就是我们前面算的「一致性」——60%。
  • Positives 就是「相似性」的上限值——80%。(注意,Positives 包含了一致和保守替换两个部分)
  • Score 就是在这个比对路径下,用得分矩阵累加得到的总分——你把匹配位点的矩阵值全部加起来,再扣除空位罚分,就是这个数。

为什么会需要 Score?因为它能帮我们判断:这个比对结果,到底是真有生物学意义的同源关系,还是纯靠运气凑出来的。

小结一下这三者的关系:

  • 一致性告诉你「多像」
  • 相似性告诉你「多可能同源」
  • 得分矩阵告诉你「凭什么这么算」

5. 一张图串起核心三要素

序列比对核心三要素关系图 序列比对(BLAST核心) 计算两条序列的「匹配程度」 相似性 理化性质相近的替换 一致性 完全相同残基的比例 得分矩阵(BLOSUM / PAM) 给每种残基替换打「分数」 提示:一致性 < 30% 时 需结合相似性与得分矩阵综合判断

上面这张图能帮你快速建立直觉:序列比对的核心是「算匹配」。相似性和一致性是输出指标,告诉你有多少位点对上了;而得分矩阵是内部引擎,决定了每个位点到底得几分。

我们在实际选参数时,举个例子:做远缘物种的蛋白比对,我一般会把打分矩阵从 BLOSUM62 换成 BLOSUM45,因为它对保守替换更宽容。而如果是做近缘物种(比如人和小鼠),BLOSUM80 会更敏感,能抓到那些细微的变异。

好,关于相似性、一致性和得分矩阵,我们就先聊到这儿。这三个概念搞明白了,后面看 BLAST 的输出报告,就不会一头雾水了。