-
Notifications
You must be signed in to change notification settings - Fork 2
Asfe freesolv #134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jaclark5
wants to merge
17
commits into
main
Choose a base branch
from
asfe_freesolv
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Asfe freesolv #134
Changes from 5 commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
9a2bd96
Fix yaml format
0c37375
make unit consistent
0fb28c5
Update metadata prep to detect and add calc mode, library module, alc…
40f4b36
submit asfe submission
d718bdb
Add asfe plotting script
44ade0c
Review comment
jaclark5 ff5a50c
address reviewer comments
77997db
Merge branch 'main' into asfe_freesolv
80d7275
fix asfe plotting scripts
d9480ad
Merge branch 'main' into asfe_freesolv
54ae5a8
Add calculation type
555f253
Update prepare_metadata
76ea7bc
Update computational_results keys
9c10231
Update asfe results
69dcfb2
Update asfe processing
0d20be6
remove legacy reference
032c721
update tags
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Binary file added
BIN
+149 KB
...rks/results/2026-08-06-openff-2.3.0-solvation_set_freesolv/computational_results.json.bz2
Binary file not shown.
73 changes: 73 additions & 0 deletions
73
openfe_benchmarks/results/2026-08-06-openff-2.3.0-solvation_set_freesolv/submission.yaml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| # REQUIRED: unique, kebab-case identifier for this submission | ||
| submission_id: 2026-08-06-openff-2.3.0-solvation_set_freesolv | ||
|
|
||
| # REQUIRED: short descriptive title | ||
| title: OpenFE ASFE - solvation_set - freesolv - 2026-08-06-openff-2.3.0-solvation_set_freesolv | ||
|
|
||
| # REQUIRED: short descriptive summary (1-2 sentences) | ||
| summary: | | ||
| This submission describes the ASFE benchmark covering the solvation_set benchmark set (freesolv) | ||
| prepared with openff-2.3.0/tip3p for solvents and nagl_openff-gnn-am1bcc-1.0.0.pt for solutes and | ||
| cofactors. The archive contains 603 edges across 603 unique solutes and 1 unique solvents. Results | ||
| are derived from archived Alchemiscale workflow data. This is the full freesolv set that is | ||
| parametrizable by OpenFF-2.3.0, submitted before the development of OpenFF subsets. | ||
|
|
||
| # REQUIRED: list of submission tags | ||
| tags: [alchemicalarchive, asfe, freesolv, nagl_openff-gnn-am1bcc-1.0.0.pt, openff-2.3.0, pontibus, solvation_set, tip3p] | ||
|
|
||
| # REQUIRED: calculation type (asfe, rbfe, etc.) | ||
| calculation_type: asfe | ||
|
|
||
| # REQUIRED: list of contributing authors (name, affiliation; ORCID optional) | ||
| authors: | ||
| - name: Jennifer A Clark | ||
|
|
||
| # REQUIRED: publication/submission date (ISO 8601) | ||
| date: 2026-08-06 | ||
| openfe_version: "1.8.0" | ||
| openmm_version: "8.2.0" | ||
| openff_toolkit_version: "0.18" | ||
|
|
||
| forcefield: ["openff-2.3.0", "tip3p"] | ||
|
|
||
| partial_charges: "nagl_openff-gnn-am1bcc-1.0.0.pt" | ||
|
|
||
| ## BenchmarkData Provenance (from openfe-benchmarks planning script) with associated network key | ||
| benchmark_data: | ||
| source_repository: https://github.com/OpenFreeEnergy/openfe-benchmarks | ||
| "solvation_set": | ||
| "freesolv": AlchemicalNetwork-55961080ba1805b112aff83fca84b15f | ||
|
|
||
|
|
||
| # REQUIRED: results file | ||
| results: computational_results.json.bz2 | ||
|
|
||
| # REQUIRED: long-term archive pointer (at least doi or url) | ||
| archive: | ||
| doi: 10.5281/zenodo.21810272 | ||
| archive_provider: zenodo | ||
|
|
||
| # REQUIRED: license for the submission | ||
| license: CC-BY-4.0 | ||
|
|
||
| # RECOMMENDED / OPTIONAL metadata for protocol settings | ||
| protocol_settings: | ||
| - protocol: "ASFEProtocol" | ||
| protocol_library: "pontibus" | ||
| timestep: "4.0 fs" | ||
| temperature: "298.15 K" | ||
| pressure: "1 bar" | ||
| forcefields: ["openff-2.3.0", "tip3p"] | ||
| small_molecule_forcefield: "" | ||
| partial_charges: "nagl_openff-gnn-am1bcc-1.0.0.pt" | ||
| equilibration_time: | ||
| production_time: | ||
| vacuum_equilibration_time: "500.00000000000006 ps" | ||
| vacuum_production_time: "2.0 ns" | ||
| solvent_equilibration_time: "1.0 ns" | ||
| solvent_production_time: "10.0 ns" | ||
| lambda_functions: "" | ||
| lambda_windows: "" | ||
| lambda_schedule: "" | ||
| notes: "Applies to all edges" | ||
|
|
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| """Plot ASFEs, only for cinnabar >= 0.6.1, which is not compatible with current env""" | ||
|
|
||
| import pathlib | ||
| import json | ||
| import bz2 | ||
|
|
||
| from gufe.tokenization import JSON_HANDLER | ||
| from cinnabar import plotting | ||
|
|
||
| from openfe_benchmarks.scripts._results_utils import build_femap_from_absolute_results | ||
|
|
||
| RESULTS_FILE = "../results/2026-08-06-openff-2.3.0-solvation_set_freesolv/computational_results.json.bz2" | ||
| OUTPUT_DIR = "outputs" | ||
|
|
||
|
|
||
| def _load_results(results_file: str) -> dict: | ||
| results_path = pathlib.Path(results_file) | ||
| compressed_path = results_path.with_name(results_path.name + ".bz2") | ||
|
|
||
| if results_path.suffix == ".bz2": | ||
| open_func = bz2.open | ||
| path_to_open = results_path | ||
| elif compressed_path.exists(): | ||
| open_func = bz2.open | ||
| path_to_open = compressed_path | ||
| elif results_path.exists(): | ||
| open_func = open | ||
| path_to_open = results_path | ||
| else: | ||
| raise FileNotFoundError( | ||
| f"Could not find results file: {results_path} or {compressed_path}" | ||
| ) | ||
|
|
||
| with open_func(path_to_open, "rt") as handle: | ||
| return json.load(handle, cls=JSON_HANDLER.decoder) | ||
|
|
||
|
|
||
| def main(): | ||
| """ | ||
| An example script which can load the calculated DG values from ASFE calculations and plot vs experimental solvation data. | ||
|
|
||
| This script creates plots comparing the computed absolute solvation free energies (DG) | ||
| to experimental values for each benchmark system. | ||
| """ | ||
|
|
||
| # load the results file, whether compressed or not | ||
| results = _load_results(RESULTS_FILE) | ||
| if "dg" not in results: | ||
| raise ValueError( | ||
| f"Results file {RESULTS_FILE} does not contain 'dg' values, cannot plot" | ||
| ) | ||
|
|
||
| # build FEMaps and load with experimental data | ||
| femaps_by_system = build_femap_from_absolute_results(results=results["dg"]) | ||
|
|
||
| output_dir = pathlib.Path(OUTPUT_DIR) | ||
| output_dir.mkdir(parents=True, exist_ok=True) | ||
|
|
||
| # for each system plot the ASFE results compared to experimental data | ||
| for (system_group, system_name), femap in femaps_by_system.items(): | ||
| plotting.plot_DGs( | ||
| femap, | ||
| source="Computational", | ||
| title=f"{system_group}-{system_name}", | ||
| figsize=5, | ||
| scatter_kwargs={"s": 20, "marker": "o"}, | ||
| filename=(output_dir / f"{system_group}_{system_name}_DG.png").as_posix(), | ||
| ) | ||
|
|
||
|
|
||
| if __name__ == "__main__": | ||
| main() |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.