要说“AI for Science”的扛大旗者,大家也许都会首先想到 DeepMind:
2018 年,DeepMind 推出蛋白质折叠结构预测模型 AlphaFold,从氨基酸序列计算预测蛋白质结构,不仅为 Alpha 系列锦上添花,奠定了其在 AI 创新上的领头羊地位,还彰显了深度学习攻破其他领域难题的潜力。
AlphaFold 出世后,“AI for biology”(将人工智能用于生物学研究)成为人工智能领域的研究潮流,吸引了世界各地的优秀研究者投身其中。
谷歌 AI 也是其中之一。
这不,最近谷歌便发布了用于蛋白质解析的机器学习模型 ——ProtENN,登顶 Nature 子刊《Nature Biotechnology》。
地址:点此查看
值得注意的是,早在 2019 年,谷歌 AI 就在 bioRXiv 发过 ProtENN 的预印本,不知是不是最近才被 Nature 接收?
蛋白质结构对生命有着至关重要的作用,了解蛋白质的氨基酸序列(如其结构域)与功能之间的关系是一项具有重大科学意义的长期挑战。
自计算机兴起,科学家们就开始尝试用计算工具助攻该课题。例如,被广泛使用的蛋白质家族数据库 Pfam 便囊括了大量详细描述蛋白质结构功能的计算注释,例如珠蛋白与胰蛋白酶家族。但发展至今,目前至少仍有三分之一的微生物蛋白质的注释有待完善。
而据谷歌 AI 的官博介绍,ProtENN 的出现,能够为完善蛋白质结构的计算注释起到重要作用。
蛋白质注释
根据谷歌 AI 介绍,他们所提出的 ProtENN 方法可以帮助在 Pfam 的蛋白质功能注释集中添加大约 680 万个条目,大约相当于过去十年的新增条目总和,将 Pfam 的覆盖范围扩大了 9.5% 以上。
他们将其命名为:Pfam-N。
在计算机视觉中,模型通常首先用于图像分类任务的训练,如 CIFAR-100,然后将其扩展到更专业的任务,如物体检测和定位。
受此启发,谷歌团队也决定开发一个蛋白质域分类模型,在给定蛋白质结构域的氨基酸序列的情况下,从 17,929 个类别(所有类别都包含在 Pfam 数据库中)中预测单个标签。
目前有许多模型可以用于蛋白质结构域分类,但当前最前沿的方法也存在许多缺陷。
首先,它们基于线性序列的比对,并且不考虑蛋白质序列不同部分的氨基酸之间的相互作用。然而,蛋白质不仅仅停留在一行氨基酸中,还会折叠起来,这样不相邻的氨基酸也会相互影响。
此外,当前最前沿的方法是将新的查询序列与一个或多个具有已知功能的序列进行比对。如果新序列与任何具有已知功能的序列高度不同,这种对具有已知功能的序列的依赖就会加大预测新序列功能的难度。
另外,基于比对的方法需要密集的计算量,将它们应用于大型数据集(例如包含超过 10 亿个蛋白质序列的宏基因组数据库 MGnify)时,成本会非常高昂。
谷歌 AI 怎么做?
为了解决这些问题,谷歌团队想到了使用扩张卷积神经网络 (CNN),因为“它非常适合模拟非局部成对氨基酸的相互作用,并且可以在 GPU 等现代 ML 硬件上运行”。
他们训练了一维 CNN (称之为“ProtCNN”)来预测蛋白质序列的分类,以及一组独立训练的 ProtCNN 模型(称之为“ProtENN”),目的是通过开发一种可靠的机器学习方法来补充传统的基于对齐的方法的缺陷。
与其他领域的分类问题相似,蛋白质功能预测的挑战不在于为任务开发全新的模型,而更多在于创建公平的训练和测试集,以确保模型能够对看不见的数据进行准确的预测。
由于蛋白质是从共同的祖先那进化而来的,因此不同的蛋白质通常共享一大部分氨基酸序列。如果不加以注意,测试集可能会被与训练数据高度相似的样本所控制,从而使模型可能仅通过简单地“记忆”训练数据而不是学习来泛化模型的优异性能。
为了防止这种情况,研究者必须使用多个单独的设置来评估模型性能。在每次评估中,他们都将模型精度分层为每个保留测试序列与训练集中最近序列之间的相似性函数。
第一个评估包括一个聚类分裂训练和测试集,与先前研究者提出的方法一致。其中,蛋白质序列样本按序列相似性进行聚类,并将整个聚类放入训练集或测试集中。由此,每个测试示例与每个训练示例之间至少有 75% 的差异。在此任务上的出色表现表明,他们所提出的模型可以泛化、以对分布外的数据做出准确的预测。
▲ 谷歌团队创建了一个测试集,使 ProtENN 能够很好地泛化远离训练集的数据
在第二次评估中,他们使用随机拆分的训练和测试集,根据对样本分类难度的评估来对样本进行分层。难点主要有两点:1)测试示例与最近的训练示例之间的相似性;2)真实分类的训练示例数量(这比在仅有少量训练示例的情况下准确预测函数要困难得多)。
他们还评估了最广泛使用的基线模型和评估设置的性能,特别是以下基线模型:(1) BLAST,一种使用序列比对来测量距离和推断函数的最近邻方法;(2) TPHMM 和 pmmer。每一个模型都包括基于上述序列比对相似性的模型性能分层。
他们将这些基线与 ProtCNN 和 CNN 的集合 ProtENN 进行了比较。实验表明,ProtENN 的泛化能力高于 ProtCNN 与两类基线模型。
▲ 谷歌团队衡量了每个模型的泛化能力,从最难的例子(左)到最简单的例子(右)
他们与 Pfam 团队合作,测试 ProtENN 是否适用于标记真实世界的序列。
实验证明,ProtENN 学习到基于比对的方法的互补信息,并创建了两种方法的集合,标记比任何一种方法都多的序列。他们公开发布了这项工作的结果 ——Pfam-N,其包括 680 万个新的蛋白质序列注释。
目前,ProtENN 模型的架构已在 github 上开放。此外,他们还设计了一个交互工具 ProteInfer,用户可以在浏览器中输入蛋白质序列,并实时获得蛋白质功能预测的结果:
项目地址:点此查看
AI 解析蛋白质还能更卷吗?大家怎么看?