"Configure RFdiffusion auxiliary guiding potentials, including
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill guided-potentials --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Guided Potentials?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-guided-potentials)More formats (shields.io, HTML) on the badges page.
---
name: guided-potentials
description: "Configure 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."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# RFdiffusion Guided Potentials
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 Here
Route to `guided-potentials` for:
- `potentials.guiding_potentials` syntax, quoting, and comma-separated per-potential arguments.
- Tuning `potentials.guide_scale` and `potentials.guide_decay`.
- Monomer compactness or contact bias with `monomer_ROG` or `monomer_contacts`.
- Symmetric oligomer contact bias with `olig_contacts`, `potentials.olig_intra_all`, `potentials.olig_inter_all`, or `potentials.olig_custom_contact`.
- Binder compactness/contact potentials such as `binder_ROG`, `binder_ncontacts`, `interface_ncontacts`, or `dimer_ROG` when the run already has a binder-style contig.
- Enzyme or active-site substrate contact bias with `substrate_contacts` and `potentials.substrate`.
- Troubleshooting unknown potential names, Hydra list quoting, unsupported decay types, bad oligomer contact strings, and substrate atom failures.
Route elsewhere when:
- The user only needs a plain de novo monomer command; use `../unconditional-generation/SKILL.md`.
- The user needs target/binder contig ordering, hotspot choice, or PPI strategy; use `../binder-design/SKILL.md` first, then return here only for intentional potential pilots.
- The user needs cyclic, dihedral, tetrahedral, or other symmetry setup; use `../symmetric-oligomers/SKILL.md` first.
- The user needs motif or active-site contig construction; use `../motif-scaffolding/SKILL.md` first, then return here for potential parameters.
## Required Context
Collect these before recommending potential overrides:
- Base workflow type: unconditional monomer, symmetric oligomer, binder/PPI, motif scaffolding, or active-site/enzyme.
- Existing working command without potentials, or enough inputs to route to the sibling sub-skill that owns the base command.
- Intended objective: compactness, more intra-chain contacts, more inter-chain contacts, repulsion between selected oligomer chains, binder compactness, interface contacts, or substrate packing.
- Whether the user can run short pilot batches and compare against a no-potential baseline.
- Runtime-visible paths for input PDBs, output prefixes, and optional checkpoints; do not reuse paths from the RFdiffusion source checkout.
## Override Pattern
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:
```bash
'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.
## Safe Starting Points
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:
```bash
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:
```bash
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:
```bash
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:
```bash
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.
## Tuning Rules
- Start with the published examples, then vary one knob at a time.
- Use small pilot batches before production; excessive potential strength can produce poor proteins.
- `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.
- For `olig_contacts`, start with intra-chain weight larger than inter-chain weight, such as `weight_intra:1,weight_inter:0.1` or `0.06`.
- For PPI/hotspot workflows, warn that repository guidance says potentials can interact oddly with hotspot residues. Baseline without potentials, then pilot compactness/contact potentials only if the user has a clear reason.
## Validator Helper
Use the bundled helper for lightweight syntax checks before giving a command:
```bash
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.
## Validation Checklist
Before finalizing a guided command, verify:
- The base command is valid for the workflow before adding potentials.
- `potentials.guiding_potentials` is a quoted Hydra list of quoted strings.
- Each potential string includes `type:<implemented_name>`.
- Non-`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.
- Binder potentials are only used when RFdiffusion can infer a binder length from the binder-style run.
- Hotspot/PPI runs include a no-potential baseline and a small pilot if potentials are added.
## References
- `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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!