free-energy — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited free-energy (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Compute ΔG of binding, solvation, or mutation via alchemical transformations — coupling/decoupling atoms along a λ pathway. Gold standard for lead optimization in drug discovery: accuracy ~1 kcal/mol for congeneric series.
| Method | Estimator | Windows | Notes |
|---|---|---|---|
| FEP (Zwanzig) | Exponential avg | Any | High variance; avoid for large ΔG |
| TI | Numerical integration of ⟨∂H/∂λ⟩ | 10-20 | Requires smooth integrand |
| BAR | Bennett Acceptance Ratio | Adjacent pairs | Better than TI for same data |
| MBAR | Multistate BAR | All pairs | Best variance; recommended |
| RBFE | Relative: A→B via alchemical | 12-24 λ | Lead optimization |
| ABFE | Absolute: ligand → unbound | ~20 λ | More expensive, independent |
| System | Typical error | Sim. time per edge |
|---|---|---|
| Congeneric RBFE (neutral) | 0.5-1.5 kcal/mol | 5-10 ns/window |
| RBFE with charge change | 1-3 kcal/mol | 10-20 ns/window |
| ABFE | 1-3 kcal/mol | 20-50 ns/window |
| Solvation ΔG | 0.3-1.0 kcal/mol | 2-5 ns/window |
# pymbar: MBAR from energy matrix (u_kln)
import numpy as np
from pymbar import MBAR
# u_kln[k, l, n] = u_l(x_n^k) / kBT
# k: state from which sample was drawn
# l: state at which energy is evaluated
# n: sample index
K = 12 # number of lambda windows
N_k = np.array([1000] * K) # samples per window
# u_kln shape: (K, K, max(N_k))
mbar = MBAR(u_kln, N_k)
results = mbar.compute_free_energy_differences()
dG = results['Delta_f'][0, -1] # ΔG (kBT units)
ddG = results['dDelta_f'][0, -1] # uncertainty
kBT = 0.5961 # kcal/mol at 298 K
print(f"ΔG = {dG * kBT:.2f} ± {ddG * kBT:.2f} kcal/mol")| Task | Reference |
|---|---|
| FEP/TI/BAR/MBAR theory, thermodynamic cycles, alchemical path | references/fep-theory.md |
| OpenMMTools: AlchemicalFactory, ThermodynamicState, MCMC sampling | references/openmmtools-alchemical.md |
| RBFE protocol: edge network, protein-ligand, results | references/rbfe-protocol.md |
| ABFE: restraints, double-decoupling, standard state correction | references/abfe-protocol.md |
| pymbar, overlap matrix, convergence, uncertainty, phase space | references/pymbar-analysis.md |
| Package | Install | Role |
|---|---|---|
pymbar | pip install pymbar | MBAR/BAR/FEP estimators |
openmmtools | conda install -c conda-forge openmmtools | Alchemical factories, MCMC |
perses | conda install -c conda-forge perses | RBFE pipeline (OpenMM-native) |
openfe | pip install openfe | FE campaign management (Lomap + OpenMM) |
alchemtest | pip install alchemtest | Test datasets for FE code |
lomap2 | pip install lomap2 | Ligand network RBFE planning |
force-fields — system parameterization; OpenFF Sage for ligandsdocking — starting poses for ABFE; initial ranking before FEPmdanalysis — trajectory analysis from FEP runsscientific-skills:rowan — cloud FEP without local HPC~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.