ModelNVIDIANVIDIApublished Oct 15, 2026seen 3d

nvidia/RFD4-Proteina-Diffusers

Open original ↗

Captured source

source ↗
published Oct 15, 2026seen 3dcaptured 3dhttp 200method plainlicense bsd-3-clauselibrary diffusersparams 178Mdownloads 92likes 0

Sequence and structure, designed together. Baker Lab × NVIDIA GenAIR

Project page · Original release · Code · Training data · Diffusers docs

RFD4-Proteína for Diffusers

RFD4-Proteína is a flow-matching model for biomolecular design. It generates protein sequences and all-atom structures together, conditioned on the molecular context you want to preserve: a binding target, an enzyme motif, a ligand, or selected structural features.

This repository is the Diffusers release of the model: the same EMA weights as `nvidia/RFD4-Proteina`, loaded with RFD4ProteinaPipeline.from_pretrained(). No native RFD4 package is needed at runtime.

Examples from the project, as shown on the original model card.

> ### This release needs Diffusers from git until the next release > > These weights are the 2026-10-19 release: a 147-class residue vocabulary and a 32-dimensional > latent, produced by a LoRA fine-tune of the pretrained base that is merged into these weights. > Support for them was merged into Diffusers on 2026-10-20 (huggingface/diffusers#15088) and ships in the next > release; until then install Diffusers from GitHub, as in the Quickstart. An older Diffusers will fail to load this repository rather than sample it > incorrectly. > > You also need the matching `nvidia/RFD4-Proteina-prep`, > which supplies the chirality and element features this checkpoint's encoder requires.

At a glance

| | Details | |---|---| | Model | Joint sequence–structure generation with a matched flow transformer and autoencoder | | Pipeline | RFD4ProteinaPipeline: transformer + vae + a backbone and a local-latent RFD4ProteinaScheduler | | Inputs | Annotated CIF structures, prepared with `rfd4-proteina-prep` | | Outputs | Atom37 coordinates and residue identities, written back to annotated CIF | | Weights | EMA weights, 435.6 million parameters, stored in FP32 (1.74 GB); runs in BF16 | | Sampler | Released thinking_medium recipe: 60 steps, 180 trunk passes | | Fine-tuning | The release is a LoRA fine-tune of the pretrained base, merged into these weights. The base and the adapter (Diffusers LoRA format, lora/) are on the pretrain-base branch. | | Runtime | diffusers and rfd4-proteina-prep; Python 3.11 or newer; a CUDA GPU is recommended | | License | [BSD 3-Clause](LICENSE) for the RFD4 model and weights |

Quickstart

# RFD4-Proteina was merged into Diffusers on 2026-10-20 and ships in the next release.
# Until that release, install Diffusers from git:
pip install git+https://github.com/huggingface/diffusers git+https://huggingface.co/nvidia/RFD4-Proteina-prep@c9959efdebd75ac7fe9129fbbf0e291a6e0487d5 accelerate

# Once the release is out, this is enough:
# pip install diffusers git+https://huggingface.co/nvidia/RFD4-Proteina-prep@c9959efdebd75ac7fe9129fbbf0e291a6e0487d5
import torch
from huggingface_hub import hf_hub_download
from diffusers import RFD4ProteinaPipeline
from rfd4_proteina_prep import prepare_cif, write_cif

pipe = RFD4ProteinaPipeline.from_pretrained("nvidia/RFD4-Proteina-Diffusers", dtype=torch.bfloat16).to("cuda:0")

# An annotated CIF says what to hold fixed and what to design: here a PD-L1 target and a 50-120 residue binder.
input_cif = hf_hub_download("nvidia/RFD4-Proteina-Diffusers", "examples/protein_binder/input.cif")
features, atoms = prepare_cif(input_cif, seed=42, device=pipe.device)

required = ["padding_mask", "is_in_context_conditioning", "supports_local_latent", "token_type",
"atom37_mask", "coords_nm"]
conditioning = {name: value for name, value in features.items() if name not in required}
output = pipe(
padding_mask=features["padding_mask"],
is_in_context_conditioning=features["is_in_context_conditioning"],
supports_local_latent=features["supports_local_latent"],
token_type=features["token_type"],
atom37_mask=features["atom37_mask"],
conditioning_features=conditioning,
generator=torch.Generator("cuda:0").manual_seed(42),
)
write_cif(output, features, atoms, "design.cif")

output.coords_nm holds the generated atom37 coordinates in nanometers, with output.residue_type, output.emit_mask and output.atom_mask describing the designed residues. Pass one torch.Generator per design when generating a batch. See the pipeline documentation for partial diffusion, inverse folding, callbacks, quantization and compilation.

Examples

Each examples// folder holds the AtomWorks Studio input (input.cif), the design generated with this pipeline (design.cif) and a C-alpha preview (design.png). All designs use one sample, seed 42, BF16 and one NVIDIA H200. Left in each preview: the conditioning that was held fixed (grey, with ligand or motif atoms in red). Right: the generated design.

| Example | Task | Tokens | |---|---|---:| | [Protein binder · PD-L1](examples/protein_binder) | Fixed PD-L1 target with hotspots; designs a 50–120 residue binder | 171 | | [Antibody · HER2 CDR H3](examples/antibody_design) | Fixed framework and target; redesigns CDR H3 | 280 | | [VHH · PD-L1 CDRs](examples/nanobody) | Fixed VHH framework and target; redesigns the CDRs | 235 | | [Enzyme · catalytic motif](examples/enzyme_design) | Scaffolds a catalytic motif of side-chain atoms | 193 | | [Motif scaffolding · 1QJG](examples/motif_scaffolding) | Scaffolds an indexed motif | 79 | | [Small-molecule binder · SAM](examples/small_molecule_binder) | Designs a pocket around a ligand | 177 | | [Unconditional protein](examples/unconditional) | No conditioning: samples a protein | 250 | | [Inverse folding · 2KL8](examples/inverse_folding) | Keeps the backbone and designs the sequence | 59 | | [Partial diffusion · 2KL8](examples/partial_diffusion) | Re-designs 2KL8 from a noised start at the point where 40% of the schedule remains, running all 60 steps over that range | 59 |

Preview gallery

These examples demonstrate the conditioning workflow. They are not experimental binding or catalytic-activity results, and example selection does not establish biological design quality. examples/examples.json lists the sampling task of each input. To reproduce...

Excerpt shown — open the source for the full document.

Notability

notability 3.0/10

Low traction routine model repo