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 个节点

  • 提取:

    • S1D 嵌入:界面残基的序列嵌入
    • Z2D 成对嵌入:界面残基之间的结构关系(类型、距离、角度等)
    • 添加 3 个特殊标记
      • 复合体节点(关注所有部分)
      • 蛋白质节点(仅蛋白质部分)
      • RNA 节点(仅 RNA 部分)

🔹 步骤 3:Co - Former(融合模块)

一个轻量级的 双路径变换器,具有:

  • 结构引导的自注意力

    • 使用成对结构 Z 修改注意力权重
  • 外积更新

    • 界面嵌入的外积 → 更新 Z

\[\begin{align*} A &= \text{Softmax}\left( \frac{QK^T}{\sqrt{d}} + \text{Linear}(Z) \right) \\ \hat{S} &= A \cdot V \\ \hat{Z}_{i,j} &= Z_{i,j} + \text{Linear}(\hat{S}_i \otimes \hat{S}_j^T) \end{align*} \]

🔹 步骤 4:Bi - Scope 预训练

两个预训练目标:

1. CPRI(对比蛋白质 - RNA 相互作用)
  • 匹配相互作用对的蛋白质和 RNA 嵌入
  • 对比损失(正例 = 真实对;负例 = 不匹配对)
2. MIDM(掩蔽界面距离建模)
  • 掩蔽部分 Z
  • 预测界面原子之间的成对距离(作为区间)
  • 鼓励对几何结构的细致理解

🔹 步骤 5:下游任务

(a) 结合亲和力预测
  • 复合体特殊标记嵌入 C_s 输入 MLP

\[\Delta G = \text{MLP}(C_s) \]

(b) 突变效应预测
  • 使用相同骨架但不同序列计算 (\Delta G_{\text{mut}}) 和 (\Delta G_{\text{wild}})

\[\Delta \Delta G = \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,例如原子间距离和角度)

✅ 它融合了两种语言模态(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 来引导它

\[A^{(l)} = \text{Softmax}\left( \frac{QK^T}{\sqrt{d}} + \text{Linear}(Z^{(l)}) \right) \]

→ 这意味着:节点 ij 之间的注意力分数受它们的3D 结构关系影响。

2. 更新序列嵌入

\[\hat{S}^{(l)} = A^{(l)} \cdot V^{(l)} \]

→ 与标准变换器一样:更新标记特征。

3. 使用外积更新成对嵌入

  • 对于每对 (i, j),计算:

\[o^{(l)}_{i,j} = \hat{S}^{(l)}_i \otimes \hat{S}^{(l)}_j^T \quad \text{(外积)} \]

\[\hat{Z}^{(l)}_{i,j} = Z^{(l)}_{i,j} + \text{Linear}(o^{(l)}_{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 中,节点 ij 之间的注意力权重是:

\[A_{i,j} = \text{Softmax}\left( \frac{Q_i K_j^T}{\sqrt{d}} + \text{Linear}(Z_{i,j}) \right) \]

这意味着:

  • 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 融合的示意图?

posted @ 2025-05-15 23:23  GraphL  阅读(67)  评论(0)    收藏  举报