产品展示

使用 ProtT5

2026-01-27 13:03:59



使用 ProtT5XLUniRef50 和 Amazon OpenSearch Service 进行蛋白质相似性搜索

关键要点在药物发现中,蛋白质相似性搜索是常见流程之一。本文提出一种基于 Amazon OpenSearch 服务的解决方案,结合预训练模型 ProtT5XLUniRef50 来生成蛋白质嵌入embeddings,并对输入蛋白质进行相似性搜索。该解决方案提供了广泛的功能,可以帮助研究人员高效找到具有相似特性的蛋白质。

一个蛋白质是由氨基酸组成的序列,当这些氨基酸串联在一起时,形成了一个三维结构。这种三维结构使蛋白质能够与体内其他结构结合并引发变化,而这种结合对于许多药物的工作原理至关重要。

在药物发现过程中,寻找相似蛋白质是一项常见工作,因为相似的蛋白质往往具有相似的特性。给定初始蛋白质后,研究人员通常会寻找表现出更强结合性、更佳溶解性或减少毒性的变体。尽管蛋白质结构预测已经取得了一些进展,但有时仍需仅根据序列预测蛋白质特性。因此,快速、规模化地获取与输入序列相似的序列显得尤为重要。在此篇博客中,我们提出了一种基于 Amazon OpenSearch Service 的相似性搜索解决方案,并结合预训练的 模型 ProtT5XLUniRef50 生成嵌入。提供此解决方案的代码库可以在 GitHub 找到。ProtT5XLUniRef50 是基于 t53b 模型,并在大量蛋白质序列上进行了自我监督的预训练。

在深入探讨我们的解决方案之前,重要的是要理解什么是嵌入embeddings,以及它们为何对我们的任务至关重要。嵌入是对象的稠密向量表示在我们的案例中是蛋白质可以捕获它们特性在连续向量空间中的本质。嵌入本质上是一个紧凑的向量表示,封装了对象的重要特征,使其更易于处理和分析。嵌入在理解和处理复杂数据中发挥着重要作用。它们不仅降低了维数,还捕捉并编码了内在属性。这意味着具有相似特征的对象如单词或蛋白质在向量空间中的嵌入会更接近,从而使我们能够高效地执行相似性搜索,这使得嵌入在识别大型数据集中的关系和模式时非常宝贵。

龙猫机场

考虑水果及其属性的类比。在嵌入空间中,橘子和橙子这样的水果会比较接近,因为它们共享一些特性,如圆形、颜色,以及相似的营养成分。同样,香蕉与大蕉之间的距离也会很近,反映出它们的共同属性。通过嵌入,我们可以直观地理解和探索这些关系。

ProtT5XLUniRef50 是一种专门设计用于通过将蛋白质序列转换为多维嵌入以理解蛋白质语言的机器学习ML模型。这些嵌入捕获生物特性,使我们能够在多维空间中识别具有相似功能或结构的蛋白质,因为相似蛋白质会被编码得更为接近。这种直接将蛋白质编码为嵌入的方式对于我们的相似性搜索至关重要,为识别潜在药物靶点或理解蛋白质功能提供了坚实基础。

我们在本篇文章中使用的 UniProtKB/SwissProt 蛋白质数据库嵌入已经预计算,并可供下载。如果您有自己的新型蛋白质,可以使用 ProtT5XLUniRef50 计算嵌入,然后使用这些预计算的嵌入查找已知蛋白质,以找到相似特性。

本文将概括解决方案及其组件的广泛功能。接下来,我们将简要解释嵌入的概念,并讨论示例中使用的特定模型。之后我们将展示如何在 Amazon SageMaker 上运行该模型。此外,我们还将探讨如何使用 OpenSearch Service 作为向量数据库。最后,我们将展示在蛋白质序列上运行相似性搜索的一些实际示例。

解决方案概述

让我们逐步走过这个解决方案及其所有组件。此解决方案的代码可以在 GitHub 上找到。

使用 ProtT5

我们利用 OpenSearch Service 的向量数据库DB能力来存储一万种预计算的嵌入样本。这些样本将用于演示相似性搜索。OpenSearch Service 具备高级的向量数据库功能,支持多种流行的向量数据库算法。有关这些功能的概述,请参见 Amazon OpenSearch 服务的向量数据库功能说明。开源的 prott5xluniref50 ML 模型,托管在 Huggingface Hub,用于计算蛋白质嵌入。我们使用 SageMaker Huggingface 推理工具包 快速自定义和部署该模型。模型部署后,解决方案就可以对任何输入蛋白质序列计算嵌入,并针对我们预先加载在 OpenSearch Service 上的蛋白质嵌入执行相似性搜索。我们使用 SageMaker Studio Notebook 来展示如何在 SageMaker 上部署模型,然后使用端点提取蛋白质特征以嵌入的形式。在实时生成了来自 SageMaker 端点的嵌入后,我们在 OpenSearch Service 上运行查询,以确定当前存储在 OpenSearch Service 索引中的五种最相似蛋白质。最后,用户可以直接在 SageMaker Studio 笔记本中看到结果。

为了了解相似性搜索的效果,我们选择了 Immunoglobulin Heavy Diversity 2/OR152A 蛋白质并计算其嵌入。模型返回的嵌入是按残基residue分析的详细级别,在这种分析中考虑了蛋白质中的每一个氨基酸。在我们的案例中,我们希望专注于蛋白质的整体结构、功能和特性,因此计算每个蛋白质的嵌入。我们通过维度减少和计算每种残基特征的均值来实现这一目标。最后,我们利用得到的嵌入进行相似性搜索,结果返回的前五种相似蛋白质依次为:

Immunoglobulin Heavy Diversity 3/OR153A

T Cell Receptor Gamma Joining 2T Cell Receptor Alpha Joining 1T Cell Receptor Alpha Joining 11T Cell Receptor Alpha Joining 50

这些都是具有 T 细胞受体的免疫细胞,是免疫球蛋白的亚型。相似性筛选出的蛋白质在生物功能上都是相似的。

成本和清理

我们刚刚介绍的解决方案创建了一个 OpenSearch Service 域,其费用根据创建时选择的实例数量和类型进行计费,详细费用见 OpenSearch Service 定价 页面。您也将对通过部署和相似性搜索笔记本创建的 SageMaker 端点收取费用,目前使用的是 mlg4dn8xlarge 实例类型。有关详细信息,请参见 SageMaker 定价。

最后,您将根据使用的实例类型按 SageMaker Studio 笔记本 的定价页面收取费用。

要清理此解决方案创建的资源:

删除先前创建的 OpenSearch Service 域。删除 SageMaker 端点。关闭你使用的 SageMaker Studio 笔记本。

结论

在本篇博客中,我们描述了一种能够计算蛋白质嵌入并执行相似性搜索以寻找相似蛋白质的解决方案。该解决方案使用开源的 ProtT5XLUniRef50 模型计算嵌入,并将其部署在 SageMaker 推理服务上。我们使用 OpenSearch Service 作为向量数据库,其中预载入了来自 UniProt 的两万种人类蛋白质。最后,通过对 Immunoglobulin Heavy Diversity 2/OR152A 蛋白质进行相似性搜索,我们成功验证了从 OpenSearch Service 返回的蛋白质均在免疫球蛋白家族内,并且生物功能上相似。该解决方案的代码可以在 GitHub 获得。

该解决方案可以进一步调优,通过测试不同支持的 OpenSearch Service KNN 算法来优化,或者通过将额外蛋白质嵌入导入 OpenSearch Service 索引进行扩展。

资源:

Elnaggar A,等。“ProtTrans Toward Understanding the Language of Life Through SelfSupervised Learning”。IEEE Trans Pattern Anal Mach Intell 2020。Mikolov,T;Yih,W;Zweig,G。“连续空间单词表示中的语言规律”。HLTNaacl:746751。2013。

关于作者

Camillo Anania 是 AWS 的高级解决方案架构师。他是一位科技爱好者,热衷于帮助医疗健康和生命科学初创公司充分利用云技术。凭借对云技术的热爱,他一直致力于确保这些初创公司能够通过采用最佳的云解决方案实现蓬勃发展。他对由生成 AI 解锁的新一波用例和可能性感到兴奋,并且不遗余力地探索它们。

Adam McCarthy 是 AWS 的 EMEA 医疗健康与生命科学初创公司技术负责人。他在研究和实施机器学习、高性能计算及科学计算环境方面拥有超过 15 年的经验,尤其是在学术界、医院和药物发现领域。