Skip to content

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.
Preview

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

FieldRequiredTypeDescriptionExample
checkpointTrueSTRINGModel checkpoint to use. 'Auto' chooses an appropriate checkpoint automatically; other options are advanced and should match your task.Auto
write_trajectoryTrueBOOLEANWhether to include trajectory outputs. Disable for faster runs.True
model_runnerTrueSTRINGSampler to run the model with.SelfConditioning
align_motifTrueBOOLEANAlign the model’s predicted motif to the input motif during conditional runs.True
final_stepTrueINTReverse diffusion will stop at this step (1–50). Higher values speed up inference.1
contigsTrueSTRINGDefines 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_resTrueSTRINGComma-separated target residues that should contact the designed chain(s). Only for conditional runs.A30,A33,A34
partial_TTrueINTStart denoising from this timestep (0–50). 50 disables partial diffusion (standard full diffusion). Requires input_pdb when < 50.50
seedTrueINTBase seed for reproducibility.42
modeTrueSTRINGExecution mode. PROD runs the service, MOCK returns predefined data, TEST uses faster minimal parameters.PROD
timeoutTrueINTTimeout in seconds for the diffusion process (30–12000).600
input_pdbFalsePDBInput PDB for conditional tasks (motif scaffolding or partial diffusion). Not used for unconditional generation.
symmetry_configFalseJSONSymmetry 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_configFalseJSONContigmap 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_configFalseJSONDenoiser 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_configFalseJSONGuiding 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

FieldTypeDescriptionExample
generation.pdbPDBFinal designed protein structure(s).
trajectory_Xt-1.pdbPDBDenoising trajectory at Xt-1 steps. Returned only if write_trajectory is true.
trajectory_pX0.pdbPDBPredicted 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).