现有的药物-靶点相互作用(DTI)预测方法通常无法很好地推广到新的(unseen)蛋白质和药物。 在这项研究中,作者提出了一种具有子图匹配功能的蛋白质特异性元学习框架 ZeroBind,用于根据其结构预测蛋白质-药物相互作用。 在元学习过程中,ZeroBind为每个蛋白质制定了一个模型,这也被认为是一个学习任务,每个任务都使用图神经网络(GNN)来学习蛋白质graph嵌入和分子graph嵌入。受到分子与蛋白质中的结合袋而不是整个蛋白质结合这一事实的启发,ZeroBind 引入了无监督子图信息瓶颈(SIB,subgraph information bottleneck)模块,以将蛋白质图中信息量最大且压缩的子图识别为潜在的结合袋。此外,ZeroBind 将单个蛋白质的模型用多任务训练,其重要性通过任务自适应自注意力模块自动学习以做出最终预测。 结果表明,ZeroBind 在 DTI 预测方面比现有方法取得了优异的性能,特别是对于那些新的蛋白质和药物,并且在对那些具有一些已知结合注释的蛋白质或药物进行微调后表现良好。
来自:ZeroBind: a protein-specific zero-shot predictor with subgraph matching for drug-target interactions
工程地址:http://www.csbio.sjtu.edu.cn/bioinf/ZeroBind/readme.html
目录
- 基本介绍
- 方法
- 元学习设置
- 模型架构
基本介绍
输入的是分子图和蛋白质图,对于分子图 ,节点为原子,对于蛋白质图,节点为残基。
- 分子图 G m = { V m , E m } G_{m}=\left\{V_{m},E_{m}\right\} Gm={Vm,Em}
- 蛋白质图 G p = { V p , E p } G_{p}=\left\{V_{p},E_{p}\right\} Gp={Vp,Ep}
氨基酸组成了蛋白质,氨基酸通过脱水缩合形成肽链,剩余的部分就是残基,在获取蛋白质图的过程中,残基作为节点,节点之间的连接依据蛋白质的3D结构,如果两个残基在3D空间中的距离小于设定距离,则连接两个残基节点
zerobind的输入输出为:
- 输入:蛋白质3D结构(PDB格式)和分子的SMILES;
- 输出:zerobind自动根据输入的蛋白质搜索训练过的protein-specific模型,得到预测结果,如果搜索不到这个蛋白质相关的模型,zerobind将会使用元学习进行结合预测任务;
数据处理流程:
- 第一步:从蛋白质三维结构构建蛋白质图。不使用肽键作为边,而是连接距离小于8Å的残基,其中使用ESM-2预训练模型提取边和节点特征
- 第二步:从蛋白质3D结构构建蛋白质图的一个例子
- 第三步:小样本预测和零样本预测的schedule
方法
元学习设置
zerobind在每个蛋白质上训练一个DTI任务,定义DTI任务 T p = { p , M p } T_{p}=\left\{p,M_{p}\right\} Tp={p,Mp},其中 p p p是蛋白质集合 P P P中的蛋白质, M p M_{p} Mp是 p p p对应的结合分子和非结合分子的药物集。
元学习框架最初是为了在分布中的多个相关任务中学习一般知识而提出的,并利用这种一般经验快速适应额外的任务,提高预测性能。元学习框架主要有两种类型:
- 基于梯度的方法:经典的基于梯度的MAML方法使用元学习器通过总结多个任务损失来学习良好的初始化。因此,MAML可以实现高精度和快速的泛化,该研究就采用MAML作为训练策略;
- 基于度量的方法:原型网络是一种经典的基于度量的元学习算法,它直接训练每个类别的向量表示。一旦训练了一个好的特征提取器,新样本的类别就由其在向量空间中最接近的原型来确定;
首先,随机初始化网络参数 θ \theta θ,从任务 T p = { p , M p } T_{p}=\left\{p,M_{p}\right\} Tp={p,Mp}中采样出任务(以protein为索引),MAML旨在学习初始化参数,以快速适应额外任务。对于一对蛋白质和药物,按照2-way(2分类),k-shot(每个类别中有k个样本),m-query(query中的样本数量)进行采样。在这三个超参数中,由于在分类任务中只有结合和非结合两种类型的标签,因此设置了2-way。在最初的MAML框架中,模型首先对每个标签的k个样本进行内部训练,以学习特定于task的模型,然后对m个样本进行测试。在获得每个任务的损失后,MAML将梯度下降与所有任务的损失总和平均值相结合。在这里,作者将训练任务和测试任务分别称为support集和query集。
MAML(Model-Agnostic Meta-Learning)是一种流行的元学习算法,它的目标是训练模型在接收少量新数据时能够快速适应新任务。MAML的核心思想是通过在多个任务上训练,找到一个好的参数初始化,这个初始化能够使得模型通过少量的梯度更新即可对新任务进行有效学习。以下是MAML的基本训练策略:
-
任务抽样:在训练过程中,从数据集中随机抽取一批任务。每个任务都有自己的训练数据(支持集)和验证数据(查询集)。
-
内部循环(Inner Loop):对于每个任务,模型从一个共享的初始化参数开始,并仅使用该任务的支持集进行几步梯度更新(这就是“k-shot”学习)。这些更新被称为内部循环或者快速适应。
-
计算损失:在内部循环的梯度更新后,使用该任务的查询集计算模型的损失。这个损失表示模型对新数据的泛化能力。
-
外部循环(Outer Loop):损失函数根据所有任务的查询集损失来计算。然后使用这个总损失来更新模型的初始化参数。这些更新被称为外部循环或元更新。
-
重复过程:重复以上步骤,每次迭代都会选择新的任务批次进行训练。通过多次迭代,模型的初始化参数会逐渐适应各种任务,目的是找到一个好的起点,使模型能够通过少量的调整快速适应新任务。
MAML的关键优势在于其模型无关性,即它可以应用于任何能够通过梯度下降进行训练的模型,包括但不限于神经网络。通过在多个任务上进行元学习,MAML找到的参数初始化可以被迅速微调以适应新任务,这对于在数据稀缺的场景下有着重要意义。
模型架构
ZeroBind将DTI预测表示为元学习任务,并用MAML框架来解决DTI预测中看不见的蛋白质和药物的泛化问题。具体而言,元学习任务被定义为特定蛋白质的药物的结合预测,网络结构中利用子图学习自动发现子图作为蛋白质中的潜在结合口袋,并设计自注意力机制来学习每个任务的权重。ZeroBind的流程如图1所示。
ZeroBind将 T p = { p , M p } T_{p}=\left\{p,M_{p}\right\} Tp={p,Mp}采样到support和query集中(图1a),其中support集用于训练base学习器,query集用于训练task-specific模型。在重复N个内部步骤后,对所有损失进行加权,以优化具有梯度下降的base学习器。对于每种蛋白质,ZeroBind训练一个DTI预测任务。图1b给出了ZeroBind中基础模型的架构,其中蛋白质图和分子图被输入到GCN中,以学习药物和蛋白质的嵌入。此外,设计了一个弱监督子图信息瓶颈(SIB)模块来建模和发现蛋白质中的潜在结合口袋。SIB模块不仅减少了冗余信息以提高性能,而且通过识别蛋白质中的关键残基,为ZeroBind带来了可解释的见解。图1c介绍了一个自适应自注意力模块,用于测量每个任务的贡献,其中不同的DTI任务对元学习器有不同的贡献。ZeroBind支持在零样本和小样本场景中预测DTI。前者使用元学习器直接进行预测,后者使用蛋白质特异性模型在元测试中使用蛋白质样本进行微调后进行预测。
- 图1a:给定support集和query集,首先计算 L s u p p o r t L_{support} Lsupport,并使用每个任务的support集将参数为 θ θ θ的base模型更新为参数为 θ ′ θ' θ′的task-specific模型,然后任务特定模型使用任务的query集计算 L q u e r y L_{query} Lquery。重复 N N N次后,所有损失被加权平均更新元模型。
- 图1b:zerobind中基本模型的结构。对于每个任务,蛋白质图和分子图都被输入到具有参数 θ p \theta_{p} θp和 θ M \theta_{M} θM的GCN中,接下来,以弱监督的方式生成蛋白质的IB子图作为潜在结合口袋。蛋白质子图嵌入与分子嵌入连接,并将它们输入MLP以识别相互作用
- 图1c:任务自适应注意力模块。将蛋白质embedding G p , k G_{p,k} Gp,k和query中所有分子embeddings { G m , k i } i = 1 m \left\{G_{m,k}^{i}\right\}_{i=1}^{m} {Gm,ki}i=1m的平均拼接作为任务的embedding。在使用自注意力层计算每个任务的权重后,记为 { η T i } i = 1 N \left\{\eta_{T_{i}}\right\}_{i=1}^{N} {ηTi}i=1N,对总损失进行平均,并将其合并到元训练过程中以更新模型参数。