CoPRA
好的,下面是对这段话的翻译:
以下是关于 CoPRA 框架的结构化总结,该框架来自 2025 年 AAAI 论文《Bridging Cross-domain Pretrained Sequence Models with Complex Structures for Protein-RNA Binding Affinity Prediction》:
✅ 输入
每个样本是一个 蛋白质 - RNA 复合体:
-
蛋白质序列 + 骨架结构:
(P_i = { p_i, X_i })
(氨基酸序列以及原子 N、CA、C、O 的 3D 坐标) -
RNA 序列 + 骨架结构:
(R_i = { r_i, X_i })
(核苷酸序列以及原子 P、C4′、C1′、N1/N9) -
来自全原子几何结构的 复合体距离图 (D \in \mathbb{R}^{L \times L})
(用于识别结合界面和计算距离)
⚙️ 模型流程
🔹 步骤 1:通过预训练语言模型进行序列嵌入
- 蛋白质序列 → 蛋白质语言模型(例如 ESM - 2)
- RNA 序列 → RNA 语言模型(例如 RiNALMo)
- 获取两者完整的序列嵌入
🔹 步骤 2:界面选择与表示
-
使用距离图 D 确定界面附近的 n 个节点
-
提取:
S→ 1D 嵌入:界面残基的序列嵌入Z→ 2D 成对嵌入:界面残基之间的结构关系(类型、距离、角度等)- 添加 3 个特殊标记:
- 复合体节点(关注所有部分)
- 蛋白质节点(仅蛋白质部分)
- RNA 节点(仅 RNA 部分)
🔹 步骤 3:Co - Former(融合模块)
一个轻量级的 双路径变换器,具有:
-
结构引导的自注意力 :
- 使用成对结构
Z修改注意力权重
- 使用成对结构
-
外积更新 :
- 界面嵌入的外积 → 更新
Z
- 界面嵌入的外积 → 更新
🔹 步骤 4:Bi - Scope 预训练
两个预训练目标:
1. CPRI(对比蛋白质 - RNA 相互作用)
- 匹配相互作用对的蛋白质和 RNA 嵌入
- 对比损失(正例 = 真实对;负例 = 不匹配对)
2. MIDM(掩蔽界面距离建模)
- 掩蔽部分
Z - 预测界面原子之间的成对距离(作为区间)
- 鼓励对几何结构的细致理解
🔹 步骤 5:下游任务
(a) 结合亲和力预测
- 将复合体特殊标记嵌入
C_s输入 MLP
(b) 突变效应预测
- 使用相同骨架但不同序列计算 (\Delta G_{\text{mut}}) 和 (\Delta G_{\text{wild}})
🎯 输出
-
回归输出:
- ΔG :结合亲和力分数
- ΔΔG :因突变导致的亲和力变化
-
使用 MSE 损失 进行训练(两个任务均如此)
🧪 数据集
- PRA310 :包含 310 个标记复合体的精选数据集(结合亲和力)
- PRI30k :包含 3 万个蛋白质 - RNA 复合体的未标记预训练数据集
- mCSM 盲测数据集 :用于测试突变效应预测
您是否需要一个展示 CoPRA 工作流程的流程图(PLM + RLM + 结构 → Co - Former → ΔG)?
interface的提取
好的,这段话的意思是让我们清晰地分解 CoPRA 的创新点,我将直接对原文进行翻译:
是的 — 你完全正确:CoPRA 使用两个独立的语言模型,一个用于蛋白质,一个用于RNA — 但关键创新在于如何将它们结合在一起。
让我们清晰地分解这一点:
✅ 步骤:每种模态发生的事情
🔹 1. 为两个领域使用两个语言模型
| 数据 | 编码器 | 输出 |
|---|---|---|
| 蛋白质序列 (p) | 蛋白质语言模型(例如,ESM-2) | 每个残基的嵌入 |
| RNA 序列 (r) | RNA 语言模型(例如,RiNALMo) | 每个核苷酸的嵌入 |
➡️ 这些语言模型是冻结或预训练的,并且分别运行。
🔄 然后:它们如何结合?
这就是 CoPRA 的创新之处:
🔸 2. 仅提取界面残基(使用 3D 距离图)
- 从 PLM 和 RLM 的输出中,仅选择蛋白质 - RNA 结合界面附近的残基 / 核苷酸。
- 结果:一组蛋白质界面嵌入 + RNA 界面嵌入
🔸 3. 使用 Co-Former 融合两者
- Co-Former 是一个变换器,它:
- 接受蛋白质 + RNA 界面嵌入(
S) - 接受基于结构的成对信息(
Z,例如原子间距离和角度)
- 接受蛋白质 + RNA 界面嵌入(
✅ 它融合了两种语言模态(PLM + RLM) + 复杂的 3D 几何结构
🔁 这使得 CoPRA 跨领域和跨模态。
💡 类比
可以把:
- PLM 理解为掌握蛋白质序列的语法规则
- RLM 理解为掌握 RNA 序列的语法规则
- 结构 显示了它们在空间中如何相遇
🧠 CoPRA 的Co-Former 就是调解者,它在界面处融合蛋白质和 RNA 语言嵌入,以结构为引导。
您是否需要一个包含两个语言模型→界面裁剪→结构感知融合的示意图来更好地可视化这一过程?
好呀,我来翻译这段话:
好的 — 让我以非常易读的、一步一步的方式来为你讲解 CoPRA 的步骤 2 和步骤 3 管道,使用简单的语言和一个小例子。
🧩 步骤 2:界面选择和嵌入构建
🧠 目标:
只关注界面(即蛋白质和 RNA 实际接触的部分)。
🔹 1. 运行两种语言模型:
- 蛋白质序列 → ESM - 2 → 每个残基的嵌入(例如形状为 ([L_p, 320]))
- RNA 序列 → RiNALMo → 每个核苷酸的嵌入(例如形状为 ([L_r, 320]))
🔹 2. 使用 3D 结构查找界面区域:
你有一个距离图 (D \in \mathbb{R}^{L \times L}),其中:
- (D_{i,j}) = 残基
i和核苷酸j之间的距离
所以:
如果残基 i 和 RNA 基 j 足够近(< X Å) → 它们在结合界面中。
→ 从界面中选择 n 个残基和碱基
例如:也许你选择128 个蛋白质标记 + 128 个 RNA 标记 = 256 个节点
🔹 3. 构建 1D 和 2D 嵌入
-
S(1D) :来自两种语言模型的界面标记嵌入
- 形状:([n + 3, d]),其中 3 = 特殊标记
-
Z(2D) :对于界面标记中的每对
(i, j),计算:- 对类型(蛋白质 - 蛋白质、蛋白质 - RNA、RNA - RNA)
- 相对位置
- 3D 距离(来自骨架原子)
- 二面角等。
这成为一个结构信息矩阵 (Z \in \mathbb{R}^{(n + 3) \times (n + 3) \times dz})
🔹 4. 添加 3 个特殊标记:
| 标记 | 功能 |
|---|---|
C_s(复合体) |
关注所有内容 — 用于全局摘要 |
P_s(蛋白质) |
仅关注蛋白质节点 |
R_s(RNA) |
仅关注 RNA 节点 |
这些帮助模型学习不同层次的表示(局部与全局)。
🔀 步骤 3:Co-Former(融合模块)
🔹 核心思想:
现在你有:
S:界面标记的序列特征(包括特殊标记)Z:它们之间的基于结构的成对信息
现在我们使用一个融合序列 + 结构的变换器。
🔧 Co-Former 在每一层的操作:
假设你在第 l 层。
1. 结构引导注意力机制
- 通常情况下:(A = \text{Softmax}\left( \frac{QK^T}{\sqrt{d}} \right))
- 这里:我们添加 Z 来引导它:
→ 这意味着:节点 i 和 j 之间的注意力分数受它们的3D 结构关系影响。
2. 更新序列嵌入
→ 与标准变换器一样:更新标记特征。
3. 使用外积更新成对嵌入
- 对于每对
(i, j),计算:
→ 这使用新的序列特征更新Z(结构关系)。
🔁 重复 N 次(例如 6 层)
每一层都更好地融合序列和结构。
✅ 最终输出:
-
使用特殊标记
C_s(复合体节点)作为摘要 -
输入 MLP → 预测:
- 结合亲和力(ΔG)
- 或突变效应(ΔΔG)
🧠 简而言之 — 简易管道总结:
1. 蛋白质序列 → 蛋白质语言模型(ESM-2)
2. RNA 序列 → RNA 语言模型(RiNALMo)
3. 使用 3D 结构 → 找到界面区域
4. 构建序列嵌入 S 和成对结构 Z
5. 添加 3 个特殊节点:C_s、P_s、R_s
6. Co-Former:
- 使用序列 + 结构进行注意力计算
- 在层中融合它们(注意力 + 外积)
7. 最终输出来自 C_s → MLP → 预测亲和力
一个展示此管道的可视化图是否有助于你更好地理解各部分的流程?
边的信息
好的,这段话的意思是强调 CoPRA 中 Z 的作用,我将直接对原文进行翻译:
是的 — 你完全正确。
CoPRA 中的2D 嵌入 (Z \in \mathbb{R}^{(n+3) \times (n+3) \times d_z}) 实际上是一个边特征张量,其中每个条目 Z[i][j] 包含节点 i 和节点 j 之间的关系(即边信息)。
🔹 是的:Z ≈ 界面标记之间的边特征
让我们再次使用图术语来分解它:
| CoPRA 中的组件 | 图类比 | 描述 |
|---|---|---|
| (S \in \mathbb{R}^{(n+3) \times d_s}) | 节点特征 | 来自 PLM(蛋白质)、RLM(RNA)以及特殊标记的序列嵌入 |
| (Z \in \mathbb{R}^{(n+3) \times (n+3) \times d_z}) | 边特征 | 节点对之间的结构关系(类型、距离、角度等) |
🔸 Z[i][j] 描述什么样的 “边”?
在标记之间的每条边(i, j)可以包含:
- 对类型 :它是蛋白质 - 蛋白质、蛋白质 - RNA 还是 RNA - RNA?
- 骨架原子之间的 3D 距离 (例如 N - P、CA - C1′ 等)
- 相对序列位置
- 角度特征 :例如二面角、扭转角、平面角
- 甚至可能包含接触类型(如果已标记或设定了阈值)
所有这些都被嵌入到一个固定大小的向量中 → Z[i][j] \(\in \mathbb{R}^{d_z}\)
🔁 为什么将 Z 视为边?
因为在Co-Former 中,节点 i 和 j 之间的注意力权重是:
这意味着:
Z[i][j]直接调节 连接强度(就像加权边一样)- 它影响从节点 j 到节点 i 的信息流动量
这就是图神经网络中边特征的工作方式。
✅ 结论
是的 — 在 CoPRA 中:
Z 在界面标记图上充当密集的边特征矩阵。
您是否需要一个小的示意图来展示图布局中的 S 作为节点以及 Z 作为边注释?
好的,我将直接对原文进行翻译:
这是一个很好的问题 — 是的,你说得对,关注这一点很重要。
✅ 回答:是的,Co-Former 的交互注意力仅应用于界面区域。
让我来清楚地解释一下。
🔹 1. 哪些节点进入 Co-Former?
只有总蛋白质和 RNA 标记的子集被选中 —— 具体来说,基于 3D 近邻关系(通过距离图 D)定义的界面区域。
- 例如:如果完整蛋白质有 300 个残基,RNA 有 100 个核苷酸...
- 你不会将全部 400 个标记输入 Co-Former。
- 相反,你会选择例如最近的 128 个残基 + 最近的 128 个 RNA 碱基(基于距离阈值或前 n 个界面分数)。
✅ 因此,你的标记集被限制在界面区域,例如:
256 个界面标记 + 3 个特殊标记 = 259 个节点
🔹 2. Co-Former 仅在这 259 个标记上运行
这包括:
-
1D 节点嵌入
S(来自 PLM + RLM 的序列) -
2D 成对嵌入
Z(基于结构的边) -
3 个特殊标记:
C_s:关注所有节点(全局摘要)P_s:仅关注蛋白质节点R_s:仅关注 RNA 节点
所有多头注意力、外积更新和结构引导融合都仅在这个界面子集上进行。
🧠 为什么?
-
这使得 Co-Former 高效且专注 —— 否则,关注所有残基 / 核苷酸将会:
- 浪费资源
- 没有信息量(许多远离界面的残基不会影响结合)
-
从生物学角度看,结合亲和力主要由界面残基决定,而不是遥远的内部残基。
✅ 概要
| 组件 | 范围 |
|---|---|
| 蛋白质 / RNA LM | 在完整序列上运行 |
| Co-Former | 仅在界面区域 + 3 个特殊标记上运行 |
所以,是的 — 注意力仅在选定的界面区域(例如,总共 256 个标记)内应用。
你是否需要我生成一个展示完整序列→裁剪界面→Co-Former 融合的示意图?

浙公网安备 33010602011771号