Skip to content

RF Diffusion

Generates protein backbone structures using RF Diffusion. Supports unconditional sampling from length ranges and conditional motif scaffolding using input PDBs and contigs. Optional symmetry, denoiser, contigmap, and guiding potentials configurations provide fine-grained control over sampling behavior.

Usage

Use this node to design new protein backbones or scaffold motifs. For unconditional generation, provide only a length range in contigs (e.g., 100-100) and leave input_pdb empty. For motif scaffolding or partial diffusion, supply an input PDB and contigs describing fixed motifs and flexible regions. Optionally connect configuration nodes for symmetry, contigmap, denoising, and potentials to guide the design.

Inputs

FieldRequiredTypeDescriptionExample
checkpointTrueSTRINGModel checkpoint selection. Auto chooses a suitable checkpoint based on inputs; manual options require compatibility with the task.Auto
write_trajectoryTrueBOOLEANIf true, outputs diffusion trajectories alongside the final design.True
model_runnerTrueSTRINGSampler to use during inference.SelfConditioning
align_motifTrueBOOLEANAligns predicted motif to the input motif for conditional tasks.True
final_stepTrueINTReverse diffusion stopping step (1–50). Higher values accelerate inference.1
contigsTrueSTRINGSequence layout. Unconditional: only a length/range (e.g., 100-100). Conditional: combine fixed motifs (A10-25), flexible ranges (5-15), and chain breaks (/0). For partial diffusion, it must match the exact residue layout of the input.5-15/A10-25/30-40/0 B1-100
hotspot_resTrueSTRINGComma-separated residues on the target protein used for binding/interface design. Chain letter + residue index.A30,A33,A34
partial_TTrueINTStart timestep for denoising (0–50). Use 50 to disable partial diffusion. Requires an input PDB if set below 50.50
seedTrueINTBase random seed used for deterministic sampling.42
modeTrueSTRINGExecution mode. MOCK returns precomputed results, PROD runs full service, TEST reduces steps for faster checks.PROD
timeoutTrueINTTimeout in seconds for the RF Diffusion run (30–12000).600
input_pdbFalsePDBOptional starting structure for conditional generation or partial diffusion.{'file_0': ''}
symmetry_configFalseJSONSymmetry sampling configuration. Connect output from RF Diffusion Symmetry Config node.{'symmetry': 'c3', 'recenter': True, 'radius': 10}
contigmap_configFalseJSONContig mapping configuration (masking/unmasking sequence/structure, length). Connect output from RF Diffusion Contigmap Config node.{'inpaint_seq': 'A50-60', 'length': '100-120'}
denoiser_configFalseJSONNoise schedule and scale parameters. Connect output from RF Diffusion Denoiser Config node.{'noise_scale_ca': 1.0, 'final_noise_scale_ca': 1.0, 'ca_noise_schedule_type': 'constant'}
potentials_configFalseJSONGuiding potentials configuration to bias designs. Connect output from RF Diffusion Potentials Config node.{'guiding_potentials': ['type:monomer_ROG,weight:1,min_dist:15'], 'guide_scale': 10}

Outputs

FieldTypeDescriptionExample
generation.pdbPDBThe generated protein backbone design(s).{'file_0': ''}
trajectory_Xt-1.pdbPDBTrajectory snapshots at Xt−1 (returned only if write_trajectory is true).{'file_0': ''}
trajectory_pX0.pdbPDBTrajectory snapshots at pX0 (returned only if write_trajectory is true).{'file_0': ''}

Important Notes

  • Unconditional sampling: Leave input_pdb empty. contigs must specify only length ranges (e.g., 100-100). hotspot_res must be empty. contigmap_config keys other than length must be empty.
  • Conditional sampling (motif scaffolding): Provide input_pdb and contigs that include at least one fixed region with chain letters (e.g., A10-25). For partial diffusion (partial_T < 50), contigs must fully match the residue layout (counts and chain breaks) of the input structure.
  • Partial diffusion: Setting partial_T to 50 disables partial diffusion; values 0–49 enable it and require input_pdb.
  • Trajectories: If write_trajectory is false, trajectory outputs will be empty/not produced.
  • TEST mode: Runs a faster configuration by reducing steps and disabling some overhead for quick validation. Use PROD for full-quality results.
  • Timeouts: Long or complex designs may require increasing timeout, especially with trajectories enabled or larger complexes.

Troubleshooting

  • Error: Non empty contigs must be passed: Provide a valid contigs string. For unconditional, use only a length or length range (e.g., 120-150). For conditional, include fixed motif segments like A10-25 and flexible gaps like 5-15.
  • Unconditional run rejects partial_T < 50: Partial diffusion requires an input PDB. Either set partial_T to 50 or provide input_pdb.
  • Unconditional run rejects hotspot_res or contigmap settings: Clear hotspot_res and ensure contigmap_config contains only length. Other contigmap fields (inpaint_seq, inpaint_str, etc.) must be empty.
  • Conditional run complains about missing fixed regions: Ensure contigs includes at least one fixed region with chain letters (e.g., A10-25) unless performing partial diffusion with a fully matching layout.
  • Partial diffusion with conditional run fails: Verify contigs exactly match the residue counts, chain order, and breaks of the input PDB (e.g., use 79-79 for a 79-residue monomer; use X- X /0 Y- Y for multi-chain).
  • No trajectory outputs: Enable write_trajectory to receive trajectory_Xt-1.pdb and trajectory_pX0.pdb.
  • Timeout exceeded: Increase the timeout input. Consider disabling trajectories, or using TEST mode for quick checks.
  • Incompatible checkpoint selection: If results seem invalid, try Auto checkpoint or pick a checkpoint known to support your task type (unconditional, inpainting, complex).