用途:ESM(Evolutionary Scale Modeling)提供预训练蛋白质语言模型。ESM3 是多模态生成模型,可同时以序列、结构、功能为条件;ESM C 是面向下游机器学习任务的高效嵌入模型。适用于生成新蛋白质序列、从序列提取定长嵌入、从氨基酸序列预测三维结构、反向折叠(为目 标结构设计序列)、按功能关键词(如 GO 术语、EC 号)生成蛋白质,以及用嵌入距离比较蛋白质相似性。若需传统基于物理的结构预测可改用 AlphaFold;序列比对与同源搜索可用 BioPython 中的 BLAST/HMMER。
主要能力:1) ESM3 序列生成,可对掩码位置补全或以目标结构、功能注释为条件;2) ESM C 嵌入提取,输出逐残基嵌入,可沿序列维度平均池化得到定长向量;3) 结构预测,由序列生成三维坐标并保存 PDB;4) 反向折叠,清空序列保留结构坐标后批量生成多条设计;5) 功能条件生成;6) Forge 云 API 推理,无需本地大显存。
使用方式:需安装 esm 包,pip install esm;使用 Forge 云 API 时 pip install esm[forge]。本地推理建议 GPU(ESM3 需 8GB 以上显存,ESM C 需 4GB 以上,esmc_300m 约 2GB),CPU 可处理小批量。首次使用自动下载约 1-4GB 权重。核心对象为 ESMProtein,包含 sequence、coordinates、function_annotations;GenerationConfig 控制 track(sequence/structure/function)、num_steps 与 temperature。可用 ProteinChain.from_pdb() 读取 PDB,用 .to_pdb() 保存预测结构。Forge 需从 forge.evolutionaryscale.ai 获取 API token,通过 FORGE_API_TOKEN 环境变量或显式传入。
适用场景与限制:适合蛋白质设计、结构预测与嵌入特征工程。嵌入任务建议优先用 ESM C,仅在需要生成能力时用 ESM3。设计时温度建议 0.5-0.7;结构预测等确定性任务可用 0.0。num_steps 增加可提升质量但更慢。批量处理可提高 GPU 利用率。常见限制包括显存不足、无 CUDA 设备、生成质量偏低等,可改用更小模型、减少步数或走 Forge 云 API。模型名需写全,如 esm3_sm_open_v1、esmc_300m、esmc_600m。官方具体收费与价格暂未提供。