1. MSA 概述与同源性概念

同学们好,我是老王。今天开始咱们聊聊多序列比对。我记得刚接触 MSA 那会,总以为它就是简单地把几条序列对齐。结果第一次跑了个蛋白家族的数据,出来的结果乱七八糟。

MSA 是什么?说白了,就是把三条或更多生物序列(DNA、RNA 或蛋白)按进化保守位点对齐的过程。对齐之后,列与列之间的对应位置代表同源位点——也就是有共同祖先起源的位置。

我习惯把 MSA 理解为一座桥梁:一端连着原始序列数据,另一端连着进化分析、结构预测、功能注释。你想想看,如果这座桥歪了,后面的分析还能靠谱吗?

1.1 同源性的基本概念

同源性(homology)这个词,其实在生物学里有点特殊含义。它不表示“相似度多少”,而是一个定性判断——两条序列是否有共同祖先。要么同源,要么不同源,没有“50% 同源”这种说法。

我在项目中遇到过不少学生拿“同源性”当“相似性”用。嗯,这里要分清楚:

概念 含义 常见误解
同源性 (homology) 有共同祖先(定性) 常被当作百分比的“同源性”
相似性 (similarity) 序列一致的程度(定量) 可能同源但相似度低
一致性 (identity) 完全相同的残基比例 严格对齐才能计算
避坑提醒:我曾经在评审一篇论文时发现,作者反复说“两条序列有 70% 的同源性”。这种表述是不严谨的。高相似性可以推测同源关系,但同源性本身没有程度之分。写文章或汇报时,建议用“推测同源”“高度相似”这类说法。

1.2 MSA 为什么重要?

做生物信息学,逃不开 MSA。我个人认为它的核心价值有三点:

  1. 揭示保守区域——功能重要的位点往往在进化中保持不变。对齐后一眼就能看出来。
  2. 构建进化树的基础——没有好的 MSA,进化树就是空中楼阁。
  3. 辅助结构预测——同源建模依赖序列-结构对应关系。MSA 质量决定了模型成败。

拿一个简单例子来说。下面是几条短蛋白序列的示意对齐:

序列1:  MKFLILFN---YILFLLS---SACLISF
序列2:  MKFLILFN---YILFLLS---SACLISS
序列3:  MKFLFLFN---YILFLFS---NACLISF
序列4:  MKFLFFFN---YILFLFS---NACLISS

看到重叠的“MKFL”和“YIL”区域了吗?这些就是保守模体。我在分析一个酶家族时,正是通过这样一个简单对齐发现了活性中心的三个关键残基——之前文献里只提到了两个。

1.3 同源性范围的影响

做 MSA 最常犯的错误之一,就是选错序列集的范围。

同源性范围指你纳入比对的序列彼此之间进化关系远近的跨度。范围太窄或太宽都会出问题:

  • 范围太窄(比如同一个物种内的旁系同源物)——序列太像,保守位点区分不出来,无信息位点过多。
  • 范围太宽(比如跨界的远缘同源)——对齐不稳定,空位满天飞,同源关系模糊。
  • 混入非同源序列——这是最致命的,会直接破坏整个 MSA 的结构。

我建议的做法是:先根据已知的进化关系(比如物种树、蛋白家族分类)大致划分范围,再跑一个初步 MSA 看看有没有明显不对劲的序列。

1.4 本章知识结构

这一章我们建立的基本框架,可以用下面这张图来概括。SVG 展示的是 MSA 与同源性评价的整体逻辑——从输入序列到输出决策的流程。

MSA-同源性评价框架 MSA 与同源性评价框架 输入序列集 同源性范围判断 比对方法选择 核心要素:保守位点 / 空位插入 / 进化信号 同源性判断依赖序列间真实的进化关系,而非局部相似 对齐质量评估 剪枝或修正 下游分析 说明: • 同源性范围直接影响 MSA 的准确性和信息量 • 范围太窄 → 信息不足;范围太宽 → 比对质量下降 • 最佳实践:迭代评估 + 必要时剪枝,回到起点重新选择序列 • 虚线表示质量不满足要求时的反馈回路
实战技巧:我自己在做的项目里,习惯先用 HMMER 的 hmmsearch 或者 BLAST 的远程同源搜索确定一个较宽的范围,然后跑一遍 MSA 看哪些序列明显对齐不上。这些“问题序列”要么是污染(比如来自其他数据库的错误注释),要么是远缘同源但插入缺失太多。把这部分单独拿出来分析,能大大提高整体 MSA 的可靠性。

1.5 同源类型的区分

做 MSA 分析时,我常常需要先判断序列之间的同源类型。它们决定了你怎么解释比对结果:

  • 直系同源 (orthologs):源自物种形成事件的分化。功能通常保守。适合做功能预测。
  • 旁系同源 (paralogs):源自基因复制事件。功能可能分化。做 MSA 时容易出现长度差异大的区域。
  • 异源同源 (xenologs):通过水平基因转移获得。在细菌和古菌中很常见,经常打乱同源性假设。

我记得有个案例:分析一个细菌的耐药蛋白家族时,混入了两个通过质粒水平转移进来的异源同源序列。当时如果没做进化树检查,差点把功能注释搞反了。

1.6 同源性范围选择的核心原则

多年的经验让我总结出一条核心原则:宁可先宽后窄,不要先窄后宽。

为什么?如果你一开始选了很窄的范围,后面发现需要加序列进去重新跑 MSA,新增序列往往会被现有对齐“固定住”,导致新序列被迫适应已有的空位模式,产生系统性偏差。

反过来,先在一个较宽的范围里跑 MSA,识别出稳定保守的区域后,再提取这些区域做更集中的分析,结果会更可靠。

我习惯的工作流:
# 1. 用 hmmsearch 跑一个较宽的同源集
hmmsearch --cut_ga --domtblout output.dom target.hmm seqdb.fasta

# 2. 初步 MSA 用 MAFFT 做
mafft --auto --thread 4 input.fasta > msa_initial.fasta

# 3. 用 trimAl 或 BMGE 去除空位过多列
trimal -in msa_initial.fasta -out msa_trimmed.fasta -gt 0.2

# 4. 检查保守位点比例,决定是否需要剪枝

你看,整个过程就是个迭代优化的过程。没有一把梭的完美 MSA,只有不断调整同源性范围才能逼近真实。

1.7 本章小结

好,咱们来捋一下这一章的核心:第一,同源性是定性概念,不是百分比;第二,MSA 的质量严重取决于你选了多少序列、选了什么样的序列;第三,处理同源性范围时,记住“先宽后窄”的原则,留出迭代调整的空间。