Skip to content

RF Diffusion

Generates protein backbones using RFdiffusion, optionally conditioned on an input structure, motifs, or scaffold-guided settings. Supports full or partial diffusion, symmetry, potentials, and detailed contig mapping. Returns the designed structure and, if requested, trajectory snapshots.
Preview

Usage

Use this node to design new protein backbones either unconditionally (length-only) or conditionally (based on an input PDB and contig layout). Provide the contigs, optional conditioning configs (symmetry, contigmap, denoiser, potentials, scaffold-guided), choose a checkpoint and sampler, and set diffusion parameters. Integrate it early for generative design, then feed outputs into downstream scoring/relaxation, validation, or sequence design nodes.

Inputs

FieldRequiredTypeDescriptionExample
checkpointTrue['Auto','Base','Complex_base','Complex_Fold_base','InpaintSeq','InpaintSeq_Fold','ActiveSite','Base_epoch8','Complex_beta']Which model checkpoint to use. Auto selects an appropriate checkpoint based on inputs; manual selection requires ensuring compatibility with your task.Auto
write_trajectoryTrueBOOLEANIf true, returns trajectory PDBs for Xt-1 and pX0.True
model_runnerTrue['default','SelfConditioning','ScaffoldedSampler']Sampler variant to run during diffusion.SelfConditioning
align_motifTrueBOOLEANAligns the predicted motif to the provided motif during generation.True
final_stepTrueINTReverse diffusion stop step (1–50). Higher speed with higher values (stops earlier).1
contigsTrueSTRINGSequence 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 match the exact residue counts and order of the input PDB.5-15/A10-25/30-40/0 B1-100
hotspot_resTrueSTRINGResidues on the target protein to involve in interactions (conditional design). Format like A30,A33,A34. Leave empty for unconditional.A30,A33,A34
partial_TTrueINTTimestep to start denoising from (0–50). Use 50 to disable (i.e., full diffusion). Values <50 enable partial diffusion and require an input PDB and fully specified contigs matching it.50
seedTrueINTBase random seed used for deterministic design runs.42
modeTrue['MOCK','PROD','TEST']Execution mode. MOCK uses a predefined demo result. PROD runs the service with your parameters. TEST reduces compute (shorter run, no trajectory, non-cautious) for quick checks.PROD
timeoutTrueINTTimeout in seconds for the diffusion process (30–12000).600
input_pdbFalsePDBOptional starting PDB for conditional or partial diffusion. Required for partial diffusion (partial_T < 50).{'filename': 'input_structure.pdb', 'data': ''}
symmetry_configFalseJSONSymmetry configuration. Produce via RF Diffusion Symmetry Config node.{'symmetry': 'c2', 'recenter': True, 'radius': 10, 'model_only_neighbors': False, 'symmetric_self_cond': True}
contigmap_configFalseJSONContig mapping and masking settings. Produce via RF Diffusion Contigmap Config node.{'inpaint_seq': 'A10-25', 'inpaint_str': 'B165-178', 'provide_seq': '172-177,200-205', 'length': '100-150'}
denoiser_configFalseJSONNoise schedule and scaling for translations/rotations. Produce via 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 (contact/shape constraints, substrates, oligomer settings). Produce via 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, 'olig_custom_contact': 'A!B', 'substrate': 'HEM'}
scaffoldguided_configFalseJSONScaffold-guided or fold-conditioning settings (secondary structure files, target PDB for PPI). Produce via RF Diffusion Scaffold Guided Config node.{'scaffoldguided': True, 'target_pdb': False, 'scaffold_dir': '/path/to/scaffolds', 'sampled_insertion': 5, 'mask_loops': True}

Outputs

FieldTypeDescriptionExample
generation.pdbPDBThe generated protein backbone structure.{'filename': 'generation.pdb', 'data': ''}
trajectory_Xt-1.pdbPDBTrajectory snapshot for Xt-1 (returned when write_trajectory is true; may be empty in TEST mode or when disabled).{'filename': 'trajectory_Xt-1.pdb', 'data': ''}
trajectory_pX0.pdbPDBTrajectory snapshot for pX0 (returned when write_trajectory is true; may be empty in TEST mode or when disabled).{'filename': 'trajectory_pX0.pdb', 'data': ''}

Important Notes

  • Unconditional vs Conditional: Unconditional design requires no input_pdb, contigs must be length-only (e.g., 100-100), hotspot_res must be empty, and contigmap_config fields (except length) must be empty.
  • Partial diffusion requires input: If partial_T < 50 (partial diffusion), you must provide input_pdb and a fully specified contig layout matching the input PDB residue counts and chain order.
  • Conditional contigs: For conditional sampling with full diffusion (partial_T = 50), contigs must include at least one fixed region with chain letters (e.g., A10-25).
  • Checkpoint compatibility: Manual checkpoints may not support all input configurations. Auto is recommended unless you know the correct model for your setup.
  • Modes: TEST mode forces faster settings (final_step=49, write_trajectory=false, cautious=false). MOCK mode returns precomputed demo data.
  • Trajectory outputs: If write_trajectory is false, trajectory outputs may be empty.
  • Timeouts: Complex conditional runs with trajectories may require a higher timeout.

Troubleshooting

  • Error: Non empty contigs must be passed: Provide valid contigs. For unconditional, use length-only (e.g., 120-120). For conditional, include fixed regions (e.g., A10-25).
  • Error: For partial diffusion sampling, expected input_pdb to be provided: Set partial_T=50 to disable partial diffusion or supply input_pdb.
  • Error: Unconditional settings invalid: Remove hotspot_res, and ensure contigmap_config fields other than length are empty when input_pdb is not provided.
  • Error: For conditional sampling, contigs missing fixed region: Include at least one chain-lettered fixed segment (e.g., A10-25).
  • Trajectory not returned: Ensure write_trajectory=true and avoid TEST mode; increase timeout for large jobs.
  • Generation times out: Increase the timeout input; reduce complexity (shorter contigs, disable trajectory, use TEST for debugging).
  • Unexpected geometry or poor contacts: Use potentials_config to add guiding potentials, adjust guide_scale/decay, or refine contigmap/denoiser settings.
  • Symmetry not applied: Verify symmetry_config fields and values (e.g., c2, d5, tetrahedral) and ensure they fit your design goal.