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¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| checkpoint | True | STRING | Model checkpoint selection. Auto chooses a suitable checkpoint based on inputs; manual options require compatibility with the task. | Auto |
| write_trajectory | True | BOOLEAN | If true, outputs diffusion trajectories alongside the final design. | True |
| model_runner | True | STRING | Sampler to use during inference. | SelfConditioning |
| align_motif | True | BOOLEAN | Aligns predicted motif to the input motif for conditional tasks. | True |
| final_step | True | INT | Reverse diffusion stopping step (1–50). Higher values accelerate inference. | 1 |
| contigs | True | STRING | Sequence 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_res | True | STRING | Comma-separated residues on the target protein used for binding/interface design. Chain letter + residue index. | A30,A33,A34 |
| partial_T | True | INT | Start timestep for denoising (0–50). Use 50 to disable partial diffusion. Requires an input PDB if set below 50. | 50 |
| seed | True | INT | Base random seed used for deterministic sampling. | 42 |
| mode | True | STRING | Execution mode. MOCK returns precomputed results, PROD runs full service, TEST reduces steps for faster checks. | PROD |
| timeout | True | INT | Timeout in seconds for the RF Diffusion run (30–12000). | 600 |
| input_pdb | False | PDB | Optional starting structure for conditional generation or partial diffusion. | {'file_0': ' |
| symmetry_config | False | JSON | Symmetry sampling configuration. Connect output from RF Diffusion Symmetry Config node. | {'symmetry': 'c3', 'recenter': True, 'radius': 10} |
| contigmap_config | False | JSON | Contig mapping configuration (masking/unmasking sequence/structure, length). Connect output from RF Diffusion Contigmap Config node. | {'inpaint_seq': 'A50-60', 'length': '100-120'} |
| denoiser_config | False | JSON | Noise 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_config | False | JSON | Guiding 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¶
| Field | Type | Description | Example |
|---|---|---|---|
| generation.pdb | PDB | The generated protein backbone design(s). | {'file_0': ' |
| trajectory_Xt-1.pdb | PDB | Trajectory snapshots at Xt−1 (returned only if write_trajectory is true). | {'file_0': ' |
| trajectory_pX0.pdb | PDB | Trajectory 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).