openfe
Use OpenFE for alchemical free energy setup, network planning, protocol configuration, CLI execution, and result analysis workflows in molecular simulation campaigns.
- License 许可
- MIT
- 最近更新
- 2026-09-03
- Stars
- ★ 351
- Forks
- 27
01 前言 Front Matter
- name
- openfe
- license
- MIT
- metadata
- { "disco-role": "operating" }
- description
- Use OpenFE for alchemical free energy setup, network planning, protocol configuration, CLI execution, and result analysis workflows in molecular simulation campaigns.
- disable-model-invocation
- true
02 资源文件 5
- 参考文档references/installation-and-environment.md3.3 KB
- 参考文档references/repo-provenance.md1.8 KB
- 参考文档references/repo-routing-metadata.json328 B
- 参考文档references/troubleshooting.md3.6 KB
- 脚本scripts/check_openfe_environment.py5.1 KB
03 SKILL.md 正文
OpenFE
Use this repo skill when a task involves OpenFE, Open Free Energy, alchemical free energy calculations, RBFE/RHFE, ABFE/AHFE, SepTop, OpenMM-backed protocol setup, openfe CLI workflows, or post-run OpenFE result analysis.
OpenFE is a Python package and CLI for planning and executing alchemical free energy calculations. Keep future-agent work safe by separating planning, protocol configuration, execution commands, and result interpretation.
Start Here
- Read Repository Provenance before deciding whether this skill matches a current checkout or should be refreshed.
- Read Installation and Environment for public install routes, import checks, Python support, and OpenMM/GPU environment notes.
- Run or adapt check_openfe_environment.py for a safe local diagnostic that does not run simulations.
- Use Troubleshooting for cross-cutting install/import/OpenMM/CUDA/JAX/logging failures.
- Route the actual task to one of the sub-skills below.
Route by Task
- Use network-planning for components, ligand/protein/solvent inputs, atom mapping, ligand networks, RBFE/RHFE planning, mapper/scorer choices, and pre-execution data validation.
- Use protocols for selecting
RelativeHybridTopologyProtocol,AbsoluteBindingProtocol,AbsoluteSolvationProtocol,SepTopProtocol, orPlainMDProtocol; editing settings; understandingTransformation,ProtocolDAG,execute_DAG; and OpenMM backend settings. - Use cli-workflows for
openfecommand routing,plan-rbfe-network,plan-rhfe-network,quickrun,charge-molecules,fetch,test, repeat-safe command generation, resume behavior, and command-line troubleshooting. - Use results-analysis for result JSON decoding,
estimate/uncertainty,ProtocolResultmethods,gather,gather-abfe,gather-septop, repeat folders, TSV interpretation, storage metadata, and partial/failed result diagnosis.
Safe Defaults
- Prefer read-only inspection and command construction before execution.
openfe quickrun, full planning commands, charge generation,fetch, and long tests can create files, download data, or run expensive simulation work. - Use API-side planning for interactive or programmatic workflows; use CLI-side planning when the desired output is a directory of transformation JSONs for
quickrun. - Treat OpenFE components, ligand networks, protocols, transformations, and results as provenance-sensitive objects. Rebuild corrected objects rather than mutating existing ones in place.
- Keep repeat execution paths unique. Reusing the same
quickrunoutput file or work directory across repeats risks overwrite or resume-cache confusion. - Preserve physical units when reporting free energies and uncertainties.
Minimal Checks
After installing OpenFE in a user environment, start with:
python - <<'PY'
import openfe, openfecli
print(openfe.__version__)
print(openfecli.__version__)
PY
openfe --help
For deeper non-mutating checks, run:
python scripts/check_openfe_environment.py --json
Common Handoffs
- Planning produced transformation JSONs and the user wants to run them: go from network-planning to cli-workflows.
- Planning found charged transformations or protocol-repeat concerns: go from network-planning to protocols, then back to cli-workflows for commands.
quickrunfinished or failed and the user has result files: go from cli-workflows to results-analysis.- Gather output looks incomplete: use results-analysis first, then route missing-input or failed-execution causes to cli-workflows or protocols.
What Not to Do
- Do not run simulations, submit scheduler jobs, download tutorial data, or execute long tests just to answer a planning or diagnostic question.
- Do not assume a GPU warning means OpenMM simulation is on CPU; distinguish OpenMM platform settings from JAX/PyMBAR analysis warnings.
- Do not tell users to inspect original repository docs or tests as part of this runtime skill; use the bundled references and scripts here.
04 同仓库更多 Skills
passnet-triton-opt
Make a single PassNet Triton kernel fast AND numerically faithful: performance model (when a replacement can win at all), block/grid/warp tuning, autotune policy, launch overhead, and per-op numeric recipes to pass the dtype baseline tolerances. Use when a pass matches and is correct but speedup below expected, or when correctness fails by small numeric margins.
passnet-solve
END-TO-END playbook for solving one PassNet sample: analyze the computation graphs, decide the optimization strategy (what to fuse, what to replace, what to leave alone), drive the iteration loop, and maximize the sample score. This is the ENTRY skill — invoke it first for any PassNet optimization task; it tells you when to use passnet-pattern-fusion, passnet-triton-opt and passnet-feedback.
passnet-skill
PassNet GPU kernel optimization via compiler passes. Design and implement Triton-based optimization passes, create pass files under ./pass_dir/, self-evaluate with pass_evaluator, and iterate to maximize GPU speedup.
passnet-pattern-fusion
Author PassNet pass files: write patterns that actually MATCH the FX graph, pick fusion regions (which ops to absorb into one Triton kernel), and structure multi-pass submissions with the mandatory shared-dispatch architecture. Use when creating or fixing pattern()/replacement_args()/replacement_func() files, when a pass "failed to match", or when deciding how to fuse multiple kernels/ops.
passnet-orchestrate
Round/batch planning and decision support for PassNet graph optimization. Use for multi-sample triage, worker allocation, eval-budget policy, and post-eval keep/revert decisions. For solving one concrete sample end to end, use passnet-solve as the entry skill; consult this skill only when you need broader planning or a specific decision gate.
passnet-feedback
Fast, deterministic feedback for PassNet work: pre-flight pattern/match verification WITHOUT burning a GPU evaluation, per-node bottleneck analysis of a sample's graphs, and eval-log parsing into per-variant status + estimated score + failure classification. Use BEFORE every GPU evaluation (check_pattern), at the START of a sample (analyze_graph), and AFTER every evaluation (parse_eval_log).