Agentic AI / Generative AI

Run NVIDIA BioNeMo NIM Microservices for Protein Structure Prediction in Claude Science

A picture of a protein molecule.

AI-Generated Summary

  • NVIDIA BioNeMo Agent Toolkit packages more than a decade of BioNeMo life sciences models, libraries, and workflows into agent-callable skills for biology, chemistry, genomics, and drug discovery.
  • Integrated with Claude Science and NVIDIA NIM microservices, the toolkit enables AI agents to orchestrate protein structure prediction workflows using multiple-sequence alignment and multiple folding models.
  • In a benchmark comparing Seh1 monomer and Seh1–C1HCX1 heteromer predictions, both OpenFold3 and Boltz-2 achieved high interface confidence (iPTM 0.85 and 0.82) with MSA input, but scores collapsed to 0.14 and 0.19 without it, demonstrating that evolutionary alignment is the load-bearing input for interface prediction.
  • Structural superposition showed the Seh1 fold is completed rather than remodeled when the partner is present, with both models independently placing the same C1HCX1 β-strands at the WD40 velcro-closure position, reproducing the observation from Han, Tsenkov, Venanzi et al.

Next Steps

Powered by NVIDIA Nemotron. AI-generated content may summarize information incompletely. Verify important information. Learn more

Agentic AI is changing how research is done. AI scientists can read papers, propose hypotheses, call models, and determine which experiments to prioritize next. First proving their value in software engineering, coding agents now write, test, and ship production code. Scientific research can be more demanding and iterative. Researchers continually evaluate evidence, refine hypotheses, and run experiments that shape subsequent decisions. Even failed experiments can lead to unexpected insights.

Scientific problems also often require domain-specific tools, for example, to fold a protein or characterize a molecule. Orchestrating and operating these tools can be challenging. Similar packages may have vastly different environment requirements or APIs. A general-purpose agent might recognize that a task calls for protein folding or molecular docking, but not which model to run, how to format the request, or which parameters matter.

NVIDIA BioNeMo Agent Toolkit closes that gap. The toolkit packages more than a decade of NVIDIA BioNeMo life sciences models, libraries, and workflows into agent-callable skills for biology, chemistry, genomics, and drug discovery.

Built to run with any agent framework, it enables complex scientific workflows using specialized domain expertise. On internal benchmarks, BioNeMo skills raise task correctness from 60% to 100% and roughly double token efficiency.

This post uses Claude Science, Anthropic’s AI workbench for scientific research, with the NVIDIA BioNeMo Agent Toolkit and NVIDIA NIM to run protein structure prediction with multiple-sequence alignment (MSA) using multiple folding models and compare results.

Setup

NVIDIA and Anthropic worked together to integrate the BioNeMo Agent Toolkit into Claude Science, enabling agents to discover, launch, and call BioNeMo NIM microservices directly.

Claude Science runs in various configurations based on where your GPU is located and your security requirements. This tutorial focuses on running the platform on a machine with a GPU. Check the product documentation for GPU compatibility information. It’s also possible to run on a laptop and connect to a remote GPU using SSH, HPC, or cloud computing on Modal. For this tutorial, you need access to a workstation or cloud machine with an NVIDIA L40S GPU or NVIDIA H100 GPU and Claude Science installed. The machine needs about 700 GB of storage for this workflow: the msa-search NIM’s UniRef30 database is ~490 GB (using the UniRef30-only profile instead of the full 1.4 TB set), and the Boltz-2 and OpenFold3 containers are 30–40 GB total.

By default, Claude Science runs in a sandbox. Running BioNeMo NIM microservices requires compute endpoints that expose local or remote GPU resources. In Claude Science, select Customize > Compute > NVIDIA BioNeMo NIM > Connect. From there, import the BioNeMo Agent Toolkit skills from GitHub, add an NVIDIA API key, and connect to local endpoints—Docker containers that use the host GPU.

After importing the skills, storing the API key, and configuring the local connection, start a new project and session. Then prompt Claude to create the required NIM microservice endpoints.

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.

When prompted, select Approve endpoint for both models. Setting up these endpoints requires downloading containers for each microservice.

