蛋白质语言模型 ESM 的应用
蛋白质语言模型在大量天然蛋白序列上做掩码残基预测训练,学到了哪些氨基酸在什么序列上下文中更常见。ESM-2 是其中常用的一系列模型,参数规模从很小到很大,输入只需要氨基酸序列,输出每个残基的嵌入向量以及每个位置上 20 种氨基酸的概率。常见用法有三类:把嵌入当作特征训练下游的分类或回归模型;用突变前后的对数概率差作为零样本突变效应评分;作为 ESMFold 这类仅凭单序列预测结构的基础。ESM3 进一步把序列、结构和功能注释放在同一框架下编码,可在给定约束时补全序列或结构。这些输出反映的是序列统计倾向,不是实验测定值。
什么时候用
- 同源序列很少、难以构建可靠多序列比对时,需要蛋白序列特征
- 对一批单点突变做初筛排序,挑选值得实验验证的位点
- 用序列嵌入训练亚细胞定位、功能分类、可溶性等下游模型
- 比较一组同源蛋白或突变体的序列表征,做聚类与可视化
- 没有实验结构、也缺少可用模板时,先得到一个粗略结构假设
不适合的情况
- 需要稳定性或亲和力的定量数值,零样本评分只给相对排序
- 评估多点组合突变,单点分数简单相加会忽略位点间相互作用
- 天然序列中罕见的人工序列,模型先验与实际性质可能脱节
需要准备的数据
- 蛋白序列
- FASTA 格式,使用标准 20 种氨基酸;非标准字符需先处理,并明确是否保留信号肽和纯化标签
- 突变列表
- 如 A123G 形式,位置编号必须与输入序列一致,注意 UniProt 编号与成熟肽编号的偏移
- 模型权重
- 按序列长度和算力选择 ESM-2 的某个规模,记录模型名称与版本以便复现
- 下游任务标签(可选)
- 训练下游模型时需要的实验标签,同时记录来源与测定方法,便于按来源划分数据
分析步骤
- 1
整理序列
去掉重复序列和非标准字符,确认截断位置与编号基准。超过模型上下文长度的序列需要切段,切段时保留重叠区域,避免边界残基的嵌入被截断影响。做对的标志:突变位点在序列中的氨基酸与标注一致。
- 2
选择模型规模
先用较小规模的模型跑通流程,再在同一批数据上换更大规模对照。嵌入维度随规模增大,显存和时间开销也明显上升;若更大模型未带来可测量的提升,就没必要用。
- 3
提取嵌入
前向计算得到每层的残基级表示。下游任务常用靠后的某一层:序列级特征通常对残基维度取平均,位点级任务则直接取该位置的向量。保存层号和池化方式,换一种设置结果会变。
- 4
计算突变评分
常用做法是把突变位点掩码后,取突变氨基酸与野生型氨基酸对数概率之差作为评分,分数越低表示越不符合序列统计规律。整条序列扫描可得到每个位点每种替换的评分矩阵。
- 5
建立对照与校准
用已有实验数据(如深度突变扫描结果)计算评分与实测表型的 Spearman 相关,并与基于比对的保守性评分对照。没有对照就无法判断该蛋白上评分是否可信。
- 6
训练下游模型
以嵌入为特征训练简单模型(如逻辑回归、随机森林)。按序列相似性或来源划分训练集与测试集,不要随机划分,否则同源序列会同时进入两侧,指标虚高。
- 7
筛选与交付候选
综合评分、保守性和结构位置筛出候选位点,标注落在活性位点、结合界面还是表面。输出排序表与证据来源,交给实验验证,不把预测当定论。
关键参数与决策
模型规模
规模越大通常表征越好,但显存和耗时增长更快。实践中先用小模型确认流程和数据无误,再用较大模型出最终结果;长序列批量计算时规模往往由显存决定。
取哪一层嵌入
不同层编码的信息侧重不同,靠后的层更偏向高层语义。常用做法是在验证集上比较几个候选层,固定表现最好的一层,并在报告中写明层号。
池化方式
序列级任务可用残基平均或首个特殊标记的表示。平均池化更稳定,但会稀释局部信号;关注单个位点时直接用该残基向量,不要用全序列平均。
掩码方式
突变评分可以掩码目标位点后计算,也可直接用野生型序列的输出概率。掩码方式更贴近预训练目标,但计算量随位点数线性增加;大规模扫描时需在精度和成本间取舍。
数据划分依据
下游建模按序列同一性阈值聚类后再划分,例如把同一性较高的序列归入同一折。这样测试集才代表真正的新序列,否则模型在新蛋白上表现会明显下降。
常见错误
- 突变编号与输入序列不对齐:UniProt 编号常含信号肽,而使用的序列已截断,结果整体位移,评分完全无意义。
- 把零样本评分当成稳定性数值:评分反映序列统计倾向,与 ΔΔG 只是相关,不能直接换算成千卡每摩尔。
- 下游建模随机划分数据:同源序列同时出现在训练集和测试集,相关系数看起来很高,换到新家族就失效。
- 长序列直接截断前几百个残基:丢掉的区域可能正好包含功能域,嵌入和评分都会偏,应切段加重叠处理。
- 只用一个模型规模或一层嵌入就下结论:不同设置下排序可能变化,应至少做一次敏感性检查。
- 忽略多点突变的相互作用:把各单点评分相加预测组合突变,会漏掉补偿性替换和上位效应。
结果怎么看
突变评分矩阵热图
行是序列位置、列是 20 种氨基酸,颜色表示评分。保守位点整行偏低,可变位点整行偏高。若整条序列几乎均匀无结构,说明该蛋白在训练语料中缺少同源信息,评分参考价值有限。
评分与实验数据的相关性图
横轴评分、纵轴实验表型,附 Spearman 相关系数。相关性为正且中等以上才说明评分在该蛋白上可用;接近零时应改用基于结构或比对的方法。
序列嵌入降维图
对序列级嵌入做 PCA 或 UMAP,按家族、物种或功能着色。同功能蛋白应聚在一起;若主要按序列长度或物种分开,说明嵌入主导信号不是你关心的性质。
候选位点排序表
每行一个突变,含评分、所在结构域、保守性和是否位于已知功能位点。优先看评分极端且落在功能区域的位点;全部候选都在无序区或末端时,要怀疑序列处理有误。
和相近方法怎么选
ESM 零样本评分与基于比对的保守性方法
比对类方法依赖同源序列数量和比对质量,同源丰富时往往很准;ESM 只需单序列,适合同源稀少的蛋白。两者相关但不等价,常见做法是同时计算,取一致结论作为高置信候选。
序列模型与基于结构的稳定性预测
结构方法用能量函数或结构特征估计 ΔΔG,有实验结构时解释性更强;序列模型不需要结构、通量高,适合全序列扫描初筛。常见流程是先用序列评分排序,再对少量候选做结构层面评估。
ESM-2 与 ESM3
ESM-2 只建模序列,主要用于嵌入提取和突变评分;ESM3 把序列、结构和功能注释统一编码,可在给定约束时补全序列或生成结构假设。做突变排序和特征提取用前者更直接,需要结构层面建模时才考虑后者。
ESMFold 与 AlphaFold
ESMFold 基于语言模型表征、仅需单序列,速度快,适合大批量粗筛;AlphaFold 使用多序列比对和模板,精度通常更高。筛完候选后对重点结构建议再用精度更高的方法确认。
常见问题
ESM-2 有哪些规模,该选哪个?
官方发布了从很小到很大的一系列参数规模,嵌入维度随规模增加。选择主要受显存和序列数量限制:流程调试和大批量扫描用小模型,最终结果可换较大模型并比较差异。若两者结论一致,用小模型即可。
ESM 的突变评分怎么解释?
它是突变氨基酸与野生型氨基酸在该位置的对数概率之差。数值越低表示这个替换在天然序列统计中越罕见,提示更可能影响功能或稳定性。它是相对排序指标,没有绝对阈值,需要在同一蛋白内部比较。
蛋白质语言模型能替代多序列比对吗?
在同源序列很少时它是有用的替代方案,但同源丰富时基于比对的方法常常同样好甚至更好。更稳妥的做法是两者都算:一致的结论置信度高,不一致的位点标记出来另行判断。
提取嵌入需要 GPU 吗?
小规模模型和少量序列可以用 CPU 完成,速度较慢;成千上万条序列或较大模型基本需要 GPU。长序列显存占用随长度增长明显,可通过减小批大小或切段计算缓解。
可以用零样本评分直接判断临床变异致病性吗?
不可以。这类评分属于科研分析,用于排序和缩小实验范围,不替代临床诊断或治疗决策。变异的临床解读应按相应分类规范,综合群体频率、功能证据和家系信息进行。
在 Codar 里怎么做
在 Codar 中给出序列或突变清单后,会先确认编号基准、截断方式和任务目标,再用 ESM-2 提取残基级与序列级嵌入、计算突变评分,需要结构层面的建模时改用 ESM3。交付突变评分矩阵与热图、候选位点排序表、嵌入降维图,以及可复现的计算脚本。
这是一个蛋白的 FASTA 和 40 个点突变列表,帮我用 ESM-2 算突变评分并排序,标出哪些位点最保守