Input files and scripts for benchmarking OpenFF force fields with yammbs
Note: as running benchmarks in CI uses paid AWS images, please ensure you have discussed your projects and plans with a member of the OpenFF leadership team before you open a pull request.
-
Create a new branch starting from the
main
branch. -
Create a new entry in the
submissions
directory, with the general formatYYYY-MM-DD-Name
. For example:mkdir submissions/$(date +%Y-%m-%d)-Sage-2.1.0
-
Add a YAML input file named
input.yaml
in this directory specifying the force field and datasets to use for the run.All paths in the file must be relative to the root of the repository.
Currently only single datasets are supported. Currently only cached datasets are supported.
If using a new force field file (as in the below example) commit that file to the branch.
forcefield: submissions/2025-10-31-Spooky-FF-v3/spooky-ff-v3.offxml datasets: - datasets/OpenFF-Industry-Benchmark-Season-1-v1.1/cache.json
Force fields can also correspond to built-in force fields recognized by the toolkit, for example:
For example:
forcefield: openff-2.1.0.offxml datasets: - datasets/OpenFF-Industry-Benchmark-Season-1-v1.1/cache.json
-
Push your branch and open a PR.
-
Request a review, and get the PR approved.
-
Make a comment of the form
/run-optimization-benchmarks path/to/submission/input.yaml [conda-env.yaml]
or/run-torsion-benchmarks path/to-submission/input.yaml [conda-env.yaml]
on the PR. The brackets indicate an optional argument. If the path to the conda environment is omitted, the default environment will be used (devtools/env.yaml). -
Wait for the benchmarks to finish.
-
Review the results, and update your submission with a README containing a link to the Zenodo archive created by CI.
- An OpenFF admin (probably your PR reviewer) will need to manually publish the Zenodo entry before you can do this.
-
Merge your PR!
This will produce CSV files corresponding to the DDE, RMSD, TFD, and internal-coordinate RMSD (ICRMSD) metrics computed by yammbs.
Running from forks is not supported. To gain access to push directly, contact @mattwthompson.