Conversation
for more information, see https://pre-commit.ci
* add easy way to create new substances * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* add new conditions and tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* add nobatch * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.10.0 → 25.1.0](psf/black@24.10.0...25.1.0) - [github.com/PyCQA/isort: 5.13.2 → 6.0.0](PyCQA/isort@5.13.2...6.0.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* add failing test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add __init__ method --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Automatically strip out `openmm.CMMotionRemover` force internally * More consistently strip force
* add nobatch * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add fix * add helper test functions * add test data * Revert "add fix" This reverts commit 3d9f043. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Revert "Revert "add fix"" This reverts commit 79a8bea. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Matthew W. Thompson <mattwthompson@protonmail.com>
for more information, see https://pre-commit.ci
Codecov ReportAll modified and coverable lines are covered by tests ✅
🚀 New features to boost your workflow:
|
|
Installing a new dev environment from the conda env file caused an equilibration on Slurm to hang for me. Changing the below helped:
I'm not sure which one of these resulted in the fix; maybe charge assignment was hanging? Just a note to self in case this should be looked into. |
| if isinstance(data_object.force_field_id, PlaceholderValue): | ||
| data_object.force_field_id = batch.force_field_id | ||
| if isinstance(data_object.source_calculation_id, PlaceholderValue): | ||
| data_object.source_calculation_id = batch.id | ||
| data_object.calculation_layer = layer_name |
There was a problem hiding this comment.
This has effects for previously stored simulation data, although hopefully not large ones.
| if returned_output.physical_property == UNDEFINED: | ||
| if ( | ||
| returned_output.physical_property == UNDEFINED | ||
| or returned_output.physical_property.value == UNDEFINED |
There was a problem hiding this comment.
I'm actually not sure the first condition in this if statement (the one originally present) would have ever triggered; for an empty result, it's the .value that's UNDEFINED. Nevertheless could have unforeseen effects
| if workflow_result.value != UNDEFINED: | ||
| physical_property.value = workflow_result.value.value | ||
| physical_property.uncertainty = workflow_result.value.error | ||
|
|
||
| if len(workflow_result.gradients) > 0: | ||
| physical_property.gradients = workflow_result.gradients | ||
| else: | ||
| physical_property.value = UNDEFINED | ||
| physical_property.uncertainty = UNDEFINED |
There was a problem hiding this comment.
Uh, I think this was a real bug where physical properties that couldn't be computed would just run into an error here.
| @@ -60,7 +64,11 @@ def validate(self, attribute_type=None): | |||
| assert all(isinstance(x, EvaluatorException) for x in self.exceptions) | |||
|
|
|||
|
|
|||
| class CalculationLayerSchema(AttributeClass): | |||
| class BaseCalculationLayerSchema(AttributeClass): | |||
There was a problem hiding this comment.
I added a few base classes... I think this was early on and the code may have actually evolved to never use these, but it seems useful to have a base "this is Evaluator" flag that doesn't contain actual code.
| return return_object | ||
| # EquilibrationDataExistsException actually represents | ||
| # a "successful" short-circuit | ||
| if "EquilibrationDataExistsException" not in str(protocol_results): |
There was a problem hiding this comment.
This is somewhat hacky but specific enough that it shouldn't be raised in the general case.
|
|
||
| # TODO: should this be hardcoded? | ||
| # TODO: it is hardcoded in protocols already | ||
| if key == "component_data": |
There was a problem hiding this comment.
See todos -- not sure this should be hardcoded, but it is in the protocols already (and for the existing reweighting layer too)
|
There's a lot of test files here, we should maybe re-visit tarballing files and I should have a look at what should be removed? I was a bit 50/50 on how useful these were as a record of "this is what you can expect during a run" vs whether all these files should be cluttering up the repo. I think most of the files necessary are just the jsons and maybe pdbs and xmls. |
mattwthompson
left a comment
There was a problem hiding this comment.
We agreed on the path forward
- Merge this approximately as-is (@lilyminium gets to press the button!)
- Lily has a follow-up PR soon in the works
- Tag a beta release
- Run some re-fit(s)
- (somewhat ambiguously) go from there
|
Oh, and leaving test files as-is but (later) looking into zipping them |
|
Thanks for the review and summary @mattwthompson! I'll merge into main and build off it for the next PR. |
Description
Fixes #607
Fixes #616
Fixes #609
This peels off code from #603.
It relies on additions in #602 and #606 to work.
Adds:
To do: