使用ESM3蛋白质语言模型进行快速大规模结构预测

文章目录


ESM3介绍

ESM3是由EvolutionaryScale(前Meta团队)开发的一款蛋白质大语言模型,于2025年以《用语言模型模拟 5 亿年的进化》为题正式发表在Science上

文章链接: https://www.science.org/doi/10.1126/science.ads0018

文章展示了一个例子,如何用ESM3设计新型绿色荧光蛋白(GFP),设计出的新蛋白与自然界中最相近的序列相比也仅有58%的相似度,证明该模型在拓展蛋白质新编码空间上具有巨大潜力。

尽管该science论文主推ESM3的蛋白质设计功能,本文仅介绍如何使用ESM3的蛋白质结构预测功能


ESM3在线使用

使用EvolutionaryScale的在线网站可以预测结构、生成新蛋白,速度非常快,500个氨基酸左右的蛋白结构基本几秒内就可以给出,比AlphaFold3快不少

链接: https://forge.evolutionaryscale.ai/tools/predict

注意非商业使用需要通过学术机构后缀的邮箱来申请

本地使用api批量预测

如果你不想下载那些很大的权重文件到本地,或者你没有算力足够的机器来运行,可以使用官方提供的api来进行批量预测

首先需要在你的电脑上安装esm3,非常简单,只需要

pip install esm

即可安装

安装完毕后在EvolutionaryScale上获取你的api keys

在下面填入你 EvolutionaryScale和Hugging face的token即可,两个都是可以免费获取的

python 复制代码
from huggingface_hub import login
from esm.sdk import client
from esm.sdk.api import ESM3InferenceClient, ESMProtein, GenerationConfig


hugging_face_token="<your hugging face token>"

login(token=hugging_face_token)

model: ESM3InferenceClient = client("esm3-large-2024-03", token="<your evolutionary token>")

sequence= "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
# 替换为你感兴趣的蛋白序列

protein = ESMProtein(sequence=sequence)

protein = model.generate(protein, GenerationConfig(track="structure", num_steps=8,temperature=0.1))
protein.to_pdb("./predict.pdb")

使用EvolutionarySclae的api时可以有以下几种模型进行选择,替换client的模型名称即可:

同时预测时num_steps和temperature参数都是可调的,num_steps越多消耗的tokens数也越多

每日默认总积分数只有10分,在Credits处可查

可以通过填写一下表格申请到每日100个credits,填了一下发现几分钟就给通过了,估计也没有人工审批

ESM相较于AlphaFold的优势

之前一直想做大规模蛋白质结构预测,尽管ColabFold和AlphaFold 3都已经公开可用,但这两个模型都需要进行多序列比对,而这一步在部署到本地后十分耗时,之前本人尝试过结果表明一个200氨基酸左右的序列需要近20分钟才能预测完成。

相比之下,如今使用ESM3每个蛋白预测时间在num_steps数设置合适的时候半分钟不到就可以预测完成,极大提高效率。而Credits限制的问题可以通过开多个账号或者本地部署ESM3模型来解决,比解决AlphaFold MSA的问题方便多了。

相关推荐
数据知道1 分钟前
百度翻译详解:包括PaddleNLP、百度AI开放平台、接口逆向(包括完整代码)
人工智能·百度·语言模型·自然语言处理·机器翻译
舒一笑25 分钟前
企业AI落地不顺问题可能出在你没搞懂知识库
人工智能
涛思数据(TDengine)40 分钟前
可信数据库大会现场,TDengine 时序数据库展示核电场景下的高性能与 AI 创新
大数据·运维·数据库·人工智能·时序数据库·tdengine·涛思数据
不剪发的Tony老师1 小时前
NeoBase:一款开源、基于AI的数据库管理助手
数据库·人工智能·neobase
一碗白开水一1 小时前
【YOLO系列】YOLOv12详解:模型结构、损失函数、训练方法及代码实现
人工智能·深度学习·yolo·计算机视觉
努力一点9481 小时前
ubuntu22.04系统实践 linux基础入门命令(三) 用户管理命令
linux·运维·服务器·人工智能·ubuntu·gpu算力
zzywxc7872 小时前
PyTorch分布式训练:从入门到精通
前端·javascript·人工智能·深度学习·react.js·技术栈深潜计划
亚马逊云开发者2 小时前
零代码生成 3D 游戏:基于 Amazon Q Developer CLI 和 Three.js 的实践
人工智能·游戏
掘金安东尼2 小时前
python 代码实战详解:金融风控场景下的大模型挑战
人工智能·llm