Steps

With the three NIM endpoints running, Claude Science orchestrates the structure-prediction workflow. To make the pipeline concrete, this tutorial examines the Seh1 protein and a predicted Mio-family partner from Paracoccidioides lutzii, a fungus that causes paracoccidioidomycosis. The example is motivated by Figure 4e of Han, Tsenkov, Venanzi et al., “AlphaFold Database expands to proteome-scale quaternary structures” (bioRxiv, DOI: 10.64898/2026.03.27.714458).

Seh1 and Mio-family proteins participate in conserved nutrient-sensing machinery, and structures from other organisms suggest that Mio can complete Seh1’s otherwise open β-propeller, making this pair a useful test of MSA-supported complex prediction.

This tutorial uses a two-protein system from Paracoccidioides lutzii: the nuclear-pore protein Seh1 (C1GY11) and an uncharacterized proposed partner (C1HCX1). The example asks the structural question: How does the predicted structure of Seh1 differ when it is modeled alone versus with the proposed partner?

To investigate this question, Claude Science builds evolutionary context for the target sequences using MSA. It then passes those alignments to two independent folding models, preserving the inputs and outputs so the single-chain and two-chain predictions can be examined within each model.

The workflow has three stages:

  1. Generate MSAs for single-chain and species-paired sequences with the GPU-accelerated MSA Search NIM.
  2. Predict structure for a single chain and a two-chain complex with the OpenFold3 NIM.
  3. Repeat the predictions with the Boltz-2 NIM and evaluate each model independently.

Stage 1: Generate MSAs

The agent retrieves both protein sequences from UniProt and creates two types of alignment. It first creates an unpaired alignment for each protein to provide information about each chain’s structure. It then creates a paired alignment by matching related versions of the two proteins found in the same species. If changes in one protein consistently correspond to changes in the other, that pattern can help the models predict where the proteins might interact.

In this run, the search returned 202 sequences for each protein. The agent recorded the source and sequence for Seh1 (384 residues) and C1HCX1 (976 residues), including checksums for verification. It didn’t trim either sequence or provide structural templates, ligands, or other constraints.

Use this prompt:

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.

Stage 2: Predict structure with OpenFold3

OpenFold3 takes a molecule list with per-chain msa (unpaired) and, for complexes, paired_msa. The agent runs two conditions with the same Seh1 sequence: the monomer (chain A with its MSA) and the heteromer (chains A and B with their MSAs plus the paired MSA). Use mmCIF output, no templates, and store every returned sample and the confidence fields the service actually exposes.

Use this prompt:

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.
Conditionconfidence_scorecomplex_plddt_scorecomplex_pde_scoreptm_scoreiptm_score
Seh1 monomer0.2582.30.580.82— (0)
Seh1 + C1HCX10.8778.21.070.790.86
Table 1. OpenFold3 confidence scores for Seh1 monomer and Seh1–C1HCX1 complex predictions using MSA input, mmCIF output, and no templates. Scores are reported as returned by the NIM

The response exposed confidence_score, complex_plddt_score, complex_pde_score, ptm_score, iptm_score (plus format, name, source); runtime_metrics was present but empty.

The monomer’s iptm_score is 0 by construction, and OpenFold3’s composite confidence_score weights the interface heavily — which is why a well-folded monomer (pTM 0.82, pLDDT 82) still scores low on the composite. Read confidence_score within OpenFold3, not across models.

Stage 3: Repeat the predictions with Boltz-2

The same two conditions run through Boltz-2 with the same chain IDs and no-template policy. One architectural difference matters: Boltz-2 has no separate paired_msa field. It takes one MSA per chain and pairs internally (optional top-level concatenate_msas), so each Boltz-2 chain received its per-chain A3M.

Use this prompt:

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.

Boltz-2 generated full PAE outputs (write_full_pae=true).

Conditionconfidencecomplex_plddt (0–1)complex_pdeptmiptmprotein_iptm
Seh1 monomer0.790.791.110.82— (0)
Seh1 + C1HCX10.770.751.330.760.820.82
Table 2. Boltz-2 confidence scores for Seh1 monomer and Seh1–C1HCX1 predictions using MSA input and no templates. Scores are reported as returned by the NIM; pLDDT uses a 0–1 scale

