openforcefield / openff-benchmark

Comparison benchmarks between public force fields and Open Force Field Initiative force fields
MIT License
11 stars 2 forks source link

Refactor `openff-benchmark optimize execute` to loop through molecules, then specs #89

Open dotsdl opened 3 years ago

dotsdl commented 3 years ago

Currently in openff-benchmark optimize execute, execution occurs per spec in the specified season, iterating through all selected molecules. This is normally just fine, but if a user wants to re-run only a single spec in a season, the current code will execute all specs in that season for each molecule.

We can avoid this if we iterate at the top level through the molecules, and then for each molecule iterate through the seasons. If results are already present for that molecule and season, execution can skip.

j-wags commented 3 years ago

I can't remember if the optimize execute step creates an error_mols directory, but if it does we should also check that and skip failing molecules.