2022 全球 AI 生物智药大赛赛道二参赛攻略 @paipai
大家好,我是来自 paipai 队的徐一帆,Github ID IvanaXu [01],相关研究工作都会开源在上面,欢迎大家关注!
以下是关于本次“云上进化”2022 全球 AI 生物智药大赛 [02]:赛道二“抗原抗体结合 Epitope 和 Paratope 精准确定”的参赛分享。
一、团队介绍
paipai 队,取自 PAIN + AI,我们团队先后打过很多不同领域的算法比赛,之前参加过“创新大师杯”冷冻电镜蛋白质结构建模大赛 [03],为继续深入生物计算相关技术,进而参加了本次比赛。我们同时打了本次“云上进化”2022 全球 AI 生物智药大赛:赛道一“基于 AI 算法的 SARS-CoV-2 广谱中和抗体药物设计” [04]、赛道二“抗原抗体结合 Epitope 和 Paratope 精准确定” [05]。
其中,赛道一初赛 Rank14、复赛 Rank10;赛道二我们是较早出成绩的,初赛阶段 0.29159/2022-10-09,0.3264/2022-10-25,之后由于时间关系就没更新了,所幸 Rank15 边缘晋级;复赛阶段我们进行了方案的主要优化,取得 0.4410/2022-12-20,拿下 Rank01;决赛阶段由于春节假期的时间投入,最终优化至 0.4607/2023-02-06。
经 2023-02-23 决赛答辩后 [06],
承蒙各位评委老师的错爱,我们有幸取得本次比赛 赛道二“抗原抗体结合 Epitope 和 Paratope 精准确定” 冠军!
接下来,介绍主要算法方案。
二、主要方案
2.1 问题拆解
表位(Epitope)是存在于抗原表面的,决定抗原特异性的特殊性结构的化学基团称为抗原决定簇,又称表位。抗原通过表位与相应淋巴细胞表面抗原受体结合,从而激活淋巴细胞,引起免疫应答;抗原也借此与相应抗体或致敏淋巴细胞发生特异性结合。单个抗原分子可具有一种或多种不同的表位,其大小相当于相应抗体的抗原结合部位,每种表位只有一种抗原特异性。因此,表位是被免疫细胞识别的靶结构,也是免疫反应具有特异性的基础,其性质、数目和空间构型决定着抗原的特异性。与之对应的抗体结合部位(Paratope)是与抗原表位相结合的抗体上的位点。
表位和相应的抗体结合部位的确定的重要性,可想而知,它揭示了免疫系统对抗病毒的具体的机理。举个例子,几天前,一个新发现的新冠病毒抗体 SP1-77 及其谱系成员表现出非常广泛的活性。是什么使 SP1-77 抗体拥有如此广泛的中和作用?结构研究表明,SP1-77 与当前抗体的工作原理大相径庭。研究人员解释说,现有许多抗体通过结合特定位置的刺突蛋白受体结合域(RBD)来防止新冠病毒与人体细胞的血管紧张素转化酶 2(ACE2)受体结合。SP1-77 抗体也与 RBD 结合,但方式完全不同,不会阻止病毒与 ACE2 受体结合,但 SP1-77 可防止病毒外膜与标靶细胞膜融合,这阻碍了病毒感染最后一个必要步骤。这就是结构基础上的表位和抗体结合部位的确定,能为人们解码抗体与病毒作用的细节方式。但是由于新冠病毒的表位不多,很容易被误打误撞地猜到,所以我们这个赛题不聚焦在新冠病毒。而是针对各种各样的抗原和抗体复合物。
根据比赛赛题以及数据解析 [07],选手们可以基于,近两年雨后春笋般涌现出来的,蛋白质结构预测开源算法,在此基础上优化、定制出一个更有难度的,精准确定抗原抗体复合物上表位和相对应的抗体结合部位的算法。目的为给定的抗原抗体对,确定表位(Epitope 在抗原序列上的位点序号,和在空间中的三维坐标)和对应的抗体结合部位(Paratope 在抗体序列上的位点序号,和在空间中的三维坐标)。抗原抗体复合物的结构预测,可以说是精准确定 Epitope 和 Paratope 不可跳过的步骤,所以复合物的结构也需要提交。使用 MM-align + TM-score 对生成的抗原抗体复合物结构打分,并用 RMSD、RMSE 来对 Epitope 和 Paratope 的准确度打分(RMSD 确定空间坐标位置的准确度,RMSE 确定位点序号的准确度)。最终的分数是这三项的加权和,权重分别为 0.3、0.3、0.4。08
简单来说,我们需要提交一个 Docker 镜像 [10],预测/tcdata 下给定的抗原抗体对,并完成如图所示:
任务 A-结构预测,即根据 001.fasta,预测其 001.pdb 文件;
任务 B-位点预测,即根据 001.pdb 结果文件,预测其抗原抗体结合位点;
2.2 结构预测
如图流程所示,我们先完成 1、序列转文本匹配,预先构建 Source 对比库,并进行向量化特征匹配,若此时输出结果满足设定阈值,则直接输出,反之我们调用 2、HelixFold-Single [11],百度类 AlphaFold [12] 提出蛋白质结构预测方法 [13],但我们选用了其 Single 版本。并对其进行了一定程度上的优化:(1)模型参数优化、(2)调用方法优化等。
也有幸在决赛答辩环节认识 HelixFold 其开发者 @IDEAL-lab 团队,在此留一个大写的赞!
2.2.1 序列转文本匹配
(1)构建 Source 对比库
如上,由于 AlphaFold2 [14]等结构库均 1~2.2TB,出于简化,做了一定 PDB 筛选:
除了由最初官方数据的汇总分析外,我们先后进行了如右 I、II、III 版本更新,陆续补充了一些关键词如:”?转录?”,并根据如:水解酶进而补充异构酶等之类的延伸关系。最后得到 fasta+pdb 文件经数据压缩后约 18G,大幅度缩小了搜索范围。对应的 Source 对比库也有 I [15]、II [16]、III [TODO] 版本,我们开放了部分。
(2)向量化特征匹配我们在冷冻电镜蛋白质结构预测建模大赛尝试过将蛋白质序列视为文本并转化为 NLP 问题的思路 V1、V2、V3,如图:
V1、直接走 BM25 文本模型;
V2、对文本进行 CUT 预处理后,走 BM25 文本模型;
V3、引用 Bert MASK 思想 + CUT 预处理后,切入 TF-IDF 特征,导入 LR 模型;
我们参考了这一思路,但舍弃了 Bert [17]、BM25 文本模型 [18]。根据 KISS 原则 [19]”Keep It Simple, Stupid“,进一步简化为:根据 Source 对比库 fasta,对 fasta 序列进行文本处理与转换,经 Word2Vec 模型 [20]得到多维向量化特征 $X_n$,实际我们使用了 512 维,据此在 Source 库中计算欧氏距离 [21],匹配最近样本,输出其对应 pdb 文件。
2.2.2 HelixFold-Single
基于 AI 的蛋白质结构预测方法,例如 AlphaFold2,已经达到更高的精度。 主要依靠多序列比对 (MSA) [22]和模板作为输入,从同源序列中学习协同进化信息。 尽管如此,从蛋白质数据库中搜索 MSA 和模板非常耗时。 HelixFold-Single 试图通过仅使用蛋白质的一级序列来探索快速蛋白质结构预测的局限性。 实现将大规模蛋白质语言模型与 类 AlphaFold2 的学习能力相结合。 其中,HelixFold-Single 使用自监督学习范式预训练具有数亿个初级序列的大规模蛋白质语言模型 (PLM) [23],该模型将用作 MSA 和学习模板的替代方案 协同进化信息。 然后,通过结合预训练的 PLM 和 AlphaFold2 的基本组件,输出预测 pdb 结果。
我们注意到 HelixFold-Single 仅应用了蛋白质的一级序列,且也应用 NLP 技术,采用了大规模蛋白质语言模型/PLM 作为 AlphaFold2 的文本化版本。其基本思想与我们类似,也是类似 ESMFold [24]的大规模模型,但预训练给了更强的推理速度。简单高效,因此我们选用它作为结构预测模型的辅助方案。
2.2.3 优化版 HelixFold-Single
(1)我们对该模型进行了参数解析,并针对文本边际权重/last_n_weight [25],进行如图测试:综合多种不同类型蛋白质,示例中病毒蛋白 [26]、DNA 构建蛋白 [27]、抗体抗原蛋白 [28]、免疫系统蛋白 [29]、细胞侵入 [30]等, last_n_weight=4 时预测结果最佳。进一步地,如细胞侵入 last_n_weight=2 更佳,这样我们可根据 fasta 先预测该蛋白质类型,再选择其对应的最佳阈值。
(2)调用方法优化我们根据 fasta 将蛋白质拆解成不同分支,或者说蛋白质链,并对以下方法进行测试:
Test 1 直接调用;
Test 2 调用最小分支;
Test 3 调用各分支后合并;
Test 4 调用各分支后剪枝;
Test 5 T1 + T2 按条件剪枝;
Test5 弥补了 HelixFold-Single 在蛋白质短链预测上的细微不足,并通过剪枝去除冗余结构,可提升 2%!
特别说明,这里剪枝的思想来自于冷冻电镜蛋白 @nils 团队 [31]
2.3 位点预测
关于位点预测,我们主要有方法:1、取默认值;2、基于官方给的 Baseline [32]进行优化;3、通过 ePISA [33]采集数据进行 PDB 匹配;4、引入图模型 [34] GL model *;
其中,Baseline 主要:
读取结构预测后的 pdb 文件
区分 pdb 文件中,分别属于抗原和抗体的部分
根据 Hydrogen bonds/氢键 [35],Salt bridges/盐桥 [36]的定义,识别相互作用区域的位点
将 pdb 和 epitope 文件夹内结果保存为 result.zip
实际使用,我们对方法 2、方法 3 进行 double check,以下介绍:
2.3.1 Baseline 优化
(1)identify_bonds/输出原子类型优化原 baseline 限制 ATOM 仅“X-H-O” [37]类型,在对官方数据探索后,我们尝试放开了这一限制;
(2)抗原抗体解析/separate_antigen_antibody 优化;改进了其对齐方式,由 chain_id 的直接对齐,改进为在 fasta 文件中进行 auth 关键词匹配,若不能匹配部分再直接对齐。在官方数据中,这引发了约 20%的差异。
这个 bug 其实很多团队都发现了,优化后可使得抗原抗体以及其链是对应的。
(3)原子间距离 dist [38]限制优化原 baseline 限制了结果原子间距离为(2.00, 3.50),我们基于官方数据,在对比 baseline、ePISA 预测结果之后,进行了原子间距离分析,后发现时大部分情况下头尾部原子间距离,baseline 误差会放大。故而,将 dist 限制在原子间距离 25%-75% [39]内,即(2.83, 3.49);
(4)调整 Hydrogen bonds/Salt bridges 输出格式
2.3.2 PDBePISA
由于官方数据没有给出其位点信息,我们通过在线平台 PDBePISA,并展开以下工作:
(1)数据爬取通过https://www.ebi.ac.uk/pdbe/pisa/cgi-bin/interfaces.pisa?{task} 收集位点数据 XML [40];
(2)数据清洗自 XML 结果清洗得到 Hydrogen bonds、Salt bridges、CSS [41],注意该平台返回多项预测结果,且 CSS 分数不一,也收集备用,以下简称 ePISA 数据;
(3)模版匹配基于 ePISA 数据,类 Source 对比库构建 ePISA 库,返回相似结构的氢键、盐桥关系供参考;
位点预测单独使用此方法,线上成绩视复杂性约可取得 0.3010~0.3939,可见该方法并不完善,但有一定准确度和扩展性。
这里我们对位点预测部分较为严谨,希望尽可能预测准确,故而:现应用策略是与 2.3.1 Baseline 优化进行背靠背预测,再相互校验。
如果改进此应用策略,或许整体模型效果会更好。
查看本文全部内容,欢迎访问天池技术圈官方地址:2022全球AI生物智药大赛赛道二参赛攻略@paipai
评论