ERAM框架技术附录
本文信息
- 标题:通过多模态关系学习实现准确且任务无关的酶反应建模
- 作者:Yuansheng Huang, Lanqing Li, Wenjia Qian, Jiahui Yu, Huifeng Zhao, Xiaorui Wang, Odin Zhang, Guangyong Chen, Shukai Gu, Pheng-Ann Heng, Tingjun Hou, Yu Kang
- 发表时间:2026年3月30日
- 单位:浙江大学药学院(中国杭州)、浙江实验室生命科学计算研究中心(中国杭州)、香港中文大学计算机科学与工程系(中国香港)、新加坡国立大学计算学院(新加坡)、华盛顿大学 Paul G. Allen 计算机科学与工程学院(美国西雅图)
- 引用格式:Huang Y, Li L, Qian W, Yu J, Zhao H, Wang X, Zhang O, Chen G, Gu S, Heng PA, Hou T, Kang Y. Accurate and task-agnostic modeling of enzymatic reactions through multimodal relational learning. Acta Pharmaceutica Sinica B. 2026. https://doi.org/10.1016/j.apsb.2026.03.052
- 代码与资源:
- Web服务器:http://cadd.zju.edu.cn/eram/
本附录收纳主文没有展开的任务设置、表格结果和方法细节。主文档:ERAM:任务无关的多模态酶反应建模
A. 数据与任务设置
A.1 数据处理流程
数据来自UniProtKB/Swiss-Prot和RHEA。论文对原始样本做了四类过滤:
| 筛选维度 | 具体要求 |
|---|---|
| 序列长度 | 去掉长度超过1024 aa的酶序列 |
| 分子大小 | 去掉原子数超过256的小分子 |
| 反应平衡性 | 去掉底物和产物完全相同的反应 |
| 样本频次 | 去掉EC编号出现少于10次的样本 |
最终数据集包含254,106个反应样本、197,352条独特酶序列、1718个EC编号和3048个反应,训练/验证/测试按8:1:1划分。
精读注记:这套筛选能保证训练稳定,但也意味着论文没有直接检验真正长尾EC的能力。更稳的说法是,ERAM在出现频次足够的EC类别上表现稳健,而不是已经覆盖整个酶空间。
A.2 产物检索指标
给定底物和酶,从候选产物池中检索出正确产物。涉及两个核心指标:
- MRR(Mean Reciprocal Rank,平均倒数排名):计算所有测试样本正确答案排名的倒数的平均值。简单来说,如果正确答案排在第1位得1分,第2位得0.5分,以此类推。MRR越高,说明模型把正确答案排得越靠前
- Hit@1:计算正确答案排在第1位的测试样本占比。如果第1个推荐就是正确答案计为1,否则为0。Hit@1越高,说明模型的top-1准确率越高
A.3 酶检索指标
给定底物和产物,从候选酶池中检索出正确酶。由于每个反应可能存在多个可行酶,评估排序质量需要用MAP:
- MAP(Mean Average Precision,平均精度均值):对于每个查询,按排序位置计算精度的加权平均,再把所有查询的AP求平均。MAP越高,说明模型在多个相关酶的排序中表现越好
其中每个查询的平均精度为:
\[AP_q = \frac{1}{n_{\text{target}}} \sum_{k=1}^{n} P(k) \cdot \text{rel}(k)\]$P(k)$ 是前k个结果的精度(正确答案占比),$\text{rel}(k)$ 指示第k个结果是否为相关酶(是为1,否为0),$n_{\text{target}}$ 是相关酶总数。
通俗理解:$AP_q$回答的是这个查询的所有正确答案,平均排在多靠前。例如有3个正确答案分别排在第1、3、5位,那么第1位精度1/1=1,第3位精度2/3≈0.67,第5位精度3/5=0.6,AP=(1+0.67+0.6)/3≈0.76。正确答案越靠前,AP越接近1;越靠后,AP越接近0。
A.4 底物预测
底物预测部分,主文其实给了几条很实用的细节。
先看数据集本身:
| 数据集 | 规模 | 本文补充说明 |
|---|---|---|
| Nitrilase | 240 个数据点 | 覆盖 12 个酶与 20 个底物的全部组合 |
| Aminotransferase | 原始 450 个数据点 | 以 0.1 U/mg 作为活性阈值做二分类,去掉与ERAM预训练重叠的数据后保留 444 条 |
论文还明确说明,ESP里用过的 glycosyltransferase 底物预测数据集这次被排除了,因为糖受体有多个可能的糖基化位点,会导致产物不固定,不适合当前这套反应建模方式。
在划分方式上,主文只明确给了三种策略:
- 随机划分(Random split)
- 按酶的氨基酸序列划分(Sequence split)
- 按底物划分(Substrate split)
这两个主数据集都被划成 训练 / 验证 / 测试 = 7:1:2。也就是说,底物预测阶段是有单独验证集的,后面分类阈值也是从验证集上选出来的。
这里最需要说清的一点是:原文只写了 splitting by substrates,没有进一步展开按底物划分到底是按骨架聚类、分子指纹相似度、Tanimoto 阈值,还是别的结构划分算法。 所以现在最稳的表述只能是:
- 论文明确存在 substrate split 这个更严格的设置
- 这个设置的目的,是让训练集和测试集在底物层面解耦
- 但主文和 SI 都没有写清具体的分子结构划分算法
换句话说,可以确定它不是简单的随机划分,但还不能根据本文进一步写成按骨架聚类或按分子指纹聚类。
除了 Nitrilase 和 Aminotransferase,作者又在 SI 里测了 OleA thiolase family 和 DUF849 family。Figure S7 只给了图,没有额外展开划分算法,但它至少说明底物预测的迁移性不是只在两个主数据集上单次成立。
关键发现仍然是:ESP在底物划分下性能下降更明显,而ERAM下降相对平缓,这支持了ERAM学到的是催化相容性,而不只是训练集里的统计共现。
A.5 结合位点分析
不额外训练位点分类器,直接读取注意力头,评估Overlap和FPR。
作者比较了多个注意力头,主文最终采用的是Head 5:
| 注意力头 | Overlap | FPR | 备注 |
|---|---|---|---|
| Head 7 | 70.85% | 45.28% | 重叠略高,但假阳性更多 |
| Head 5 | 70.59% | 42.36% | 主文采用的平衡点 |
这也是摘要里与RXNAAMapper比较时使用的ERAM结果。
A.6 三个任务分别在回答什么问题
| 任务 | 输入 | 输出 | 真正在检验什么 |
|---|---|---|---|
| 酶检索 | 底物 + 产物 | 候选酶排序 | 统一表示是否真的学到反应级关系 |
| 产物检索 | 底物 + 酶 | 候选产物排序 | 模型能否区分很接近的化学转换 |
| 底物预测 | 酶 + 候选底物 | 二分类或打分 | 预训练表示迁移后是否仍保留催化相容性 |
| 位点分析 | 酶序列 + 底物上下文 | 注意力热区 | 表示里是否自发带出功能位点信息 |
把这四件事放在一起看,就能明白为什么作者先把检索放在最前面:检索是表示质量的直接测试,底物预测和位点分析更像迁移测试与可解释性测试。
B. 消融实验:哪些模块真在起作用
B.1 表3完整结果(检索任务)
| 方法 | 产物MRR | 产物Hit@1 | 酶MAP |
|---|---|---|---|
| Margin-Fine | 0.9773 | 0.9655 | 0.8325 |
| Margin-Coarse | 0.9669 | 0.9502 | 0.7525 |
| w/o Prototype | 0.9829 | 0.9696 | 0.8014 |
| Self-Attn | 0.9781 | 0.9593 | 0.6755 |
| ERAM | 0.9836 | 0.9701 | 0.8202 |
B.2 底物预测消融(SI表S4和S5)
主文只给了两个数据集的MCC对比,SI补充了完整消融,包含一个主文表3里没有的变体——Unbalanced(不平衡数据集,即正负样本数量不均衡):
表S4 Nitrilase底物预测消融:
| 方法 | Random ACC | Random MCC | Sequence MCC | Substrate MCC |
|---|---|---|---|---|
| Margin-Fine | 0.9167 | 0.7939 | 0.6924 | 0.4275 |
| Margin-Coarse | 0.7291 | 0.2273 | 0.7105 | 0.3689 |
| w/o Prototype | 0.8958 | 0.7406 | 0.5046 | -0.0242 |
| Unbalanced | 0.8958 | 0.754 | 0.3125 | -0.0308 |
| Self-Attn | 0.8958 | 0.754 | 0.8726 | 0.5465 |
| ERAM | 0.9375 | 0.8529 | 0.7105 | 0.5538 |
表S5 Aminotransferase底物预测消融:
| 方法 | Random ACC | Random MCC | Sequence MCC | Substrate MCC |
|---|---|---|---|---|
| Margin-Fine | 0.8667 | 0.546 | 0.7145 | 0.7145 |
| Margin-Coarse | 0.8556 | 0.6425 | 0.5502 | 0.5021 |
| w/o Prototype | 0.8111 | 0.5552 | 0.6404 | 0.7145 |
| Unbalanced | 0.8667 | 0.6714 | 0.6147 | 0.74 |
| Self-Attn | 0.7667 | 0.5048 | 0.5627 | 0.663 |
| ERAM | 0.8667 | 0.6714 | 0.7194 | 0.74 |
精读注记:Unbalanced变体在Nitrilase的底物划分下MCC接近0甚至为负,说明正负样本不均衡时底物划分几乎完全失效——这进一步说明,底物划分的难度本身已经很大,如果再加上类别不平衡,模型根本找不到可用的信号来区分底物兼容性。
B.3 注意力头对照(SI表S6)
| 注意力头 | Overlap | FPR |
|---|---|---|
| Head 1 | 68.58% | 44.12% |
| Head 2 | 69.14% | 43.94% |
| Head 3 | 69.31% | 43.77% |
| Head 4 | 69.56% | 43.49% |
| Head 5 | 70.59% | 42.36% |
| Head 6 | 70.64% | 45.14% |
| Head 7 | 70.85% | 45.28% |
| Head 8 | 70.72% | 44.95% |
Self-Attn 的 FPR 高达 61.60%,远高于 ERAM 的 42.36%——说明没有交叉注意力时,注意力信号几乎是随机散布,假阳性大幅增加。
B.4 结合位点预测消融(SI表S7)
| 方法 | Overlap | FPR |
|---|---|---|
| Margin-Fine | 69.71% | 43.16% |
| Margin-Coarse | 70.32% | 43.16% |
| w/o Prototype | 70.36% | 51.11% |
| Unbalanced | 68.56% | 44.17% |
| Self-Attn | 70.18% | 61.60% |
| ERAM | 70.59% | 42.36% |
读表注记:Self-Attn 的 FPR 高达 61.60%,说明没有交叉注意力时注意力信号几乎随机散布。双粒度设计(ERAM vs Margin-Fine/Margin-Coarse)和原型学习(ERAM vs w/o Prototype)均对压低 FPR 有贡献。
C. 泛化结果:序列同一性和EC子集
C.1 不同序列同一性测试集
| 序列同一性范围 | 产物MRR | 产物Hit@1 | 酶MAP |
|---|---|---|---|
| 完整测试集(0–100%) | 0.9836 | 0.9701 | 0.8202 |
| 70–80% | 0.9980 | 0.9961 | 0.9684 |
| 60–70% | 0.9988 | 0.9980 | 0.9733 |
| 50–60% | 0.9982 | 0.9968 | 0.9752 |
| 40–50% | 0.9949 | 0.9898 | 0.9723 |
| 0–40% | 0.9952 | 0.9903 | 0.9770 |
作者据此认为sequence identity 对 ERAM 影响较小。这组结果的阅读重点不是低同一性一定更容易,而是低同一性子集并没有表现出明显塌陷。
C.2 不同EC子集上的酶检索MAP
| EC子集 | Reactzyme | CREEP | ERAM |
|---|---|---|---|
| EC1 | 0.5688 | 0.7246 | 0.7874 |
| EC2 | 0.7033 | 0.8089 | 0.8913 |
| EC3 | 0.6747 | 0.7708 | 0.9465 |
| EC4 | 0.7388 | 0.7858 | 0.8102 |
| EC5 | 0.7801 | 0.8037 | 0.8433 |
| EC6 | 0.8627 | 0.8075 | 0.9513 |
| EC7 | 0.7794 | 0.6866 | 0.9395 |
| w/o EC | 0.4238 | 0.4992 | 0.8180 |
值得注意的是w/o EC子集。主文明确写到,ERAM在这个最难子集上相对Reactzyme和CREEP仍有明显优势,说明它并不完全依赖显式EC标签来做检索。
C.3 这两张泛化表应该连起来看
- 序列同一性表回答的是:训练集里没见过的远缘酶,会不会立刻让检索失效
- EC子集表回答的是:换到不同功能大类后,模型是不是只在某一类酶上有效
- 两张表一起看,ERAM更像是对样本分布变化不太敏感,而不是已经学会了任何新酶都能预测
D. 与其他方法的对照,只保留最核心的数字
D.1 主文最可靠的对照结论
| 任务 | 对照方法 | ERAM结果 | 论文给出的结论 |
|---|---|---|---|
| 酶检索 | CREEP | MAP相对提升28.31% | 统一预训练表示优于专门检索模型 |
| 底物预测 | ESP | MCC分别提升35.53%和22.97% | ERAM在迁移后仍保持优势 |
| 结合位点分析 | RXNAAMapper | FPR 42.36%,Overlap 70.59% | 注意力信号比纯反应侧方法更贴近真实位点 |
D.2 这三组对照分别回答了什么
- 与CREEP对比:回答统一表示能否胜过任务专用检索模型
- 与ESP对比:回答这套表示迁移到底物预测后是否仍有信息量
- 与RXNAAMapper对比:回答注意力是否真的含有位点相关信息
E. 对抗式精读:从审稿人视角最该追问的三件事
E.1 论证链条里最薄的环节在哪里
- 检索任务:主文给了完整子集结果、基线对照和消融实验,证据最完整
- 底物预测:结论主要依赖两个主数据集和摘要中的提升百分比,证据次之
- 位点解释:当前仍以注意力、结构映射和保守位点对照为主,证据最薄
E.2 论文隐含了哪些前提
- 预训练表示足够强:否则冻结的ESM-2和Uni-Mol很难支撑后续统一空间学习
- 反应三元组足以概括催化功能:这对很多经典单酶反应成立,但对更复杂体系未必够
- 注意力高分与功能重要性相关:这是一个合理假设,但还没有被实验级证据完全坐实
E.3 如果我是审稿人,我最想补什么
- 长尾EC或新EC的直接测试:否则缩小序列—功能鸿沟的外推仍然偏保守
- 更细的失败案例分类:尤其是多反应酶、层级分类和R基团相关错误
- 突变验证:只要能补上几组高注意力残基的活性实验,位点分析这一部分会更硬
Q&A
- ERAM 的任务无关到底是什么意思:这里更准确的说法是统一预训练表示。酶检索可以直接用嵌入距离完成,底物预测需要在预训练表示上继续微调,结合位点分析则是从训练好的酶编码器注意力中读取信号。
- 双粒度对比学习是不是这篇最关键的创新:它很重要,但不能说收益在所有指标上都压倒性。表3显示 ERAM 明显优于 Margin-Coarse,说明统一大边界不合适;但 ERAM 和 Margin-Fine 非常接近,说明细粒度负样本已经能覆盖相当一部分收益。
- 结合位点预测为什么能叫无监督:因为模型没有额外用结合位点标签训练一个分类器,而是直接读取酶编码器的注意力分布。这个说法在方法定义上成立,但它和已经得到实验级解释仍然是两回事。