Benchmark results - #135
Merged
Merged
Conversation
…hemicalarchive to tags, and improve formatting for ASFEs
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a BenchmarkResults loading/filtering API (including lazy FEMap generation), adds CI-oriented validation helpers for benchmark submissions, and updates generated submission metadata + examples/tests to support the new schema (notably adding calculation_type to submission YAMLs).
Changes:
- Add
openfe_benchmarks.resultsAPI (BenchmarkResults,get_benchmark_results,filter_results) plus FEMap helpers for absolute/relative results. - Add CI-focused validation utilities (
_validation.py) and new pytest coverage for results loading/filtering and CI validation strategy. - Update metadata generation and existing submission YAMLs to include
calculation_type, plus refresh plotting/example scripts and docs notebook.
Reviewed changes
Copilot reviewed 21 out of 26 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| openfe_benchmarks/tests/test_results_validation.py | Adds CI-style validation/performance tests for YAML validation, changed-file detection, and sampling. |
| openfe_benchmarks/tests/test_benchmark_results.py | Adds tests for loading/filtering/FEMap behavior and error handling in the new results API. |
| openfe_benchmarks/scripts/prepare_metadata_submission.py | Updates submission YAML generation (tags, calc type, network mode) and metadata extraction logic. |
| openfe_benchmarks/scripts/_results_utils.py | Adds absolute-results FEMap builder alongside existing relative-results FEMap builder. |
| openfe_benchmarks/scripts/_no_test_example_rbfe_asfe_submission.py | Updates example defaults (notably tags handling) and notes ASFE compatibility. |
| openfe_benchmarks/scripts/_no_test_example_plot_asfe.py | New example showing ASFE plotting via the new results API. |
| openfe_benchmarks/scripts/_no_test_example_mutlinetwork_rbfe_submission.py | Updates example placeholder network keys and tag defaults. |
| openfe_benchmarks/scripts/_example_plot_rbfe.py | Refactors RBFE plotting example to use BenchmarkResults API and lazy FEMaps. |
| openfe_benchmarks/results/2026-08-06-openff-2.3.0-solvation_set_freesolv/submission.yaml | Adds new ASFE submission YAML including calculation_type. |
| openfe_benchmarks/results/2026-08-05-openff3.0.0-alpha1b_tip3p-jacs/submission.yaml | Adds calculation_type: rbfe. |
| openfe_benchmarks/results/2026-08-04-openff3.0.0-alpha1b_opc3-jacs/submission.yaml | Adds calculation_type: rbfe and adjusts tags. |
| openfe_benchmarks/results/2026-06-22-tyk2-alchemicalarchive-test/submission.yaml | Adds calculation_type: rbfe and adjusts tags. |
| openfe_benchmarks/results/2026-03-18-openmm-840-qa-testing/submission.yaml | Adds calculation_type: rbfe. |
| openfe_benchmarks/results/2026-02-12_sage_230_jacs_set/submission.yaml | Adds calculation_type: rbfe. |
| openfe_benchmarks/results/2026_08_05_openff-3.0.0-alpha0_opc3_jacs/submission.yaml | Adds calculation_type: rbfe. |
| openfe_benchmarks/results/2026_08_05_ff14sb_openff-3.0.0-alpha1b_tip3p_jacs_tyk2_thrombin/submission.yaml | Adds calculation_type: rbfe. |
| openfe_benchmarks/results/_validation.py | Adds CI helper functions for fast YAML validation, changed submission detection, and sampling. |
| openfe_benchmarks/results/_benchmark_results.py | Adds BenchmarkResults dataclass, factory loader, filtering, and lazy FEMap properties. |
| openfe_benchmarks/results/init.py | Exposes the new results API via package exports. |
| examples/4_benchmark_result_plot.ipynb | Adds a notebook demonstrating loading, filtering, FEMap generation, and plotting. |
| devtools/conda-envs/environment.yml | Updates environment constraints/comments related to dependencies. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
added 10 commits
August 19, 2026 08:27
jthorton
reviewed
Aug 26, 2026
jthorton
reviewed
Aug 26, 2026
jthorton
reviewed
Aug 26, 2026
jthorton
reviewed
Aug 26, 2026
jthorton
reviewed
Aug 26, 2026
jthorton
reviewed
Aug 26, 2026
Co-authored-by: jaclark5 <jennifer.clark@openforcefield.org>
added 10 commits
August 27, 2026 09:30
jthorton
reviewed
Sep 4, 2026
jthorton
reviewed
Sep 4, 2026
jthorton
reviewed
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close #49
Close #103