代理式 AI 正在改变研究方式。AI 科学家可以阅读论文、提出假设、调用模型,并确定下一步要优先进行的实验。编码代理首先证明了其在软件工程中的价值,现在编写、测试和交付产品级代码。科学研究的要求可能更高,而且需要不断迭代。研究人员不断评估证据,完善假设,并运行实验来塑造后续决策。即使实验失败,也会产生意想不到的见解。
科学问题通常还需要特定领域专用的工具,例如折叠蛋白质或描述分子。编排和操作这些工具可能具有挑战性。类似的软件包可能具有截然不同的环境要求或 API。通用智能体可能会发现,一项任务需要蛋白质折叠或分子对接,但不知道运行哪个模型、如何格式化请求或哪些参数至关重要。
NVIDIA BioNeMo Agent Toolkit 可以弥补这一差距。该工具包将十多年的 NVIDIA BioNeMo 生命科学模型、库和工作流整合为生物学、化学、基因组学和药物研发领域的智能体调用技能。
它专为与任何智能体框架一起运行而构建,可利用专业领域专业知识实现复杂的科学工作流程。在内部基准测试中,BioNeMo 技能将任务正确率从 60% 提高到 100%,并使令牌效率大约翻倍。
本文使用 Claude Science,Anthropic 用于科学研究的 AI 工作台,以及 NVIDIA BioNeMo Agent Toolkit 和 NVIDIA NIM,使用多个折叠模型运行多序列比对 (MSA) 蛋白质结构预测并比较结果。
设置
NVIDIA 和 Anthropic 携手合作,将 BioNeMo Agent Toolkit 集成到 Claude Science 中,使智能体能够直接发现、启动和调用 BioNeMo NIM 微服务。
Claude Science 根据 GPU 的位置和您的安全要求,以各种配置运行。本教程重点介绍如何在配备 GPU 的机器上运行该平台。查看产品文档,了解 GPU 兼容性信息。也可以在笔记本电脑上运行,并使用 SSH、HPC 或基于 Modal 的云计算连接到远程 GPU。在本教程中,您需要访问安装了 NVIDIA L40S GPU 或 NVIDIA H100 GPU 和 Claude Science 的工作站或云计算机。机器需要大约 700GB 的存储空间来完成此工作流程:msa-search NIM 的 UniRef30 数据库大约为 490GB (使用仅使用 UniRef30 的配置文件,而不是完整的 1.4 TB 集) ,而且 Boltz-2 和 OpenFold3 容器的总容量为 30 – 40GB。
默认情况下,Claude Science 在沙盒中运行。运行 BioNeMo NIM 微服务需要公开本地或远程 GPU 资源的计算端点。在 Claude Science 中,选择Customize > Compute > NVIDIA BioNeMo NIM > Connect。之后,从 GitHub 导入 BioNeMo Agent Toolkit 技能,添加 NVIDIA API 密钥,并连接到本地端点,即使用主机 GPU 的 Docker 容器。
导入技能、存储 API 密钥并配置本地连接后,启动新项目和会话。然后提示 Claude 创建所需的 NIM 微服务端点。
Download and launch the local BioNeMo NIM containers for the msa-search, openfold3 and boltz2 microservices. For msa-search, download only the UniRef30 database so it downloads only ~490 GB instead of the full 1.4 TB. Run a smoke test on each to confirm they are healthy.
系统提示时,为这两个模型选择Approve endpoint (批准端点) 。设置这些端点需要为每个微服务下载容器。
步骤
三个 NIM 端点运行后,Claude Science 会编排结构预测工作流。为使管线变得具体,本教程将研究 Seh1 蛋白,以及 Paracoccidioides lutzii (一种可引起副球菌球菌杆菌病的真菌) 中预测的 Mio-family partner。该示例的动机是 Han,Tsenkov,Venanzi 等的图 4e,“AlphaFold 数据库扩展到蛋白质组尺度的四级结构” (bioRxiv,DOI:10.64898/ 2026.03.27.714458) 。
Seh1 和 Mio-family 蛋白质参与保守的养分感知机制,而其他生物体的结构表明,Mio 可以完成 Seh1 原本开放的 – 推进器,这对 MSA 支持的复杂预测是一个有用的测试。
本教程使用 Paracoccidioides lutzii 中的双蛋白质系统:核孔蛋白 Seh1 (C1GY11) 和未特征化的候选伙伴 (C1HCX1) 。该示例提出了一个结构问题:当单独对 Seh1 的预测结构与使用所提议的合作伙伴进行建模时,预测结构有何不同?
为了研究这个问题,Claude Science 使用 MSA 为目标序列构建了进化上下文。然后,它将这些对齐传递给两个独立的折叠模型,保留输入和输出,以便在每个模型内检查单链和双链预测。
工作流程分为三个阶段:
- 使用 GPU 加速的 MSA Search NIM 为单链和物种配对序列生成 MSA。
- 使用 OpenFold3 NIM 预测单链和双链复合体的结构。
- 使用 Boltz-2 NIM 重复预测,并独立评估每个模型。

