Open dotsdl opened 3 years ago
@jthorton I think I could use your eyes here. When I run the ad-hoc tests above I get:
$ openff-benchmark torsiondrive execute-one-shot --dihedral 2 0 1 5 -s "1:1" -t 6 -m 4 --grid-spacing 15 ethane.sdf
/home/david/.conda/envs/openff-benchmark-torsiondrive/lib/python3.7/site-packages/sqlalchemy/sql/coercions.py:308: SAWarning: implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.
"implicitly coercing SELECT object to scalar subquery; "
Processing spec: 'b3lyp-d3bj/dzvp'
1 initial tasks pushed to opt_queue
- - - - - - - - - - - - - - - - - - - - - - - +
... '180'
1 initial tasks pushed to opt_queue
- - - - - - - - - - - - - - - - - - - - - - - +
First energy for grid_id (180,) = -79.8440937933398
+ - - - - - - - - - - - - - - - - - - - - - + o
... '-165'
... '165'
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (-165,)
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (165,)
1 initial tasks pushed to opt_queue
- - - - - - - - - - - - - - - - - - - - - - - +
First energy for grid_id (180,) = -79.8440937933398
+ - - - - - - - - - - - - - - - - - - - - - + o
... '-165'
... '165'
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (-165,)
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (-165,)
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (165,)
Warning! dihedral values inconsistent with target grid_id
dihedral_values [-179.99483947] ref_grid_id (165,)
1 initial tasks pushed to opt_queue
- - - - - - - - - - - - - - - - - - - - - - - +
First energy for grid_id (180,) = -79.8440937933398
+ - - - - - - - - - - - - - - - - - - - - - + o
... '-165'
... '165'
I suspect somewhere in either td_api.next_jobs_from_state
or td_api.update_state
we aren't getting geometries generated properly for the next iteration. Or could it be something with the starting molecule?
Basic functionality appears in place. Adding unit tests, then iterating on interface for usability. We are aiming to accommodate both season-based and custom compute spec execution, not necessarily via the exact same subcommand.
great work so far, I would be careful with the torsiondrive options see here for our current production defaults https://github.com/openforcefield/openff-qcsubmit/blob/45e716e3cc70ee05614fbe951c627efc6d9eec84/openff/qcsubmit/datasets/datasets.py#L1534
From @jthorton:
AttributeError: 'FailedOperation' object has no attribute 'initial_molecule'
This error is to do with the return type from qcengine, if the task fails it returns a FailedOperation rather than an OptimisationResult so the attributes are missing, I think we just need a path which checks the output from the grid point task and if it fails either tries again or rasies some better error.
Pushed latest changes. Known broken things:
program
, method
, basis
are added to the CLI entrypoint for openff-benchmark torsiondrive execute-single
, but their usage is not implemented internally yet.@ldamore please use this implementation as the starting point for your work on openforcefield/openff-gopt#2. You can cut out the seasons usage in that implementation, simplifying it down. I will help you with feedback as much as I can.
Description
Single-molecule torsiondrive executor entrypoint for
openff-benchmark
.Not working yet; getting hangs on the first cycle for driving ethane in ad-hoc tests.
Instructions for ad-hoc tests
data
directory; run torsiondrive executor on ethane:openff-benchmark torsiondrive execute-single --dihedral 3 1 2 6 --program torchani --method ani2x -t 8 -m 8 --grid-spacing 15 -o ethane-ani2x ethane.sdf
git clone git@github.com:dotsdl/torsiondrive.git cd torsiondrive git checkout support--180
conda activate openff-benchmark-torsiondrive conda remove --force torsiondrive pip install -e .