executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
guided-potentialsConfigure RFdiffusion auxiliary guiding potentials, including monomer compactness/contact, oligomer contacts, binder compactness/contact potentials, substrate contacts, guide scale/decay, Hydra quoting, and workflow-specific caveats.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a user wants to add, tune, validate, or debug RFdiffusion auxiliary potentials during inference.
Guiding potentials bias the reverse-diffusion update toward differentiable objectives. They are useful for compact monomers, contact-rich symmetric oligomers, motif scaffolding with compactness pressure, and enzyme active-site workflows that implicitly model a substrate. They are not a substitute for a correct contig, checkpoint, or design strategy.
Route to guided-potentials for:
potentials.guiding_potentials syntax, quoting, and comma-separated per-potential arguments.potentials.guide_scale and potentials.guide_decay.monomer_ROG or monomer_contacts.olig_contacts, potentials.olig_intra_all, potentials.olig_inter_all, or potentials.olig_custom_contact.binder_ROG, binder_ncontacts, interface_ncontacts, or dimer_ROG when the run already has a binder-style contig.substrate_contacts and potentials.substrate.Route elsewhere when:
../unconditional-generation/SKILL.md.../binder-design/SKILL.md first, then return here only for intentional potential pilots.../symmetric-oligomers/SKILL.md first.../motif-scaffolding/SKILL.md first, then return here for potential parameters.Collect these before recommending potential overrides:
RFdiffusion expects a Hydra list of strings. In shell commands, quote the whole override with single quotes and put each potential as a double-quoted string inside the list:
'potentials.guiding_potentials=["type:monomer_ROG,weight:1,min_dist:5"]' \
potentials.guide_scale=2 \
potentials.guide_decay=quadratic
Each potential string is parsed as comma-separated key:value pairs. type is required and remains a string; all other per-potential values are parsed as floats by RFdiffusion's potential manager.
Available source-backed potential names:
monomer_ROG: compact a monomer by minimizing radius of gyration; useful for compact de novo or motif scaffolds.monomer_contacts: maximize contacts within a monomer; example weight is small, such as 0.05.olig_contacts: add attractive or repulsive contact objectives between chains in symmetric runs.binder_ROG: compact the binder segment of a binder-style run; requires a detected binder length.binder_ncontacts: increase contacts within the binder segment; requires a detected binder length.interface_ncontacts: increase contacts across binder and target segments; requires a detected binder length.dimer_ROG: compact both halves of a dimer-style run; requires a detected binder length.substrate_contacts: implicitly model ligand/substrate contacts for active-site scaffolding; requires potentials.substrate and an input motif PDB containing that residue.See references/potential-reference.md for parameters, defaults, and caveats.
Always recommend a no-potential baseline first when the user is not reproducing a known example. Then make a small pilot batch with one potential family and conservative weights.
Monomer compactness:
run_inference.py \
inference.output_prefix=outputs/compact_monomer/design \
'contigmap.contigs=[100-200]' \
inference.num_designs=10 \
'potentials.guiding_potentials=["type:monomer_ROG,weight:1,min_dist:5"]' \
potentials.guide_scale=2 \
potentials.guide_decay=quadratic
Monomer contacts:
run_inference.py \
inference.output_prefix=outputs/contact_monomer/design \
'contigmap.contigs=[100-200]' \
inference.num_designs=10 \
'potentials.guiding_potentials=["type:monomer_contacts,weight:0.05"]'
Symmetric oligomer contacts:
run_inference.py \
--config-name=symmetry \
inference.symmetry=C6 \
inference.output_prefix=outputs/c6/design \
'contigmap.contigs=[480-480]' \
inference.num_designs=10 \
'potentials.guiding_potentials=["type:olig_contacts,weight_intra:1,weight_inter:0.1"]' \
potentials.olig_intra_all=True \
potentials.olig_inter_all=True \
potentials.guide_scale=2 \
potentials.guide_decay=quadratic
Enzyme substrate contacts:
run_inference.py \
inference.output_prefix=outputs/enzyme/design \
inference.input_pdb=active_site_input.pdb \
'contigmap.contigs=[10-100/A1083-1083/10-100/A1051-1051/10-100/A1180-1180/10-100]' \
'potentials.guiding_potentials=["type:substrate_contacts,s:1,r_0:8,rep_r_0:5.0,rep_s:2,rep_r_min:1"]' \
potentials.substrate=LLK \
potentials.guide_scale=1 \
inference.ckpt_override_path=/path/to/ActiveSite_ckpt.pt
The active-site checkpoint path must be supplied by the user from their installed model location.
potentials.guide_scale globally scales potential gradients; examples use 2 for compactness/oligomers and 1 for substrate contacts.potentials.guide_decay accepts constant, linear, quadratic, or cubic; quadratic applies the potential more strongly early in denoising and weakens it later.olig_contacts, start with intra-chain weight larger than inter-chain weight, such as weight_intra:1,weight_inter:0.1 or 0.06.Use the bundled helper for lightweight syntax checks before giving a command:
python sub-skills/guided-potentials/scripts/validate_potential_override.py \
--guiding-potentials '["type:olig_contacts,weight_intra:1,weight_inter:0.1"]' \
--guide-decay quadratic \
--symmetry C6 \
--olig-intra-all \
--olig-inter-all
The helper does not run RFdiffusion and does not need model weights. It validates source-backed potential names, numeric parameters, guide decay, oligomer contact strings, and substrate requirements.
Before finalizing a guided command, verify:
potentials.guiding_potentials is a quoted Hydra list of quoted strings.type:<implemented_name>.type potential arguments are numeric because RFdiffusion parses them as floats.potentials.guide_decay is one of constant, linear, quadratic, or cubic.olig_contacts is used with symmetry and an all/custom contact specification.substrate_contacts includes potentials.substrate=<resname> and an input PDB with that substrate residue.references/potential-reference.md for implemented potential names, arguments, defaults, and source behavior.references/workflows.md for concrete monomer, oligomer, binder, and enzyme command patterns.references/troubleshooting.md for Hydra, unknown potential, oligomer, substrate, and hotspot interaction failures.