Retrieving results
The current status of a bespoke fit can be retrieved from a bespoke executor in two ways: from the command line interface
openff-bespoke executor retrieve --id "1" \
--output "output.json" \
--force-field "bespoke-ff.offxml"
Warning
A force field file will only be saved if the fit has successfully finished.
or using the Python API
from openff.bespokefit.executor import BespokeExecutor
output = BespokeExecutor.retrieve(optimization_id="1")
In both cases the output will be stored in a BespokeExecutorOutput
class. When using the command
line interace, the output is saved to a JSON file that can easily be loaded back into a Python:
from openff.bespokefit.executor import BespokeExecutorOutput
output = BespokeExecutorOutput.parse_file("output.json")
The class has several attributes that contain information about the ongoing (or potentially finished) bespoke fit, including the current status
print(output.status)
any error message that was raised during the fit
print(output.error)
and the final bespoke force field if the fit has finished
force_field = output.bespoke_force_field
If the bespoke_force_field
returned is None
, it is likely that either the fit is still running
or an error was raised. You should consult the status
and error
fields for extra details in this
case.
Combining force fields
Once a set of bespoke fit optimizations have completed you may want to create a single bespoke force field that can be applied to this set of molecules, this maybe useful for example when studying a congeneric series using relative free energy calculations. A single force field can be created from a mix of multiple local files and task ids from the command line interface
openff-bespoke combine --output "my_forcefield.offxml" \
--ff "bespoke-ff.offxml" \
--id "2"