第 1 阶段:生成 MSA
该智能体从 UniProt 检索这两个蛋白质序列,并创建两种类型的比对。它首先为每个蛋白质创建未配对比对,以提供有关每个链结构的信息。然后,它通过匹配同一物种中两种蛋白质的相关版本来创建配对比对。如果一种蛋白质的变化始终对应于另一种蛋白质的变化,这种模式可以帮助模型预测蛋白质的相互作用位置。
在此运行中,搜索结果为每种蛋白质返回了 202 个序列。该智能体记录了 Seh1 ( 384 个残基) 和 C1HCX1 ( 976 个残基) 的来源和序列,包括用于验证的校验和。它既不修剪序列,也不提供结构模板、配体或其他约束条件。
使用此提示:
I’m comparing the Seh1 protein C1GY11 on its own and with C1HCX1. Load the msa-search-nim skill and download both current FASTA sequences from UniProt. Save where each sequence came from, when you downloaded it, its accession, length, checksum, and chain ID: use A for C1GY11 and B for C1HCX1. Create an A3M alignment for each protein with the MSA Search NIM. Use Uniref30_2302 only, the ColabFold search type, an E-value of 0.0001, and up to 500 sequences. Then create a paired A3M for the two proteins, in A-then-B order, using greedy pairing. Save the request, response, A3M files, endpoint, metrics, and any errors. If you cannot make the paired alignment, stop and tell me; do not quietly replace it with a different kind of alignment.
第 2 阶段:使用 OpenFold3 预测结构
OpenFold3 获取分子列表,其中每条链 msa (未配对) ,配合物为 paired_msa。代理使用相同的 Seh1 序列运行两个条件:单体 (链 A 及其 MSA) 和异构体 (链 A 和链 B 及其 MSA 加上配对 MSA) 。使用 mmCIF 输出,无需模板,并存储每个返回的样本和服务实际显示的置信度字段。
使用此提示:
Load the openfold3-nim skill. Use the saved alignments to make two OpenFold3 predictions: 1. C1GY11 by itself as chain A. 2. C1GY11 as chain A with C1HCX1 as chain B. Use the paired alignment for the two-protein prediction. Return mmCIF files. Do not use templates, ligands, pockets, or other constraints. Save the request, response, structures, runtime details, and every confidence score that the service returns. These scores show model confidence only; do not say they prove the proteins interact. If paired MSA input is unavailable, save the error and stop instead of continuing with an unpaired prediction.
| 条件 | confidence_score | complex_plddt_score | complex_pde_score | ptm_score | iptm_score |
|---|---|---|---|---|---|
| Seh1 单体 | 0.25 | 82.3 | 0.58 | 0.82 | – ( 0) |
| Seh1+ C1HCX1 | 0.87 | 78.2 | 1.07 | 0.79 | 0.86 |
响应显示了 confidence_score, complex_plddt_score, complex_pde_score, ptm_score, iptm_score (以及 format, name, source) ;runtime_metrics 存在但为空。
单体的 iptm_score 在结构上为 0,而 OpenFold3 的复合体 confidence_score 对接口赋予了沉重的权重,这就是折叠良好的单体 (pTM 0.82,pLDDT 82) 在复合体上得分较低的原因。在 OpenFold3 中读取 confidence_score,而不是跨模型读取。
第 3 阶段:使用 Boltz-2 重复预测
相同的两个条件通过相同的链 ID 和无模板策略在 Boltz-2 中运行。架构差异很重要:Boltz-2 没有单独的 paired_msa 字段。每条 Boltz-2 链需要一条 MSA,并在内部进行配对 (可选的顶层 concatenate_msas) ,因此每个 Boltz-2 链都获得了其每条链的 A3M。
使用此提示:
Load the boltz2-nim skill and repeat the same two predictions with Boltz-2: C1GY11 alone as chain A, then C1GY11 plus C1HCX1 as chains A and B. Use the saved per-chain alignments in the format supported by the skill. Do not turn on affinity prediction or use templates, ligands, pockets, or contact constraints. Save the request, response, structures, runtime details, PAE when available, and the confidence values returned by Boltz-2. If a value is not returned, record that instead of estimating it. Repeat the predictions without MSA using OpenFold3 and Boltz-2. Review and analyze all the results, then provide a summary.
玻尔兹 – 2 生成了完整的 PAE 输出 (write_full_pae=true) 。
| 条件 | 置信度 | complex_plddt ( 0 – 1) | complex_pde | ptm | iptm | protein_iptm |
|---|---|---|---|---|---|---|
| Seh1 单体 | 0.79 | 0.79 | 1.11 | 0.82 | – ( 0) | — |
| Seh1+ C1HCX1 | 0.77 | 0.75 | 1.33 | 0.76 | 0.82 | 0.82 |
玻尔兹 – 2 返回了更丰富的置信度集 – confidence_scores, ptm_scores, iptm_scores, protein_iptm_scores, complex_plddt_scores, complex_iplddt_scores, complex_pde_scores, complex_ipde_scores,以及每链和每对数组以及完整的 pae/ pde 矩阵 (复合体最高可达 1360 × 1360) 。
服务留空的请求字段是运行时元数据 (metrics: {}) 。
MSA 是负载输入
由于该工作流还运行单序 (无 MSA) 预测,因此可以直接测量第 1 阶段的值。对于异构体,界面 pTM (iPTM) (报告两个链之间预测接触的指标) 在两个模型中都会崩溃,且没有 MSA:

