3. 序列比对基础与相似性度量

序列比对的核心任务,是在两条或多条蛋白质序列之间建立“谁和谁对应”的位置映射,并给出一个可比较的数值,用来判断它们是否同源、同源程度有多高。这个数值不是单一指标,而是由替换矩阵、空位罚分、一致性、相似度、E值、bit score等概念共同构成的度量体系。理解这些概念,关键不是背公式,而是理解它们在工程实现中各自承担什么角色。

替换矩阵:把氨基酸替换变成可累加的分值

蛋白质由20种氨基酸组成,不同氨基酸的理化性质不同,替换后对结构功能的影响也不同。替换矩阵就是一张20×20的查表,行和列分别代表两条序列在某个比对位置上的氨基酸,单元格中的数值表示“把A替换成B”这件事的得分。工程中最常用的是BLOSUM系列,例如BLOSUM62,它由大量保守区块统计得到,正值表示该替换在近缘序列中比随机更常见,负值表示更少见。

BLOSUM62中,相同氨基酸通常得正分,如W-W为11、C-C为9;性质相近的替换往往得0或小正分,如I-V为3、D-E为2;而性质差异大的替换常为负分,如W-C为-2、D-W为-4。矩阵还隐含一个前提:比对得分是逐位相加的。也就是说,一条比对的总原始分等于所有列得分之和,再加上空位罚分。这个“可加性”是后续所有统计量的基础。

空位罚分:处理插入与缺失的代价

两条同源序列常常发生插入或缺失,比对时必须在一条序列中引入空位。空位罚分决定“开一个空位”和“延长一个空位”各扣多少分。常见形式是仿射罚分:gap_open + (k-1) × gap_extend,其中k是空位长度。例如设置开位罚分-11、延伸罚分-1,则长度为3的空位总罚分为-11 + 2×(-1) = -13。

为什么开位罚分远大于延伸罚分?因为一次插入事件通常是一整段连续缺失,而不是多个独立单碱基事件。仿射罚分更符合生物学过程。工程上,罚分过小会导致比对中充斥碎片化空位,罚分过大则会把真实插入缺失压成错配。因此,替换矩阵和空位罚分必须成对调参,不能孤立看待。

一致性、相似度与原始分

一致性(identity)是最直观的指标:比对列中两条序列氨基酸完全相同的列数,除以比对总列数(含空位列)。例如100列中有35列相同,一致性为35%。相似度(similarity)则更宽松,只要替换矩阵中该列得分大于0,就认为“相似”。因此相似度通常高于一致性。两者都只是描述性统计,不能直接回答“这个比对是否显著”。

原始分(raw score)是逐列得分加空位罚分后的总和。它依赖矩阵和罚分设置,也依赖序列长度,因此不同参数下的原始分不可直接比较。工程实现中,原始分只是中间量,真正用于判断的是bit score和E值。

bit score与E值:把原始分变成可比较、可判断的量

BLAST等工具用Karlin-Altschul统计模型把原始分S转换为bit score:S' = (λS - lnK) / ln2。其中λ和K是由替换矩阵与空位罚分共同决定的统计参数。bit score的好处是去除了矩阵和罚分单位的影响,使不同参数、不同数据库的比对结果可以横向比较。bit score越高,比对越可信。

E值表示“在给定大小的数据库中,随机获得不低于当前bit score的比对数量的期望值”。公式为E = m × n × 2^(-S'),其中m为查询序列长度,n为数据库总残基数。E值越小越显著。工程上常用的判断阈值是E值小于1e-5,但这不是绝对标准:短序列、低复杂度区域、小数据库都会影响E值,需要结合一致性、覆盖度和结构域信息综合判断。

序列比对度量链:从逐列得分到显著性判断 查询序列 Query MKTIIALSYIFCLVFA 目标序列 Subject MKTIIALKYIF-LVFA 逐列比对 M-M +5 K-K +5 T-T +5 I-I +4 A-K -1 L-空位 -11 … 原始分 S Σ列得分 + 空位罚分 bit score S' = (λS-lnK)/ln2 统计参数 λ、K 由矩阵与空位罚分共同决定 BLOSUM62 + gap_open=-11, gap_extend=-1 E值 E = m × n × 2^(-S') m:查询长度 n:数据库残基数 工程判读:E值、一致性、覆盖度三者联合 E值 < 1e-5 强同源信号 优先保留 E值 1e-5 ~ 1 需看一致性与覆盖度 警惕低复杂度区域 E值 > 1 随机匹配可能性高 通常不视为同源 一致性 = 相同列 / 总列数(含空位);相似度 = 矩阵得分 > 0 的列 / 总列数 bit score 去除了矩阵与罚分单位影响,可跨参数、跨数据库比较 工程调参要点 矩阵与罚分必须成对调 短序列慎用固定E值阈值 低复杂度区先屏蔽再比对

工程含义:参数必须成对调,判读必须多指标联合

在实际工程中,替换矩阵和空位罚分不是独立可调的旋钮。BLOSUM62配-11/-1是BLAST的常用默认组合,适合大多数近缘到中等远缘的蛋白比对;如果研究的是远缘同源,可换用BLOSUM45并适当降低罚分,让更多保守替换被接受;如果序列非常接近,BLOSUM80更合适。换矩阵后,λ和K随之改变,bit score和E值也会变化,因此不能拿不同参数下的E值直接比较。

另一个常见工程问题是低复杂度区域。富含A、S、P等单一氨基酸的片段,即使与随机序列比对也容易得到较高原始分,从而产生假阳性。标准做法是先用SEG或DUST等工具屏蔽低复杂度区,再执行比对。此外,短序列(如小于50个残基)的E值天然偏大,此时应更多依赖一致性、覆盖度和结构域注释,而不是死守E值阈值。

实用判断顺序建议:先看E值是否小于1e-5;若处于灰区,再看一致性是否高于25%、比对覆盖度是否超过70%;最后检查是否命中已知保守结构域。三者联合,比单看任何一个指标都更可靠。

把这条度量链串起来:替换矩阵和空位罚分决定逐列得分,逐列得分累加得到原始分,原始分经λ、K转换为bit score,bit score结合序列长度和数据库大小得到E值,E值再与一致性、覆盖度一起支撑最终的同源判断。每一步都有明确的工程输入和输出,理解这条链,才能在参数调整和结果解读时不迷失方向。