Skip to content

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

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

FieldRequiredTypeDescriptionExample
guiding_potentialsTrueSTRINGSemicolon-separated list of potentials. Each potential is a comma-separated series of key:value pairs. Use type: followed by its arguments.type:monomer_ROG,weight:1,min_dist:15;type:olig_contacts,weight_intra:1,weight_inter:0.1
guide_scaleTrueINTGlobal scale factor applied to all guiding potentials.10
guide_decayTrueSTRING (enum)Decay schedule for applying guiding potentials across steps.linear
olig_inter_allTrueBOOLEANIf true, apply contact potentials to all off-diagonal (inter-chain) positions.False
olig_intra_allTrueBOOLEANIf true, apply contact potentials to all on-diagonal (intra-chain) positions.False
olig_custom_contactTrueSTRINGComma-separated custom contacts between chain pairs. Use ! for repulsive, & for attractive.A!B,B&C
substrateTrueSTRINGLigand residue name from the input structure targeted by substrate-based potentials. Must correspond to a ligand (HETATM).HEM

Outputs

FieldTypeDescriptionExample
potentials_configJSONConfiguration 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.