在 MSA 输入下,OpenFold3 和 Boltz-2 的 iPTM 分别达到 0.85 和 0.82。如果没有 MSA 输入,该值将分别降至 0.14 和 0.19。五个样本紧密聚类 ( SD = 0.006) ,这表示各样本之间的差异是一致的。
| Heteromer iPTM | 使用 MSA | 无 MSA | 丢弃 |
|---|---|---|---|
| OpenFold3 | 0.85 | 0.14 | 0.72 |
| 玻尔兹 – 2 | 0.82 | 0.19 | 0.63 |
两个鲁棒性检查支持这一结果。首先,以更慷慨的采样预算 (OpenFold3 diffusion_samples=5;Boltz-2 5 个样本,包含 6 个回收步骤和 200 个采样步骤) 运行每个条件时,情况保持不变。with-MSA 接口仍然很高,而 no-MSA 接口仍然折叠 (与 0.01 iPTM 内的单样本值相同) 。额外的采样并不能取代进化的输入。
其次,在给定的对齐条件下,两个模型系列 (架构不同,对于 Boltz-2,则采用不同的 MSA 配对机制) 彼此之间的距离在 0.03 iPTM 范围内,这可以确保跨模型一致性。
单体结果显示了每个模型的 MSA 依赖性。OpenFold3 甚至需要对齐来折叠单个链 (如果没有它,pLDDT 82 → 36) ;玻尔兹 – 2 仅从序列中折叠单体效果很好 ( 0.79 → 0.73) ,但如果没有 MSA,仍然无法放置接口。在这两种情况下,第 1 阶段不仅仅是一个可选的预处理步骤,它还是界面假设的基础。
检查所生成工作流程的结构
然后,智能体检查所提议的合作伙伴是否更改了预测的 Seh1 结构。对于每个模型,它都会叠加来自单体和异体的 Seh1 链,并检查 WD40 – 推进器区。
[

在对正 Seh1 核心后,单体和异体视图会使用相同的摄像头位置,从而显示合作伙伴链占据开放的推进器边缘的位置。
结构分析在两个独立模型中再现了源论文的图 4e 观察结果:
- Seh1 折叠已完成,而非重新设计。 将 Seh1 叠加到单体和异体之间,核心 Cα-RMSD 分别为 0.68 Å (OpenFold3,313/384 个残基) 和 0.65 Å (Boltz-2,307/384)。合作伙伴会添加现有的推进器;大型全链 RMSD 仅来自叶片周围的约 70 个残基,这些残基会在叶片关闭时移动。
- 这两种模型都具有相同的合作伙伴分支。独立地,OpenFold3 和 Boltz-2 可以独立定位一个 C1HCX1 链集群,这些链大约由 305 – 391 个残基组成,与 Seh1 相对应,这与论文中的“三链”一致
- 插入位置为 WD40 魔术贴合位置。合作伙伴接触 Seh1 的 N 端链 (残数 1 – 29) 和 C 端链 ( 331 – 384) ,即 WD40 推进器闭合最终叶片的边缘。
需要注意的是,这些模型可以预测 C1GY11 – C1HCX1 交互。然而,它尚未通过实验验证为真正的生物关联。在本例中,两个独立模型在同一局部几何图形上收,形成了令人信服的假设,而非绑定证明。此工作流程的真正价值在于提供一种可复制的、有证据支持的方法来形成和检查这些结构假设,并将最终结果留给实验验证。