序列比对的核心三要素:相似性、一致性、得分矩阵
做序列比对这么多年,我有个很深的体会:很多人一上来就扔进 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. 一张图串起核心三要素
上面这张图能帮你快速建立直觉:序列比对的核心是「算匹配」。相似性和一致性是输出指标,告诉你有多少位点对上了;而得分矩阵是内部引擎,决定了每个位点到底得几分。
我们在实际选参数时,举个例子:做远缘物种的蛋白比对,我一般会把打分矩阵从 BLOSUM62 换成 BLOSUM45,因为它对保守替换更宽容。而如果是做近缘物种(比如人和小鼠),BLOSUM80 会更敏感,能抓到那些细微的变异。
好,关于相似性、一致性和得分矩阵,我们就先聊到这儿。这三个概念搞明白了,后面看 BLAST 的输出报告,就不会一头雾水了。