
RFdiffusion
Design protein structures for de novo scaffolds, binders, motifs, and symmetric oligomers.
RFdiffusion is a generative AI model for designing novel protein structures with atomic precision. Developed by the Baker Lab at the University of Washington and published in Nature (2023), it uses diffusion models, the same technology behind DALL-E and Stable Diffusion, adapted for protein structure generation. With over 1,000 citations since publication, the method achieves approximately two orders of magnitude improvement over traditional computational protein design approaches.
Independent experimental validation demonstrates 84% confirmation rates for designed binders, with affinities ranging from tens of micromolar to tens of nanomolar. Applications include therapeutic binder design, enzyme active site scaffolding, symmetric oligomer creation, and de novo protein generation.
RFdiffusion works by iteratively denoising random 3D coordinates into structured protein backbones through learned reverse diffusion steps. Unlike traditional methods that optimize physics-based energy functions, it learns directly from the statistical distribution of natural protein structures in the Protein Data Bank.
RFdiffusion builds on the RoseTTAFold (RF) structure prediction network architecture, similar to AlphaFold2. The model was initialized with RoseTTAFold's pretrained weights and fine-tuned specifically for structure denoising tasks. It uses SE(3)-equivariant graph neural networks that respect rotational and translational symmetries, improving generalization and data efficiency.
The architecture processes protein structures as rigid-frame representations: coordinates and orientations of backbone atoms (N, Cα, C, O, and virtual Cβ). This representation enables precise control at the residue level while maintaining physical realism.
The model operates through reverse diffusion on protein backbone structures. Starting from random noise (random 3D coordinates), it iteratively denoises through learned steps toward a structured protein. At each timestep, the model predicts the final structure from the current noised structure, then interpolates from the current coordinates toward the predicted structure.
Training used 200 discrete diffusion timesteps, though the default deployment uses 50 steps for optimal quality-speed balance. Research shows that as few as 20 timesteps achieve equivalent quality with 10x speedup. Higher timestep counts improve quality with diminishing returns beyond 50.
A critical innovation is self-conditioning: the model receives its previous prediction as template input, similar to AlphaFold2's "recycling" mechanism. This architectural choice improves prediction quality by allowing the model to iteratively refine its understanding of the emerging structure.
Unlike traditional protein design methods requiring manual parameter tuning and physics-based optimization, RFdiffusion treats design as generative modeling over protein structure space. It requires no evolutionary information or multiple sequence alignments (MSAs). The approach enables diverse design tasks through conditional generation, specifying constraints like binding sites, motifs, or symmetry while allowing the model to generate compatible structures.
RFdiffusion v1.1.0 supports six design modes on ProteinIQ for different applications:
Creates proteins that bind to a specified target protein. You provide the target structure and optionally specify binding pocket residues (hotspots). The model generates novel binder proteins with specified length ranges that form interfaces with the target. This mode has been experimentally validated with picomolar-affinity binders to therapeutic targets including MDM2, PD-L1, and IL-7Rα.
Builds a protein scaffold around a functional motif of interest. You specify which residues to preserve and how much structure to add at the N- and C-termini. Applications include scaffolding viral epitopes, receptor binding sites, enzyme active sites, and metal-binding motifs. This enables transplanting functional elements into new structural contexts.
Partially redesigns an existing protein structure to create variants. By controlling the diffusion timesteps (partial_T), you can tune the diversity: low values create subtle variations, high values generate more radical changes. Useful for exploring structural space around a known fold while maintaining key geometric features.
Generates novel protein structures from scratch without any template. You specify the desired length and optional symmetry. The model samples entirely new protein folds from learned structural distributions. This mode enables exploring uncharted regions of protein structure space.
Advanced mode for users who want precise control using contig syntax. Contigs define exactly which regions to keep from input structures and where to generate new structure. This enables complex design tasks like inserting domains, creating fusion proteins, or specifying exact topological arrangements.
Uses paired secondary-structure and block-adjacency tensors to guide the sampled fold. Upload matching <id>_ss.pt and <id>_adj.pt files produced by RFdiffusion's scaffold preparation scripts. Optional target PDB, target SS, and target adjacency files support fold-conditioned binder design. These tensors are native scientific inputs, separate from protein sequence design.
RFdiffusion v1.1.0 uses different inputs for each design mode. Each uploaded file is limited to 50 MB.
| Input | Formats | Requirement |
|---|---|---|
Input structure (protein) | .pdb, .ent, or an RCSB PDB ID | Required for binder design, motif scaffolding, and the partial-diffusion preset; optional for custom contigs and fold conditioning; absent in unconditional generation. |
Scaffold tensors (scaffold_tensors) | .pt | Fold conditioning only: 2 to 100 files, supplied as matching <id>_ss.pt and <id>_adj.pt pairs. |
Fold target structure (target) | .pdb, .ent | Optional target for fold-conditioned binder design, uploaded separately from the input structure. |
Target secondary structure tensor (target_ss) | .pt | Optional secondary-structure vector for the fold target. |
Target adjacency tensor (target_adj) | .pt | Optional block-adjacency matrix for the fold target. |
Uncropped binder targets are limited to 250 residues. An explicit crop range or a cropped structure is required for larger targets. PDB residue numbers retain their original numbering, including gaps; selected crop endpoints must exist in the native residue map. The partial-diffusion preset requires a single-chain PDB. Custom partial-diffusion contigs support complexes, but their total length must match the input structure. A PDB is required whenever a custom contig references retained residues or partial diffusion starts from an existing structure.
Fold tensors must be plain secondary-structure vectors or adjacency matrices, rather than model objects or TorchScript programs. Preserve the original paired filenames and omit periods from scaffold IDs. The official make_secstruc_adj.py helper generates these files. In workflows, the Tool Files root input accepts .pt files and routes a scaffold pair together to the scaffold tensor collection.
Pricing starts at 50 credits per job. The upfront quote scales with the number of designs, diffusion steps, and modeled structure length, up to 480 credits. Binder quotes include the selected target chain or crop and the maximum binder length. Scaffolding and custom contigs use the maximum requested length; partial diffusion uses the full input structure and its partial diffusion steps. Fold-conditioned quotes use scaffold tensor storage length and requested extensions, with a conservative fallback when tensor metadata cannot be read. Checkpoint choice and guiding potentials do not add a separate charge.
The exact quote is shown and charged before submission. Runtime does not change the charge. Each child job in a batch or workflow receives its own quote. Native inference retains its 20-minute timeout.
Defaults below apply to new runs. Conditional settings are shown for the relevant design mode or when guiding potentials are enabled. Residue ranges use inclusive endpoints, and each minimum must not exceed its corresponding maximum.
| Parameter | Type | Default | Description |
|---|---|---|---|
Design mode (design_mode) | enum | binder | binder, scaffolding, partial_diffusion, unconditional, custom, or fold_conditioning. |
Number of designs (num_designs) | integer | 10 | Generate 1 to 50 independent structures in one job. |
Timesteps (timesteps) | integer | 50 | Total diffusion steps, 20 to 200; the slider uses increments of 10. |
Total assembly length (protein_length) | integer | 100 | Unconditional mode only: 10 to 500 residues across the complete assembly; symmetric lengths must divide evenly across subunits. |
Use beta model (use_beta_model) | boolean | false | Binder mode only: select Complex_beta_ckpt.pt; incompatible with an explicit different checkpoint. |
Checkpoint (checkpoint) | enum | auto | Native automatic selection, or Base_ckpt.pt, Complex_base_ckpt.pt, Complex_beta_ckpt.pt, Complex_Fold_base_ckpt.pt, InpaintSeq_ckpt.pt, InpaintSeq_Fold_ckpt.pt, ActiveSite_ckpt.pt, or Base_epoch8_ckpt.pt; the selected model must support the task. |
Deterministic sampling (deterministic) | boolean | false | Seed each design using its native design index. |
First design index (design_startnum) | integer | 0 | Nonnegative starting index for native design numbering and deterministic seeds. |
Job name is an optional label for the saved job and does not alter the scientific settings.
These settings apply to binder mode.
| Parameter | Type | Default | Description |
|---|---|---|---|
Target chain (binder_input_chain) | string | A | Single PDB chain containing the target. |
Binding pocket residue start (binding_pocket_res_start) | integer | 1 | Inclusive target crop start, at least 1; setting both crop endpoints to 1 uses the full chain. |
Binding pocket residue end (binding_pocket_res_end) | integer | 1 | Inclusive target crop end, at least 1; an explicit crop can begin at residue 1. |
Binder length minimum (binder_length_min) | integer | 10 | Lower bound for generated binder length, 5 to 100 residues. |
Binder length maximum (binder_length_max) | integer | 20 | Upper bound for generated binder length, 5 to 200 residues. |
Hotspots (hotspots) | string | optional | Comma-separated target residues, such as A50,A51,A52; range notation such as A50-64 is unsupported. |
Hotspots can come from experimentally validated sites or predicted epitopes. A 40 to 80 residue binder is a common starting range for single-domain designs; the default preset samples shorter 10 to 20 residue binders.
These settings apply to scaffolding mode. Setting both extensions at one terminus to 0 omits that extension.
| Parameter | Type | Default | Description |
|---|---|---|---|
Motif chain (motif_input_chain) | string | A | Single PDB chain containing the motif. |
Minimum N-terminal extension (motif_min_n_terminal) | integer | 5 | Lower bound for added N-terminal residues, 0 to 200. |
Maximum N-terminal extension (motif_max_n_terminal) | integer | 10 | Upper bound for added N-terminal residues, 0 to 200. |
Minimum C-terminal extension (motif_min_c_terminal) | integer | 5 | Lower bound for added C-terminal residues, 0 to 200. |
Maximum C-terminal extension (motif_max_c_terminal) | integer | 10 | Upper bound for added C-terminal residues, 0 to 200. |
Scaffold start residue (scaffold_start) | integer | 1 | Inclusive preserved-motif start, at least 1; setting both scaffold endpoints to 1 preserves the full selected chain. |
Scaffold end residue (scaffold_end) | integer | 1 | Inclusive preserved-motif end, at least 1. |
These settings apply to partial_diffusion mode. Setting both diffused residue endpoints to 1 selects the full chain.
| Parameter | Type | Default | Description |
|---|---|---|---|
Partial diffusion chain (partial_diffusion_chain) | string | A | Chain in the required single-chain PDB; use custom contigs for a complex. |
Diffused residue start (diffused_residue_start) | integer | 10 | Inclusive beginning of the region to redesign, at least 1 and present in the input PDB. |
Diffused residue end (diffused_residue_end) | integer | 20 | Inclusive end of the region to redesign, at least 1 and present in the input PDB. |
Partial noising steps (partial_t) | integer | 10 | Explicit diffuser.partial_T, 1 to 200 and no greater than total timesteps; 10 is a ProteinIQ preset rather than an automatic RFdiffusion default. |
| Parameter | Type | Default | Description |
|---|---|---|---|
Custom contig (custom_contig) | string | conditional | Required in custom mode and optional in fold conditioning; A10-100/0 50-150 retains A10 to A100, adds a chain break, and generates a 50 to 150 residue chain. |
Partial diffusion timesteps (custom_partial_t) | enum | none | Custom mode only: none, 10, 20, 30, 40, or 50; a selected noising count must not exceed total timesteps. |
Provided sequence (provided_sequence) | string | optional | Custom partial diffusion only: preserve sequence at zero-based inclusive indices, such as 80-109; requires a selected partial-diffusion timestep value. |
Sequence masking (inpaint_sequence) | string | optional | Hide sequence identity at PDB residues while retaining their structure, using native syntax such as A10-20/A30. |
Sampled contig length (contig_length) | string | optional | Constrain the designed contig length with an integer or inclusive range, such as 100 or 100-120. |
Contig syntax and sequence indexing follow the official RFdiffusion reference. The space after /0 marks a chain break. Fold conditioning cannot combine a separate fold target structure with a custom contig.
| Parameter | Type | Default | Description |
|---|---|---|---|
Coordinate noise scale (noise_scale_ca) | number | 1 | Nonnegative scale for translational noise; the control uses increments of 0.1. |
Frame noise scale (noise_scale_frame) | number | 1 | Nonnegative scale for rotational noise; the control uses increments of 0.1. |
Align motif (align_motif) | boolean | true | Align the motif during native inference. |
These settings apply to unconditional and custom modes. Cyclic oligomer symmetry is supported; covalent macrocyclic-chain generation is unavailable in RFdiffusion v1.1.0.
| Parameter | Type | Default | Description |
|---|---|---|---|
Symmetry (symmetry) | enum | none | none, cyclic, dihedral, tetrahedral, octahedral, icosahedral, or t3; fixed symmetries use 12, 24, 60, or 4 subunits respectively. |
Symmetry order (symmetry_order) | integer | 1 | Cyclic Cn or dihedral Dn order, 1 to 12; cyclic assemblies use n subunits, dihedral assemblies use 2n, and fixed symmetries ignore this value. |
Recenter symmetric assembly (recenter) | boolean | true | Recenter coordinates for native symmetry generation. |
Symmetry radius (symmetry_radius) | number | 10 | Nonnegative native inference.radius in angstroms; increments of 0.1. |
Model neighboring subunits only (model_only_neighbors) | boolean | false | Restrict the symmetry model context to neighboring subunits. |
Symmetric self conditioning (symmetric_self_cond) | boolean | true | Apply symmetry during self conditioning. |
These controls are experimental. The parent Guiding potentials switch must be enabled; disabling it omits every potential and associated control, even if child selections are retained. Preset switches use fixed native weights. Native guiding potentials replaces the preset potential list with supplied native strings.
| Parameter | Type | Default | Description |
|---|---|---|---|
Guiding potentials (use_guiding_potentials) | boolean | false | Enable the potential controls below. |
Monomer radius of gyration (potential_monomer_rog) | boolean | false | Add monomer_ROG with weight 1 to encourage compact monomers. |
Monomer contacts (potential_monomer_contacts) | boolean | false | Add monomer_contacts with weight 1 to encourage intramolecular contacts. |
Oligomer contacts (potential_oligomer_contacts) | boolean | false | Add olig_contacts with intra weight 1 and inter weight 0.1; enables all intra- and inter-subunit contacts unless explicitly overridden. |
Substrate contacts (potential_substrate_contacts) | boolean | false | Add substrate_contacts with weight 1; requires a substrate residue name and the corresponding ligand in the input PDB. |
Substrate residue name (substrate_name) | string | conditional | Three-letter PDB ligand name, such as NTP; shown when the substrate-contact preset is enabled. |
Binder radius of gyration (potential_binder_rog) | boolean | false | Add binder_ROG with weight 1 to encourage compact binders. |
Binder & interface contacts (potential_binder_contacts) | boolean | false | Add native interface_ncontacts with weight 1 to encourage binder-target interface contacts. |
Native guiding potentials (guiding_potentials_json) | string | optional | JSON array of native potential strings, such as ["type:monomer_ROG,weight:1,min_dist:15"]; replaces preset potential strings and permits native weights and parameters. |
Potential guide scale (guide_scale) | number | 10 | Nonnegative multiplier for potential guidance, in increments of 0.1. |
Potential guide decay (guide_decay) | enum | constant | constant, linear, quadratic, or cubic guidance decay. |
Oligomer contact matrix (olig_custom_contact) | string | optional | Native pair-contact specification, such as A&A,B!B. |
Olig intra all (olig_intra_all) | enum | Native default | Leave unset, or choose enabled (true) or disabled (false) for all intra-subunit contacts. |
Olig inter all (olig_inter_all) | enum | Native default | Leave unset, or choose enabled (true) or disabled (false) for all inter-subunit contacts. |
These settings apply to fold_conditioning mode and require the paired scaffold tensors listed above.
| Parameter | Type | Default | Description |
|---|---|---|---|
Loop insertions (fold_sampled_insertion) | string | 0 | Sample extra residues in each loop from 0 up to an integer, or within an inclusive range such as 5-15. |
N-terminal additions (fold_sampled_N) | string | 0 | Sample added N-terminal residues from 0 up to an integer, or within an inclusive range. |
C-terminal additions (fold_sampled_C) | string | 0 | Sample added C-terminal residues from 0 up to an integer, or within an inclusive range. |
Target crop (fold_contig_crop) | string | optional | Native target contig crop, such as A1-100, using PDB chain and residue numbering. |
Secondary structure masking (fold_ss_mask) | integer | 0 | Nonnegative count of residues to mask at each end of a helix or strand block. |
Cycle scaffolds systematically (fold_systematic) | boolean | false | Cycle through the scaffold selection in order; otherwise sample scaffolds randomly. |
Mask scaffold loops (fold_mask_loops) | boolean | true | Mask loop conditioning; when disabled, loop insertions and both terminal additions must be 0. |
Scaffold selection (fold_scaffold_ids) | string | optional | Supplied scaffold IDs, one per line, in the desired order; omit _ss.pt and _adj.pt, or leave blank to use all supplied pairs. |
Fold insertion, masking, and target-crop semantics follow the native fold-input implementation.
The Viewer presents structures in native design order, with design number, filename, and download controls. Data lists primary output files, and Files includes the supporting artifacts. Design numbers indicate generation order rather than a confidence ranking.
RFdiffusion returns its native backbone design files:
Xt-1 and pX0 multi-step trajectory files when trajectory output is enabled by RFdiffusion. These show the denoising path and can be inspected in molecular viewers that support multi-model PDBs.Run ProteinMPNN, LigandMPNN, AlphaFold, or a related validation workflow after RFdiffusion when you need sequence design, side-chain packing, or fold-confidence metrics.
High-affinity binders to therapeutic targets represent the most experimentally validated application. Published examples include nanomolar binders to MDM2 (0.5-0.7 nM vs 600 nM native), influenza hemagglutinin, IL-7Rα, PD-L1, and TrkA. Independent validation by Adaptyv Bio on IL-7Rα demonstrated 84% confirmation rate with 23/27 binders showing measurable affinity (strongest: 40 nM).
Cryo-EM structures of designed binders show near-perfect agreement with computational models. Some designed interfaces achieve picomolar affinity through pure computation without experimental optimization.
RFdiffusion can scaffold catalytic residues into novel protein folds with specified symmetry. The method enables de novo enzyme design by building NTF2-like folds around functional sites. Applications include designing protein-metal assemblies around coordination sites and transferring catalytic motifs into alternative structural contexts.
Generates novel symmetric assemblies validated by electron microscopy across symmetry types, including cyclic (Cn), dihedral (Dn), tetrahedral (T, 12 subunits; t3, 4 subunits), octahedral (O), and icosahedral (I). Examples include C3 symmetric trimers targeting SARS-CoV-2 spike protein. Hundreds of designed metal-binding symmetric proteins have been experimentally characterized.
Unconditional mode creates entirely novel protein folds not seen in nature. No template or evolutionary information required. Topology-constrained monomer designs demonstrate the model's ability to explore uncharted regions of protein structure space.
Original Nature paper: 55/96 designs (57%) showed detectable binding at 10 μM, representing ~2 orders of magnitude improvement over previous methods. However, recent critical evaluations show variable success for challenging eukaryotic targets, highlighting the need for generating hundreds to thousands of designs for difficult cases.
Newer methods like BindCraft and EvoPro achieve ~50% success rates (>10x improvement over earlier approaches), while specialized tools show varying performance: RFpeptides (macrocycles) 1.72%, Latent-X 8.26%.
Start with unconditional mode (100-150 residues) to understand outputs and quality metrics. Use default parameters initially: 10 designs and 50 timesteps. Begin with simple design tasks before adding guiding potentials or complex contigs.
Define motif precisely with exact residue ranges. Allow sufficient N/C-terminal extensions (minimum 5-15 residues) for structural stability. Use substrate_contacts guiding potential if ligand is present. Validate that motif geometry is preserved in outputs by measuring RMSD.
Start with partial_T=25-30 for moderate diversity around existing fold. Increase to 40-50 only when more radical structural changes are needed. Use provide_seq parameter to retain sequences of critical functional residues. Check RMSD to input structure to ensure appropriate diversity level.
Increase timesteps when facing complex topology requirements, poor initial results at 50 steps, or preparing final production runs. Enable beta model when outputs show excessive helices or need better secondary structure balance. Add guiding potentials only after trying without them first; use for specific biophysical requirements informed by experimental feedback.
Skipping downstream fold-confidence checks can hide weak designs. Design numbers indicate generation order. Compare several designs and apply downstream validation before selecting a candidate. Insufficient sampling (too few designs) reduces statistical power for finding successful candidates. Skipping proper protein preparation leads to artifacts. Over-reliance on any single metric misses important failure modes captured by complementary scores.
Standard RFdiffusion performs backbone-only design without explicit side chain or ligand modeling (use LigandMPNN for post-processing). The target protein is treated as rigid during design. Water molecules and explicit solvation are not modeled. ProteinIQ applies a 20-minute inference timeout and upfront pricing starting at 50 credits per job.
Success rates vary from 1-50% depending on target difficulty. Designed sequences may show low recombinant expression in standard systems. Some designs exhibit non-specific binding or promiscuity. Affinity ranges cluster in hundreds of nanomolar, often requiring optimization for therapeutic applications.
Primarily designs with canonical amino acids. Practical size constraints: 10-500 residues. Novel fold generation remains challenging despite improvements over alternatives. Metalloproteins require special consideration. Covalent modifications are not directly supported.
Confidence scores are predictions, not guarantees of experimental success. Training on x-ray crystal structures may reduce performance on computational models. Domain generalization struggles with highly novel protein families. Limited training data for macrocycles and non-standard protein architectures.
Generate protein sequences de novo, scaffold fixed motifs, or inpaint selected regions.
All-atom SE(3)-equivariant diffusion for unconditional generation, motif scaffolding, and binder design.
Design all-atom protein binders with controlled target sites, lengths, and interaction parameters.
Generate novel drug-like molecules in protein binding pockets using AI-powered structure-based design.
Generate docking poses, drug-like molecules, and peptides inside protein binding pockets with PocketXMol.
Design antibody CDRs with Proteo-R1 reasoning, diffusion, and optional framework inpainting.
Scaffold enzyme active sites with atom-level control and ligand-aware protein design.
Generate de novo protein sequences from plain-text prompts with sampling controls.
Design protein, peptide, and nanobody binders against protein or small-molecule targets.
Peptide binder design through binding interface mimicry with a latent diffusion model