DrugCLIP:用于虚拟筛选的对比蛋白-分子表示学习
虚拟筛选是人工智能辅助药物发现的关键一步,它从庞大的化合物数据库中识别出与特定蛋白质口袋结合的潜在药物。传统的对接方法非常耗时,并且在实际应用中只能使用有限的搜索库。最近使用评分函数进行结合亲和力预测的监督学习方法虽然很有前途,但由于它们依赖于具有可靠结合亲和力标签的有限数据,因此尚未超越对接方法。因此提出DrugCLIP,通过将虚拟筛选定义为密集检索任务,并使用对比学习来对齐结合蛋白口袋和分子的表示,这些表示来自大量没有明确结合亲和力评分的成对数据。DrugCLIP还引入了一种生物知识启发的数据增强策略,以学习更好的蛋白质分子表示。大量实验表明,在各种虚拟筛选基准上,DrugCLIP显著优于传统的对接和监督学习方法,并且大大减少了计算时间,特别是在零样本设置下。
来自:DrugCLIP: Contrastive Protein-Molecule Representation Learning for Virtual Screening
项目地址:https://github.com/bowen-gao/DrugClip
背景概述
虚拟筛选是一种至关重要的计算机辅助药物发现技术-CADD,它使用计算方法从化合物库中搜索候选药物,旨在识别最有可能与靶标结合的分子(靶标一般是蛋白质受体protein receptor或酶enzyme)。通常的做法遵循:搜索库越大,找到匹配候选药物的机会就越大。例如,统计表明,将数据大小从 1 0 5 10^{5} 105增加到 1 0 8 10^{8} 108,在top-1000的结果中,真实配体的数量有了明显的跃升。
分子对接是目前占主导地位的虚拟筛选方法,它通过与结合自由能相关的定量评分来模拟蛋白质-分子相互作用。这种分数的计算在很大程度上依赖于分子取向(molecule orientations)和构象采样(conformations sampling),这在处理数十亿量级的大型库时很不切实际。因此,对接方法的计算成本高,推理速度慢,严重限制了对接方法的发展。
随着分子库的不断增长,迫切需要新的高通量虚拟筛选方法。有监督学习算法,如回归和分类已经被研究用于结合亲和力预测和相互作用预测。然而,这些有监督方法通常需要仔细标记数据样本进行训练,因此泛化能力差。此外,可靠负样本的稀缺性也限制了模型的性能。因此,它们仍然不如当前的对接方法。
重新思考虚拟筛选问题,关键问题是确定哪些分子可能与蛋白质口袋结合,而不是确定准确的结合亲和力评分(回归模型预测的目标)或结合姿态(对接的目标)。根据这一思想,虚拟筛选被定义为信息检索任务,即给定一个蛋白质口袋作为查询,目标是从大规模分子库中检索与目标口袋结合概率最高的分子。在这个新视角下,虚拟筛选被归结为蛋白质和分子之间的相似性匹配问题。
因此DrugCLIP被提出,这是一种密集检索方法,它计算两个单独的预训练编码器之间的对比损失,以最大化蛋白质-分子对之间的相似性。与监督学习方法相比,对比学习方法有几个优点。首先,寻找蛋白质与分子之间的匹配关系的目标自然符合虚拟筛选任务的制定。其次,设计的对比损失减轻了对binding亲和力标注的依赖,有利于在PDBBind等密集标注的小数据集之外使用大规模未标注数据。DrugCLIP中还引入了一种生物学知识启发的增强方法,HomoAug,它基于蛋白质同源进化创建蛋白质-分子对。最后,密集检索设置允许离线预计算蛋白质和分子编码,为在线推理提高效率,并有望对数十亿分子进行高通量虚拟筛选。
在DUD-E和LIT-PCBA这两个具有挑战性的虚拟筛选基准上进行的实验表明,DrugCLIP的零样本性能超过了大多数在有标注数据上微调的深度学习baseline。此外,还进行了人工评估,将DrugCLIP与Glide进行比较,Glide是药理学专家广泛使用的商业对接系统。在80%的情况下,人工评委更喜欢DrugCLIP选出的前10个分子,而不是Glide。此外,由于DrugCLIP不分青红皂白地模拟了蛋白质和分子之间的相似性,因此它可以扩展到药物发现中的其他重要任务,例如“target fishing”,即根据给定的分子对候选蛋白质进行排名。在这些基准上,DrugCLIP也优于对接方法。
虚拟筛选的相关工作
虚拟筛选方法主要有两派:分子对接和有监督学习。分子对接是一种预测蛋白质结合位点内小分子配体结合能、最佳取向和构象的计算技术。它使用遗传算法和蒙特卡罗等采样算法,通过探索配体和蛋白质受体的构象空间,生成一组候选配体姿态。然后通过分子-蛋白质评分函数对这些候选姿态进行评估,以评估它们的结合亲和力。这个迭代过程一直持续到收敛,这导致了很高的计算开销。
为了加速预测过程,有监督学习方法作为对接的替代方法出现了。DeepDTA、GraphDTA等回归模型通过对给定的结合亲和力标签进行训练,首先预测每个蛋白质-分子对的结合亲和力,然后对它们进行排序以确定最佳候选物。然而,由于缺乏结合亲和力数据的负样本,这些模型存在高假阳性率。另一种方法是使用预定义的规则获取负样本,并训练分类器来区分阳性和阴性蛋白质分子对。以前的工作已经观察到这些方法的泛化程度很差。例如,Wang和Dokholyan认为在DUD-E上训练的模型不能转移到其他分类基准上(Yuel: Improving the Generalizability of Structure-Free Compound–Protein Interaction Prediction)。
DrugCLIP架构
概述
为了表述这个问题,我们将感兴趣的蛋白质口袋表示为 p p p, n n n个小分子的集合表示为 M = { m 1 , . . . , m n } M=\left\{m_{1},...,m_{n}\right\} M={m1?,...,mn?}。虚拟筛选的目的是确定与target口袋结合概率最高的前 k k k个候选物。这个选择过程通常由评分函数 s ( ? , ? ) s(\cdot,\cdot) s(?,?)指导,该函数评估口袋 p p p和每个候选分子 m i m_i mi?之间的成对数据。评分函数可以从对接模拟或监督学习模型等技术中衍生出来,这些技术根据它们与target口袋结合的可能性对最有希望的候选者进行排名和选择。
为了将虚拟筛选看作是一个密集的检索任务,DrugCLIP将口袋视为从给定文库中检索相关分子的查询。整个框架如图1所示。首先,训练两个独立的编码器来学习蛋白质口袋(以下简称为蛋白质)和分子的表示。然后,计算每个蛋白质分子对之间的相似性,并利用对比学习来区分正负对。
- 图1:训练程序的说明。通过RDkit模拟生成分子构象,并用HomAug对口袋数据进行增强。在每次训练迭代中,采样的3D分子和3D口袋表示具有对比的学习目标。
获取蛋白质口袋:一般首先获得蛋白质的3D结构,再从蛋白质3D结构上找到凹陷区域
蛋白质和分子的编码
不同的表示学习方法可以用作蛋白质和分子编码器。在DrugCLIP中,遵循UniMol的编码器架构,UniMol是一个使用大规模无监督数据预训练的强大3D编码器(Uni-mol: A universal 3d molecular representation learning framework)。首先,分子和蛋白质都被标记为原子组合,一个具有 L L L个token的分子表示为特征向量 x m = { c m , t m } x^{m}=\left\{c_m,t_m\right\} xm={cm?,tm?},其中 c m ∈ R L × 3 c_{m}\in R^{L\times 3} cm?∈RL×3表示原子坐标, t m ∈ R L t_{m}\in R^{L} tm?∈RL表示原子类型,使用相同设置获得口袋特征,记为 x p = { c p , t p } x^{p}=\left\{c_{p},t_{p}\right\} xp={cp?,tp?}。
如UniMol所述,编码器是一个SE(3)的3D transformer,它接受token化的原子特征作为输入。为了保持嵌入分子结构的SE(3)不变性,利用三维坐标特征作为几何距离。具体而言,pair-wise的表示 q i j 0 q_{ij}^{0} qij0?是基于每对原子间距离初始化的。对于每个transformer层 l l l,学习原子表示的自注意力机制定义为: A t t e n t i o n ( Q i l , K j l , V j l ) = s o f t m a x ( Q i l ( K j l ) T d + q i j l ) V j l , ??? q i j l + 1 = q i j l + Q i l ( K j l ) T d Attention(Q_{i}^{l},K_{j}^{l},V_{j}^{l})=softmax(\frac{Q_{i}^{l}(K_{j}^{l})^{T}}{\sqrt{d}}+q_{ij}^{l})V_{j}^{l},\thinspace\thinspace\thinspace q_{ij}^{l+1}=q_{ij}^{l}+\frac{Q_{i}^{l}(K_{j}^{l})^{T}}{\sqrt{d}} Attention(Qil?,Kjl?,Vjl?)=softmax(d?Qil?(Kjl?)T?+qijl?)Vjl?,qijl+1?=qijl?+d?Qil?(Kjl?)T?受BERT的启发,随机屏蔽原子类型,并通过预测被屏蔽原子类型来预训练模型。此外,引入随机噪声来破坏原子坐标,并对模型进行预训练以重建原始坐标。具体而言,将 [ ? 1 , 1 ] [- 1,1] [?1,1]的均匀噪声添加到15%的原子坐标中,通过head直接预测正确的坐标。在所有原子中心添加一个特殊的原子级[CLS]来输出相应的蛋白质和分子的表示。DrugCLIP中,将蛋白质编码器表示为 g ? g_{\phi} g??,分子编码器表示为 f θ f_{\theta} fθ?,然后,蛋白质和分子的表示为 g ? ( x p ) g_{\phi}(x^{p}) g??(xp)和 f θ ( x m ) f_{\theta}(x^{m}) fθ?(xm)。
对比学习
为了进行对比学习过程,我们首先需要获得每个蛋白质分子对之间的相似性测量值。根据前面的工作,点积相似度和余弦相似度都可以作为相似度函数。例如,使用点积时, ( x i p , x j m ) (x_{i}^{p},x_{j}^{m}) (xip?,xjm?)的相似度得分为: s ( x i p , x j m ) = g ? ( x i p ) T ? f θ ( x j m ) s(x_{i}^{p},x_{j}^{m})=g_{\phi}(x_{i}^{p})^{T}\cdot f_{\theta}(x_{j}^{m}) s(xip?,xjm?)=g??(xip?)T?fθ?(xjm?)在虚拟筛选领域,通常提供binding蛋白和分子的正样本对很多,但缺少负样本。因此,我们需要为对比目标构建负对。这里使用了类似于CLIP的batch抽样策略。具体来说,给定一批pair数据 { ( x k p , x k m ) } k = 1 N \left\{(x^{p}_{k},x^{m}_{k})\right\}_{k=1}^{N} {(xkp?,xkm?)}k=1N?,batch size为 N N N,从中提取蛋白质列表和对应的分子列表为 { x k p } k = 1 N \left\{x^{p}_{k}\right\}_{k=1}^{N} {xkp?}k=1N?和 { x k m } k = 1 N \left\{x^{m}_{k}\right\}_{k=1}^{N} {xkm?}k=1N?。组合在一起得到 N 2 N^{2} N2个pairs ( x i p , x j m ) (x^p_i,x^m_j) (xip?,xjm?),其中 i , j ∈ [ 1 , N ] i,j\in[1,N] i,j∈[1,N]。当 i = j i=j i=j时,pair为正样本,否则为负样本。
这种提取负样本的假设是合理的,因为对于口袋和小分子的绑定样本,正样本和负样本的分布存在很大差距,注意,对于直接输入蛋白质序列和小分子序列的形式,正样本和负样本的分布反而没有那么大差距,这是DrugCLIP对比学习中采样负样本有效的原因。
然后引入两种损失:从口袋到分子的损失和从分子到口袋的损失。前者描述给定口袋 x k p x_{k}^{p} xkp?筛选分子的过程,表示为: L k p ( x k p , { x i m } i = 1 N ) = ? 1 N l o g e x p ( s ( x k p , x k m ) / τ ) ∑ i e x p ( s ( x k p , x i m ) / τ ) L_{k}^{p}(x_{k}^{p},\left\{x_{i}^{m}\right\}_{i=1}^{N})=-\frac{1}{N}log\frac{exp(s(x_{k}^{p},x_{k}^{m})/ \tau)}{\sum_{i}exp(s(x_{k}^{p},x_{i}^{m})/ \tau)} Lkp?(xkp?,{xim?}i=1N?)=?N1?log∑i?exp(s(xkp?,xim?)/τ)exp(s(xkp?,xkm?)/τ)?后者是给定分子 x k m x_{k}^{m} xkm?筛选口袋: L k m ( x k m , { x i p } i = 1 N ) = ? 1 N l o g e x p ( s ( x k p , x k m ) / τ ) ∑ i e x p ( s ( x i p , x k m ) / τ ) L_{k}^{m}(x_{k}^{m},\left\{x_{i}^{p}\right\}_{i=1}^{N})=-\frac{1}{N}log\frac{exp(s(x_{k}^{p},x_{k}^{m})/ \tau)}{\sum_{i}exp(s(x_{i}^{p},x_{k}^{m})/ \tau)} Lkm?(xkm?,{xip?}i=1N?)=?N1?log∑i?exp(s(xip?,xkm?)/τ)exp(s(xkp?,xkm?)/τ)?因此,每个batch上的损失为: L = 1 2 ∑ k = 1 N ( L k p + L k m ) L=\frac{1}{2}\sum_{k=1}^{N}(L_{k}^{p}+L_{k}^{m}) L=21?k=1∑N?(Lkp?+Lkm?)
训练和推理
DrugCLIP的虚拟筛选包含两个阶段,在离线阶段,编码器 f θ f_{\theta} fθ?获得每个分子的嵌入。这些嵌入被存储起来以供在线检索,在线阶段,只需要计算口袋嵌入和分子嵌入的相似性,并根据相似性得分从分子库中选择前 k k k个分子。
训练数据构建:使用三个数据集进行训练(PDBBind、BioLip和ChEMBL)。PDBbind是用于对接和结合亲和力预测的标准数据库。它由实验测量的蛋白质-配体复合物结构及其结合亲和力标签组成,可以从中提取具有精确结构的真阳性蛋白质分子对。
- 这里使用PDBBind 2019,它包括17000多个蛋白质分子复合物,其结合亲和力数据涵盖了广泛的化学空间和蛋白质家族。
- BioLip是一个由标准数据挖掘工作流每周更新的数据集,该工作流从PDB中提取复杂的结构数据。过滤掉所有含有肽、DNA、RNA和单离子的复合物,得到122861个蛋白质分子对,比PDBBind大得多。
- DrugCLIP也可以使用没有复合结构的已知受体-配体对。从ChEMBL数据集中,过滤出只有一个已知结合口袋的蛋白质。然后,将口袋与ChEMBL数据库中的所有阳性复合物配对。
数据增强:直接应用常见的数据增强技术来增强生物数据是不可行的,因为对口袋或分子数据引入噪声或扰动会导致不稳定或化学正确的结构,使增强的数据不可靠,尤其是对于虚拟筛选。为了应对这一挑战,提出了一种称为HomoAug的新扩增方法,该方法考虑了数据的生物学意义。它利用生物学中同源蛋白的概念,将PDBbind的配体与与其口袋对应的同源蛋白结合,从而生成新的训练数据,见图2。
- 图2:HomoAug管道示意图。PDBBind的口袋蛋白实例在AlphaFold蛋白质结构数据库中搜索同源对应物。然后采用Malign方法实现同源蛋白和原始蛋白之间的结构比对。经过过滤过程后,同源蛋白与分子结合,形成增强的口袋配体对。
结果
在实验中,使用与DrugCLIP相同的架构,将训练目标改为回归结合亲和力后得到模型DrugBA(没有对比学习),两个模型都在PDBBind上训练,在DUD-E和LIT-PCBA上零样本测试,结果见下表:
上表显示,DrugBA的表现一直不如DrugCLIP。这证明了对比学习的必要性。为了直观地展示结合亲和力预测和对比学习之间的差异,下图展示了DrugCLIP和DrugBA嵌入的可视化。对于该可视化,从CASF-2016数据集中随机选择20个分子和20个口袋。通过使用乘法组合这些对,获得了400个组合嵌入以供进一步分析。当嵌入被分子index或口袋index着色时,DrugCLIP的嵌入分布比较均匀,DrugBA的嵌入分布有聚类模式,可能已经引入了领域偏差。
- 图3:通过组合口袋-分子对生成的嵌入TSNE可视化。a 和c表示DrugCLIP产生的嵌入,其中a根据分子着色,c根据口袋着色。b和d表示DrugBA生成的嵌入,b基于分子着色,d基于口袋着色。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!