RF Diffusion¶
Generates protein backbones using RFdiffusion with support for both unconditional generation and conditional motif scaffolding. Allows fine-grained control via symmetry, contig mapping, denoiser, and guiding potentials configurations. Supports full diffusion or partial diffusion (starting from a specified timestep) and can optionally output diffusion trajectories.

Usage¶
Use this node to design protein structures. For unconditional generation, provide only a length range in contigs (e.g., 100-100) and leave input_pdb empty. For conditional motif scaffolding or partial diffusion, provide an input PDB and a contigs string that specifies fixed and flexible regions. Optionally connect configuration nodes for symmetry, contig map, denoiser, and potentials to refine behavior. Enable write_trajectory if you need intermediate trajectory outputs.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| checkpoint | True | STRING | Model checkpoint to use. 'Auto' chooses an appropriate checkpoint automatically; other options are advanced and should match your task. | Auto |
| write_trajectory | True | BOOLEAN | Whether to include trajectory outputs. Disable for faster runs. | True |
| model_runner | True | STRING | Sampler to run the model with. | SelfConditioning |
| align_motif | True | BOOLEAN | Align the model’s predicted motif to the input motif during conditional runs. | True |
| final_step | True | INT | Reverse diffusion will stop at this step (1–50). Higher values speed up inference. | 1 |
| contigs | True | STRING | Defines sequence layout. Unconditional: length range only (e.g., 100-100). Conditional: fixed motifs (A10-25), flexible gaps (5-15), and optional chain breaks (/0). For partial diffusion, must match the full layout of the input PDB. | 5-15/A10-25/30-40/0 B1-100 |
| hotspot_res | True | STRING | Comma-separated target residues that should contact the designed chain(s). Only for conditional runs. | A30,A33,A34 |
| partial_T | True | INT | Start denoising from this timestep (0–50). 50 disables partial diffusion (standard full diffusion). Requires input_pdb when < 50. | 50 |
| seed | True | INT | Base seed for reproducibility. | 42 |
| mode | True | STRING | Execution mode. PROD runs the service, MOCK returns predefined data, TEST uses faster minimal parameters. | PROD |
| timeout | True | INT | Timeout in seconds for the diffusion process (30–12000). | 600 |
| input_pdb | False | PDB | Input PDB for conditional tasks (motif scaffolding or partial diffusion). Not used for unconditional generation. | |
| symmetry_config | False | JSON | Symmetry settings. Generate via the RF Diffusion Symmetry Config node and connect here. | {'symmetry': 'c2', 'recenter': True, 'radius': 10, 'model_only_neighbors': False, 'symmetric_self_cond': True} |
| contigmap_config | False | JSON | Contigmap settings for masking/unmasking sequence or structure. Generate via the RF Diffusion Contigmap Config node. | {'inpaint_seq': 'A50-80', 'inpaint_str': 'B165-178', 'provide_seq': '172-177,200-205', 'length': '100-120'} |
| denoiser_config | False | JSON | Denoiser noise schedules. Generate via the RF Diffusion Denoiser Config node. | {'noise_scale_ca': 1.0, 'final_noise_scale_ca': 1.0, 'ca_noise_schedule_type': 'constant', 'noise_scale_frame': 1.0, 'final_noise_scale_frame': 1.0, 'frame_noise_schedule_type': 'constant'} |
| potentials_config | False | JSON | Guiding potentials to steer design (e.g., contacts, ROG, substrate contacts). Generate via the RF Diffusion Potentials Config node. | {'guiding_potentials': ['type:monomer_ROG,weight:1,min_dist:15'], 'guide_scale': 10, 'guide_decay': 'constant', 'olig_inter_all': False, 'olig_intra_all': False} |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| generation.pdb | PDB | Final designed protein structure(s). | |
| trajectory_Xt-1.pdb | PDB | Denoising trajectory at Xt-1 steps. Returned only if write_trajectory is true. | |
| trajectory_pX0.pdb | PDB | Predicted X0 trajectory. Returned only if write_trajectory is true. |
Important Notes¶
- Checkpoint 'Auto' is recommended; manual checkpoints must be compatible with your task.
- Unconditional mode: contigs must specify only a length range (e.g., 100-100), input_pdb must be empty, and hotspot_res must be empty.
- Conditional mode (motif scaffolding): provide input_pdb and contigs must include at least one fixed region (e.g., A10-25).
- Partial diffusion requires input_pdb and partial_T < 50; partial_T = 50 disables partial diffusion (full diffusion).
- For unconditional runs, contigmap_config must not include fields other than length; any other populated field will raise an error.
- write_trajectory increases runtime and output size; disable for faster testing.
- TEST mode adjusts parameters for speed (e.g., increases final_step, disables trajectories/cautious behavior).
- Seeds are applied per output; downstream files may carry seed metadata.
- Symmetry, contig map, denoiser, and potentials are optional but powerful for advanced control.
Troubleshooting¶
- Error: 'Non empty contigs must be passed' – Ensure contigs is provided. For unconditional, use a simple range; for conditional, include fixed regions.
- Error: 'For partial diffusion sampling, expected input_pdb to be provided' – Provide an input PDB when partial_T < 50.
- Error: 'For unconditional sampling, expected contigs to specify only length range' – Remove chain IDs and fixed regions; use a numeric range only.
- Error: 'For unconditional sampling, expected hotspot_res to be empty' – Clear hotspot_res when no input_pdb is used.
- Error: 'For unconditional sampling, expected
to be empty' – In contigmap_config leave all fields empty except length. - Error: 'For conditional sampling, expected contigs to specify least one fixed region' – Include at least one region like A10-25 when using input_pdb.
- Timeouts: Increase timeout if designs are large or trajectories are enabled.
- Empty or malformed contigs/hotspot formatting: Use correct formats (e.g., A10-25; hotspots like A30,A33).