본문으로 건너뛰기
cccskills
무료GitHub에 공개

free-energy-perturbation

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(6)

  • SKILL.md7.5 KB
  • references/interpreting-fep.md5.5 KB
  • references/network-design.md5.1 KB
  • references/openfe-setup.md5.1 KB
  • scripts/fep_network.py10.2 KB
  • scripts/fep_report.py14.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

ScriptAnswers
fep_network.pyWhat shape is the network, can it be validated, and what will it cost?
fep_report.pyDo 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
# 5 ligands, 8 edges, 4 independent cycle(s)
# 576 GPU-hours at 24 h/edge x 3 repeats

Double the edges buys four independent checks. The count is the circuit rank, edges − nodes + components.

Reading the closure

python skills/free-energy-perturbation/scripts/fep_report.py cycles --results ddg.tsv
cycle             length  closure_kcal  acceptable
a -> b -> c -> a  3       0.5           true

# 1 cycle(s); RMS closure 0.500 kcal/mol, 0 above 1

Edges of +1.0, +1.0, and −1.5 sum to +0.5 instead of zero. That is real error in those three edges, visible with no experimental data at all.

Per-edge uncertainty does not substitute for this. It measures sampling convergence, not whether the force field is right — a tight uncertainty on a wrong number is entirely normal.

A consequence worth internalising: a per-ligand ΔG depends on which path you take from the reference, and paths disagree by exactly the closure error. rank follows one path and says so; use cinnabar for a maximum-likelihood estimate over all paths.

What 1 kcal/mol means

ErrorAffinity factor
0.5 kcal/mol2.3×
1.0 kcal/mol5.4×
1.4 kcal/mol10×

So FEP separates 10 nM from 1 µM reliably, and cannot separate 10 nM from 30 nM. Rank-ordering within that gap over-reads the method. The ~1–1.5 kcal/mol ceiling is the force fields, not the implementation — OpenFE, FEP+, and the rest all land there.

Four ways FEP fails confidently

  1. A different binding mode. FEP assumes both ligands bind the same way. If B flips, the answer is meaningless and nothing in the output says so. The most dangerous failure available.
  2. Protonation state changes. If A and B differ in dominant ionisation at pH 7.4, the transformation is not the one you think. Check pKa first.
  3. Net charge changes. Finite-size electrostatic artefacts needing explicit correction; the least reliable edges in any network. Route around them where possible.
  4. A bad atom mapping. Too many atoms transformed, or a mapping across a ring, makes the alchemical path long and the result wrong rather than imprecise. Look at the mappings before running — the highest-value ten minutes in the workflow.

Chemical similarity beats topology

Topology decides how many checks you get; similarity decides whether an edge converges at all. An edge should change fewer than about ten heavy atoms and should not alter the ring system. Let LOMAP or Konnektor pick the edges, then add cycles to whatever tree they produce.

Three repeats minimum — a single replicate reports only within-run sampling error and understates the real spread.

Where this sits

chemical-space   10^9 compounds   docking score   seconds each
autodock-vina    10^4 compounds   poses           minutes each
FEP              10^1 compounds   ΔΔG             GPU-days each
synthesis        10^1 compounds   real data       weeks each

GPU-days are cheaper than chemist-weeks, which is the entire argument for running it — and the reason running it earlier is a category error.

Composing with the rest of the bundle

  • uniprot-rcsb → before: FEP inherits the binding mode you give it; start from a crystal structure with a ligand from the series.
  • binding-site-analysis → before: confirm the pocket and that the pose is in it.
  • autodock-vina / diffdock → before: narrow hundreds to tens; FEP cannot triage.
  • rowan → before: pKa and tautomers, so the species being perturbed is the right one.
  • pkpd-translation → after: a reliable potency is the input to a dose projection.
  • molecular-dynamics → alongside: pose stability, and whether the protein rearranges.

Reporting results honestly

Give ΔΔG with its uncertainty, the number of repeats, and the cycle-closure RMS. Name the reference and say values are relative to it. When comparing to experiment, say it is offset-corrected, give MUE and a rank correlation, and name the assay. Flag edges that changed net charge. And frame precision truthfully: "0.8 kcal/mol more potent, roughly fourfold, against a method RMSE near 1 kcal/mol" is honest; "4-fold more potent" is not.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

adaptyv

무료

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

Turn a set of structures into absorption, distribution, metabolism, excretion, and toxicity estimates with ADMET-AI, and read them as a developability verdict rather than a table of numbers. Use this skill to run batch prediction over a library, interpret each endpoint against its DrugBank-approved percentile, and flag the liabilities that stop a series — hERG blockade, CYP inhibition, poor Caco-2 permeability, high clearance, and plasma protein binding. Also trigger on ADMET-AI, admet_ai, Chemprop-RDKit, hERG liability, CYP3A4 inhibition, Caco-2, bioavailability prediction, or developability triage.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

Number antibody variable domains, annotate CDRs, and assess developability from sequence. Use this skill to apply IMGT, Kabat, Chothia, Martin, or AHo numbering with ANARCI, delimit CDRs and framework regions, scan for chemical liabilities (N-glycosylation sequons, deamidation NG, isomerisation DG, oxidation, unpaired cysteine, fragmentation), compute pI, net charge, extinction coefficient and hydrophobicity, and plan humanisation by CDR grafting. Also trigger on antibody, nanobody, VHH, scFv, Fab, CDR, framework, ANARCI, abnumber, IgBLAST, OAS, SAbDab, humanization, Vernier residues, or developability.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

Structure-based docking with AutoDock Vina, Vinardo, and AutoDock4 through the Meeko toolchain. Use this skill to define a docking box, prepare receptors and ligands as PDBQT, run single or batch docking, rescore, and interpret affinities, poses, and ligand efficiency. Covers box definition from a reference ligand or pocket residues, protonation and tautomer decisions, flexible side chains, exhaustiveness and seeds, redocking validation, and virtual screening over compound libraries. Also trigger on vina, smina, gnina, mk_prepare_ligand, mk_prepare_receptor, mk_export, scrub.py, PDBQT, autogrid4, docking box, or binding-pose prediction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

Decide whether a protein has a pocket worth targeting, and where it is, before committing to a docking or design campaign. Use this skill to run fpocket cavity detection, rank cavities by druggability and volume, compare apo and holo conformations to spot induced fit, identify allosteric and cryptic cavities that only open in simulation, and convert a chosen cavity into the search box coordinates a docking run needs. Also trigger on fpocket, cavity detection, druggability score, alpha sphere, cryptic pocket, allosteric site, pocket volume, hotspot mapping, or undruggable target assessment.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

boltz

무료

Cofold protein-ligand, protein-protein, and nucleic-acid complexes with Boltz-2, and predict binding affinity with its trained affinity head. Use this skill to build Boltz input YAML, run structure prediction with MSAs, pocket constraints, templates, and modified residues, screen compound libraries by cofolding, and interpret confidence scores (pLDDT, pTM, ipTM, PDE) and affinity output (binder probability and log10 IC50). Also trigger on Boltz, Boltz-1, Boltz-2, cofolding, boltz predict, affinity_pred_value, affinity_probability_binary, ipTM, or open-weights AlphaFold3 alternatives.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

K-Dense-AI/drug-discovery-agent-skills472026년 10월 19일 업데이트

K-Dense-AI의 스킬 모두 보기

이 스킬의 문제 신고