RF Diffusion Potentials Config¶
Builds a configuration dictionary for guiding potentials used by the RF Diffusion protein design node. It parses user-provided potentials, decay behavior, oligomer contact options, and optional substrate targeting into a single JSON payload.

Usage¶
Use this node to define and tune guiding potentials before running an RF Diffusion generation. Typically, you chain this node into an RF Diffusion workflow by feeding its output (potentials_config) into the main RF Diffusion node alongside other configs (e.g., symmetry, contigmap, denoiser).
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| guiding_potentials | True | STRING | Semicolon-separated list of potentials. Each potential is a comma-separated series of key:value pairs. Use type: | type:monomer_ROG,weight:1,min_dist:15;type:olig_contacts,weight_intra:1,weight_inter:0.1 |
| guide_scale | True | INT | Global scale factor applied to all guiding potentials. | 10 |
| guide_decay | True | STRING (enum) | Decay schedule for applying guiding potentials across steps. | linear |
| olig_inter_all | True | BOOLEAN | If true, apply contact potentials to all off-diagonal (inter-chain) positions. | False |
| olig_intra_all | True | BOOLEAN | If true, apply contact potentials to all on-diagonal (intra-chain) positions. | False |
| olig_custom_contact | True | STRING | Comma-separated custom contacts between chain pairs. Use ! for repulsive, & for attractive. | A!B,B&C |
| substrate | True | STRING | Ligand residue name from the input structure targeted by substrate-based potentials. Must correspond to a ligand (HETATM). | HEM |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| potentials_config | JSON | Configuration dictionary with all guiding potential settings, ready to be consumed by the RF Diffusion node. | {'guiding_potentials': ['type:monomer_ROG,weight:1,min_dist:15', 'type:olig_contacts,weight_intra:1,weight_inter:0.1'], 'guide_scale': 10, 'guide_decay': 'linear', 'olig_inter_all': False, 'olig_intra_all': False, 'olig_custom_contact': 'A!B,B&C', 'substrate': 'HEM'} |
Important Notes¶
- The guiding_potentials string uses ';' to separate potentials and ',' to separate key:value pairs within each potential.
- Supported potential types and their default args include: monomer_ROG (weight,min_dist), binder_ROG, dimer_ROG, binder_ncontacts (r_0,d_0), interface_ncontacts (r_0,d_0), monomer_contacts (r_0,d_0,eps), olig_contacts (weight_intra,weight_inter,r_0,d_0), substrate_contacts (weight,r_0,d_0,s,eps,rep_r_0,rep_s,rep_r_min).
- If guiding_potentials is left empty or parses to an empty list, the value becomes null in the output (no guiding potentials).
- olig_custom_contact format: chain pairs separated by commas, using '!' for repulsive and '&' for attractive interactions (e.g., A!B,B&C).
- If substrate is empty or whitespace, it becomes null in the output; otherwise it must be a valid ligand residue present in the input structure.
- Allowed guide_decay values: constant, linear, quadratic, cubic.
Troubleshooting¶
- Invalid guiding_potentials format: Ensure each potential is 'key:value' pairs separated by commas, and different potentials are separated by semicolons.
- Unexpected null guiding_potentials: Provide at least one well-formed potential; otherwise the node will output null for guiding_potentials.
- Substrate not applied: Verify the residue name matches a ligand (HETATM) in your input structure (e.g., LLK, HEM, ATP).
- Contacts not taking effect: If using olig_custom_contact, confirm chain IDs exist and use the correct symbols '!' (repulsive) and '&' (attractive).
- Over-aggressive guidance: Reduce guide_scale or choose a milder guide_decay (e.g., constant) to lessen the influence of potentials.