RF Diffusion¶
Generates protein structures using RFdiffusion with optional conditional controls, symmetry, denoising schedules, guiding potentials, and scaffold-guided (fold-conditioned) settings. Supports both unconditional sequence-length based generation and conditional design from an input PDB, including partial diffusion and protein–protein interaction guidance. Deterministic by default using the provided seed, with optional trajectory outputs for analysis.

Usage¶
Use this node to design or sample protein backbones. For unconditional sampling, provide only a length range in contigs. For conditional design, supply an input PDB and specify contigs with fixed regions and flexible gaps; optionally enable scaffold-guided fold conditioning and PPI design via their respective config nodes. Connect optional configuration nodes to fine-tune symmetry, contig masking, denoising, and potentials. Choose PROD for real runs, TEST for quick checks, or MOCK to return precomputed demo results.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| checkpoint | True | ENUM[Auto, Base, Complex_base, Complex_Fold_base, InpaintSeq, InpaintSeq_Fold, ActiveSite, Base_epoch8, Complex_beta] | Model checkpoint selection. Auto chooses the best checkpoint based on inputs; manual selection requires compatibility with your setup. | Auto |
| write_trajectory | True | BOOLEAN | If true, also outputs intermediate trajectory PDBs. | true |
| model_runner | True | ENUM[default, SelfConditioning, ScaffoldedSampler] | Sampler variant to run for the diffusion process. | SelfConditioning |
| align_motif | True | BOOLEAN | Aligns predicted motif to the input motif when applicable. | true |
| final_step | True | INT | Reverse diffusion stopping step (1–50). Larger values speed up inference by stopping earlier. | 1 |
| contigs | True | STRING | Defines sequence layout. Unconditional: length range only (e.g., 100-100). Conditional: combine fixed motifs (A10-25), flexible gaps (5-15), and chain breaks (/0). For partial diffusion (partial_T != 50), must fully match the input PDB’s residue count/order. | 5-15/A10-25/30-40/0 B1-100 |
| hotspot_res | True | STRING | Residues on the target protein to encourage interactions (PPI). Comma-separated chain+index (e.g., A30,A33). Leave empty unless a target protein is configured. | A30,A33,A34 |
| partial_T | True | INT | Start timestep for denoising (0–50). Set 50 to disable (full diffusion). Values <50 enable partial diffusion and require an input PDB. | 50 |
| seed | True | INT | Base seed for deterministic generation. | 42 |
| mode | True | ENUM[MOCK, PROD, TEST] | Run mode. MOCK returns precomputed results, PROD runs the service, TEST uses minimal parameters for quick checks. | PROD |
| timeout | True | INT | Timeout in seconds for the service call (30–12000). | 600 |
| input_pdb | False | PDB | Input structure for conditional or partial diffusion. Required for partial_T < 50. | {'file_0.pdb': ' |
| symmetry_config | False | RFDIFFUSION_SYMMETRY_CONFIG | Symmetry parameters. Connect from RF Diffusion Symmetry Config. | {'symmetry': 'c3', 'recenter': True, 'radius': 10} |
| contigmap_config | False | RFDIFFUSION_CONTIGMAP_CONFIG | Contig masking, inpainting, and length options. Connect from RF Diffusion Contigmap Config. | {'inpaint_seq': 'A10-20', 'length': '100-150'} |
| denoiser_config | False | RFDIFFUSION_DENOISER_CONFIG | Noise scaling and schedule settings. Connect from RF Diffusion Denoiser Config. | {'noise_scale_ca': 1.0, 'final_noise_scale_ca': 1.0, 'ca_noise_schedule_type': 'constant'} |
| potentials_config | False | RFDIFFUSION_POTENTIALS_CONFIG | Guiding potentials to steer generation. Connect from RF Diffusion Potentials Config. | {'guiding_potentials': ['type:monomer_ROG,weight:1,min_dist:15'], 'guide_scale': 10, 'guide_decay': 'constant'} |
| scaffoldguided_config | False | RFDIFFUSION_SCAFFOLDGUIDED_CONFIG | Fold-conditioning and scaffold-guided design parameters; supports PPI with target proteins. Connect from RF Diffusion Scaffold Guided Config. | {'scaffoldguided': True, 'scaffold_secstruc_adj': {'type': 'secstruc_adj_input', 'pdbs': {'file_0.pdb': ' |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| generation.pdb | PDB | Final generated protein structure(s). | {'design_0.pdb': ' |
| trajectory_Xt-1.pdb | PDB | Intermediate trajectory at Xt-1, if write_trajectory is true. | {'design_0_Xt-1.pdb': ' |
| trajectory_pX0.pdb | PDB | Predicted pX0 trajectory, if write_trajectory is true. | {'design_0_pX0.pdb': ' |
Important Notes¶
- Partial diffusion: Set partial_T to 50 to disable. Any value <50 requires an input PDB and a full contig layout matching the PDB’s residue order.
- Unconditional vs conditional: Unconditional requires contigs with length-only ranges (e.g., 100-100) and hotspot_res must be empty. Conditional requires at least one fixed region (e.g., A10-25) unless scaffold-guided mode is enabled.
- Scaffold-guided mode: contigs may be omitted because they are auto-generated from the scaffold. If specifying hotspot_res in scaffold-guided mode, you must also provide a target protein via Scaffold Guided Config.
- Determinism: The seed controls design numbering and enables deterministic outputs for the same configuration.
- Trajectory outputs: trajectory_Xt-1.pdb and trajectory_pX0.pdb are only returned when write_trajectory is true.
- Mode behavior: TEST mode reduces final_step and disables cautious mode and trajectories for speed; MOCK returns precomputed demo results; PROD performs real generation.
- Checkpoint Auto: Auto selects an appropriate checkpoint based on inputs; manual checkpoints may not support all configurations.
- Timeout: Ensure timeout is sufficient for complex runs; large systems or trajectories may require higher values.
Troubleshooting¶
- Error: Non empty
contigsmust be passed: Ensure contigs is provided unless using scaffold-guided mode, where contigs can be omitted. - Error: For partial diffusion sampling, expected
input_pdbto be provided: Supply an input PDB when partial_T < 50. - Error: For unconditional sampling, expected
contigsto specify only length range: Use formats like 100-100 and avoid chain letters in unconditional mode. - Error: For unconditional sampling, expected
hotspot_resto be empty: Remove hotspot_res for unconditional runs. - Error: For unconditional sampling, expected
<param>to be empty but got ...: In contigmap_config onlylengthmay be set; clear other contigmap fields in unconditional mode. - Error: For conditional sampling, expected contigs to specify least one fixed region: Include at least one region with chain letters (e.g., A10-25) unless in scaffold-guided mode.
- Error: hotspot_res specified but no target protein configured: When using hotspot_res in scaffold-guided design, also provide target_pdb (and ideally target_pdbs) in the Scaffold Guided Config.
- Unexpected early stop or no trajectories in TEST: TEST mode forces final_step=49 and disables trajectory writing for speed; switch to PROD and enable write_trajectory.