| name | free-energy-perturbation |
| description | Compute relative and absolute binding free energies with the Open Free Energy toolkit — the rigorous alchemical alternative to docking scores when a congeneric series needs reliable potency ranking. Use this skill to plan a perturbation network over a ligand set, choose atom mappings, run hybrid-topology or separated-topology protocols, and analyse the result — per-edge ΔΔG with uncertainty, cycle-closure error, and mean unsigned error against measured affinities. Also trigger on OpenFE, alchemical transformation, thermodynamic cycle, RBFE, ABFE, SepTop, lambda window, MBAR, cycle closure, or perturbation map. |
| license | MIT |
| allowed-tools | Read Write Edit Bash |
| compatibility | Requires Python 3.10+. The bundled scripts plan networks and parse result JSON with the standard library only. Running a calculation needs openfe 1.12+ installed from conda-forge, docker, or singularity — note that `pip install openfe` fetches an unrelated 0.0.12 placeholder. An NVIDIA GPU is effectively mandatory — a single edge is hours of MD. |
| metadata | {"version":"1.0","skill-author":"K-Dense Inc.","openclaw":{"emoji":"🔥","homepage":"https://openfree.energy"},"hermes":{"category":"research"}} |
Alchemical Free Energy
The rigorous end of affinity prediction. Where a docking score is a heuristic that correlates
weakly with potency, FEP computes a real thermodynamic quantity from statistical mechanics —
including entropy and explicit water — and reaches about 1 kcal/mol RMSE on a congeneric series.
It costs GPU-days for tens of compounds, which places it precisely: immediately before synthesis,
choosing which twenty analogues to make.
Tool: OpenFE 1.12, MIT. pip install openfe fetches an unrelated
0.0.12 placeholder — install from conda-forge, docker, or singularity. An NVIDIA GPU is
effectively mandatory.
Checked against: v1.12, June 2026.
Read references/openfe-setup.md before your first run,
references/network-design.md before committing GPU time, and
references/interpreting-fep.md before quoting a number —
that one is judgement, not syntax.
The two scripts
| Script | Answers |
|---|
fep_network.py | What shape is the network, can it be validated, and what will it cost? |
fep_report.py | Do the results hang together, and what do they say? |
Install the right package
mamba create -n openfe -c conda-forge openfe
PyPI's openfe is a placeholder at version 0.0.12 with no relation to this toolkit. Checked live;
it is the first thing that goes wrong.
A star map cannot be checked
This is the thing to get right. Free energy is a state function, so the sum around any closed
loop must be zero. It never is, and the deviation is a direct measure of the error that assumes
nothing — no experimental data, no reference, no error model.
A star map has no cycles, so it forfeits the only internal validation FEP offers:
python skills/free-energy-perturbation/scripts/fep_network.py plan --ligands a,b,c,d,e --shape star
# 5 ligands, 4 edges, 0 independent cycle(s)
# no cycles: this network has NO internal error check.
# every result is relative to `a`. A bad reference corrupts the whole map.
... --shape cyclic