Boltz-2 returned a richer confidence set — confidence_scores, ptm_scores, iptm_scores, protein_iptm_scores, complex_plddt_scores, complex_iplddt_scores, complex_pde_scores, complex_ipde_scores, plus per-chain and pairwise arrays and full pae/pde matrices (up to 1360×1360 for the complex).

The one requested field the service left empty was runtime metadata (metrics: {}).

The MSA is the load-bearing input

Because the workflow also ran single-sequence (no-MSA) predictions, the value of Stage 1 can be measured directly. For the heteromer, the interface pTM (iPTM), the metric that reports on the predicted contact between the two chains, collapses without an MSA in both models:

With MSA input, iPTM reaches 0.85 for OpenFold3 and 0.82 for Boltz-2. Without MSA input, it falls to 0.14 and 0.19, respectively. The five samples cluster tightly (SD ≤ 0.006), indicating that the difference is consistent across samples.

Heteromer iPTMwith MSAno MSAdrop
OpenFold30.850.140.72
Boltz-20.820.190.63
Table 3. Heteromer iPTM with and without MSA input for OpenFold3 and Boltz-2

Two robustness checks support this result. First, running each condition with a more generous sampling budget (OpenFold3 diffusion_samples=5; Boltz-2 five samples with six recycling steps and 200 sampling steps), the picture remains unchanged. The with-MSA interface remained high, and the no-MSA interface remained collapsed (identical to the single-sample values within 0.01 iPTM). Extra sampling does not substitute for evolutionary input.

Second, the two model families (with different architectures and, for Boltz-2, a different MSA-pairing mechanism) land within 0.03 iPTM of each other when given the alignment, which is reassuring cross-model agreement.

The monomer results show the kind of MSA dependence each model has. OpenFold3 needs the alignment even to fold the single chain (pLDDT 82 → 36 without it); Boltz-2 folds the monomer fairly well from sequence alone (0.79 → 0.73) but still cannot place the interface without an MSA. In either case, Stage 1 represents more than just an optional pre-processing step—it serves as the very foundation of the interface hypothesis.

Inspect the structure the workflow produced

The agent then examines whether the proposed partner changes the predicted Seh1 structure. For each model, it superposes the Seh1 chain from the monomer and heteromer and examines the WD40 β-propeller region.

[

The monomer and heteromer views use the same camera position after alignment of the Seh1 cores, showing where the partner strands occupy the open propeller edge.

The structural analysis reproduces the source paper’s Figure 4e observation in both independent models:

  1. The Seh1 fold is completed, not remodeled. Superposing Seh1 between monomer and heteromer gives a core Cα-RMSD of 0.68 Å (OpenFold3, 313/384 residues) and 0.65 Å (Boltz-2, 307/384). The partner adds to the existing propeller; the large full-chain RMSD comes only from the ~70 residues around the blade that shift as it closes.
  2. Both models place the same partner strands. Independently, OpenFold3 and Boltz-2 position a cluster of C1HCX1 β-strands from roughly residues 305–391 against Seh1 — consistent with the paper’s “three β-strands.”
  3. The insertion is at the WD40 velcro-closure position. The partner contacts Seh1’s N-terminal strand (residues 1–29) and C-terminal strands (~331–384), the edge where a WD40 propeller closes its final blade.

It’s important to note that these models predict a C1GY11–C1HCX1 interaction. However, it’s not yet verified experimentally as a true biological association. In this case, two independent models converged on the same local geometry, creating a compelling hypothesis rather than proof of binding. The real value of this workflow lies in providing a reproducible, evidence-backed way to form and inspect these structural hypotheses—leaving the final word to experimental validation.

Get started

BioNeMo Agent Toolkit enables Claude Science agents to generate MSAs, run NIM-based structure predictions, and preserve artifacts for review. Explore the toolkit on GitHub to apply this workflow to other monomers and complexes.

Discuss (0)

Tags