-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Atomate2 OpenMM integration & broader classical MD framework #782
Merged
Merged
Changes from all commits
Commits
Show all changes
265 commits
Select commit
Hold shift + click to select a range
413c626
Move remaining content from common.py to renamed base.py.
orionarcher 28c3126
Update core.py to contain built out skeleton code for openff_job and …
orionarcher 08329a7
Rename utils and remove tasks.py
orionarcher cf79341
Complete Calculation, CalculationInput, and CalculationOutput schemas…
orionarcher f21a031
Completed initial draft of BaseOpenMMMaker for classical_md.openmm wo…
orionarcher e6b648d
Finished updating core jobs for classical_md.openmm to be compatible …
orionarcher 693ea77
Minor reformat
orionarcher 33b8cda
update base_openmm_maker.py slightly, will soon be removed so irrelevant
orionarcher f67c444
Add TODO item to utils.py
orionarcher 12779f4
Add MoleculeSpec to classical_md.schemas and slightly modify OpenMMTa…
orionarcher a308801
Add new empty test files
orionarcher d255606
Change from_prev_task -> resolve_attr
orionarcher 57a06fb
Add as_dict monkeypatch for openff.Molecule to init
orionarcher a981d5e
Create attribute inheritance logic for base openmm maker and openmm jobs
orionarcher 09156ec
Remove InputMoleculeSpec and transfer functionality to create_mol_spe…
orionarcher 1ddf7c0
Remove InputMoleculeSpec, Geometry, and process mol_specs commented o…
orionarcher b3e83a5
Add testing files, not all used.
orionarcher 6aa4c4b
Add content to partial charge test files.
orionarcher 38bf78a
Change test dir name from openmm -> openmm_md to solve issue with loc…
orionarcher c33a97e
Create testing for utils.py functionality and fix small bug in utils.py.
orionarcher 1e5ad58
Cleanup merge_specs test.
orionarcher b31f940
Add interchange and temporary directory to conftest.py.
orionarcher 6549b02
Add from/as_dict functions for openff topology, interchange, molecule…
orionarcher 17eee5a
Some bug fixes to BaseOpenMMMaker and some changes to allow serializa…
orionarcher d1c8c9b
Change TaskDoc schema such that interchange is dict, in line with pyd…
orionarcher b7d43d6
Make all CalculationInput and CalculationOutput arguments optional. F…
orionarcher 331278d
Add tests for BaseOpenMMMaker.
orionarcher bd1bec1
Add tests for core openmm makers and fix several discovered bugs in c…
orionarcher b851f2e
Formatting change.
orionarcher af8f26b
Add tests for as/from dict monkey patching.
orionarcher 2120d20
Add state/dcd files and create a fixture linking to a directory with …
orionarcher 6cf3f5e
Add test for CalculationOutput.from_directory and fix discovered bugs.
orionarcher 4caa394
Make running jobs a bit cleaner with a fixture.
orionarcher 0639e6e
Make running jobs a bit cleaner with a fixture.
orionarcher 26efe83
Add test for generate_interchange and fix associated bugs.
orionarcher 36b1eae
Add TODO
orionarcher 1bd64a3
Initial implementation of anneal and production workflows.
orionarcher 7a926dc
Delete test_schemas.py
orionarcher 809c9d9
Add a n_prev_steps argument to CalculationOutput.from_directory and m…
orionarcher 9998618
Update resolve_attr logic to also set the attr if it's missing. Neede…
orionarcher 71c74fc
Change run_job fixture to take last job from list.
orionarcher 828f881
Update from monty functions to accept dicts with no @module and @clas…
orionarcher 90225c1
Change test to expect json instead of Interchange.
orionarcher dc7b82a
update calc output from_directory arg to accept n_prev_steps
orionarcher 48b8151
Small change to testing.
orionarcher 527a66e
Modify jobs testing to expect json interchange. Add some testing for …
orionarcher 7120bc0
Add testing for core flows and fix discovered bugs.
orionarcher aa72fcb
Fix small bugs.
orionarcher 4a52e70
Delete all openmm files.
orionarcher 633c214
Clean up import statements.
orionarcher 1513813
Fix subtle bug in resolve_attr logic.
orionarcher 98f7422
Add TODO
orionarcher 5ef9949
Only add reporter if there will be reports.
orionarcher a69ccd3
Fix bug in TempChangeMaker.
orionarcher 4719308
Create and use simpler step division logic.
orionarcher 75a19e6
Make state reporter append to end of state file and update tests and …
orionarcher 0f4b752
Output taskdoc_json file to directory, for easy building later on.
orionarcher 1be2d18
Cleanup.
orionarcher 97bf14f
Improve documentation of all utils.py functions.
orionarcher 450799c
Add documentation for openff_job and generate_interchange.
orionarcher 867f42e
Small change.
orionarcher ad1191a
Enhance documentation for BaseOpenMMMaker.
orionarcher c828dc4
Change all BaseOpenMMMaker methods except run_openmm and make to priv…
orionarcher 4d90259
Add better documentation.
orionarcher dce848f
Some ruff fixes.
orionarcher 9f30c03
Ruff fixes.
orionarcher e1bce61
Ruff fixes.
orionarcher 3654009
Ruff fixes.
orionarcher 7d72163
Ruff fixe jobs.
orionarcher 7bcbc3c
Ruff fix schemas.
orionarcher aedd2b8
Several ruff fixes.
orionarcher a809292
Ruff testing.
orionarcher a7831f0
Fix end of files.
orionarcher 6b20d93
ruff precommit
orionarcher 76f6128
Mypy fixes.
orionarcher 856e994
mypy fixes
orionarcher c656ef3
Add classical_md imports to pyproject.toml.
orionarcher c823b75
Merge remote-tracking branch 'origin/main' into openff
orionarcher dba30d4
Try updating testng to use micromamba.
orionarcher fac9e17
Try updating testing to use micromamba.
orionarcher 07991a7
Small change to micromamba testing.
orionarcher 7130861
Undo testing changes.
orionarcher c90801e
Use micromamba alongside pip.
orionarcher d7a3e7c
Testing fix.
orionarcher 348ea1e
Temporarily limit testing to 3.10+
orionarcher fd804f2
Change lint and docs build back to using pip.
orionarcher 5f2aa1c
Use conda_requirements.txt instead of listing all needed dependencies.
orionarcher 4d8918d
Fix issue with temperature resolving incorrectly.
orionarcher 9672d7c
Install ase from gitlab.
orionarcher de55699
Change all docstrings to numpy format.
orionarcher d8abb6a
Reorder installations.
orionarcher 04f6e4c
Small testing change.
orionarcher 4e45213
Try splitting up testing into two actions.
orionarcher 308a080
Fix small testing oversight.
orionarcher 0c6198c
Switch md testing action to setup-micromamba.
orionarcher 6840bc3
Clean up testing file.
orionarcher 9b269d4
Clean up testing file.
orionarcher 1923918
Clean up testing file.
orionarcher 2799104
Ooops wrong deps file.
orionarcher 6204b8a
Add CodeCov for classical_md tests, rename test_classical_md to test_md.
orionarcher 5861d20
Change name of "steps" arg to "n_steps" in all places.
orionarcher 9be0938
Create arguments for state_file_name and trajectory_file_name.
orionarcher c0f39d4
Change dcd_interval to trajectory_interval.
orionarcher d5963e7
Add support for writing trajectory to HDF5 file.
orionarcher 5fcedd4
Change name of keywords with "trajectory" to use "traj" instead.
orionarcher e77f50c
Change logic DCD to append rather than creating new files, matching h…
orionarcher 92a2d22
Rerun tests.
orionarcher ada709f
Merge remote-tracking branch 'origin/main' into openff
orionarcher e38a983
Add fixtures for salts and charge files
orionarcher 78b75c7
Remove charge files schema from utils
orionarcher caeb9fe
Test interchange build with a salt
orionarcher 5a87998
Fix small charge_method bug.
orionarcher bc55a36
Add test for linked jobs
orionarcher f72c341
Add new utilities for calculating electrolyte composition.
orionarcher 0089d75
Change InputMolSpec.openffmol to a string that is a serialized json o…
orionarcher eb22571
Switch "hdf5" extension to "h5"
orionarcher 89d4228
Update CalculationInput to include all fields in BaseOpenMMMaker
orionarcher 6e85d60
Create rudimentary tutorial
orionarcher 99552bb
Add core jobs, flows, and schemas to __init__.py for easier imports
orionarcher fe5e5c9
Mini tutorial
orionarcher 8ed3ab1
Merge remote-tracking branch 'origin/main' into openff
orionarcher 19df81e
Coerce formal charge to int in molgraph_to_openff_mol
orionarcher e31c36e
Migrate all classical_md schemas to emmet.
orionarcher f5e9870
Push all schemas upstream to emmet.
orionarcher 744b12f
Bump emmet version to 0.82.1
orionarcher ab32d6e
Bump emmet version to 0.82.1 in another place.
orionarcher e73a4ad
Fix classical_md dependencies in pyproject.toml.
orionarcher cbfde60
Replace "_"->"." in output files written to directory>
orionarcher 522d8a8
Add embed_traj argument to base_openmm_maker
orionarcher 880edfc
Rename test files with "." instead of "_"
orionarcher 2fcd02f
Fix MDAReporter to correctly increment file names.
orionarcher d49d261
Add data keyword for interchange and traj blob
orionarcher 16e29e7
Add traj_blob keyword and switch interchange to type HexBytes. Transi…
orionarcher 31e47d4
Add test for blob embedding.
orionarcher 1344a0e
Add optional bytes type to production_maker and anneal_maker make met…
orionarcher 7684ae1
Return Response instead of TaskDoc directly in generate_interchange.
orionarcher d0689c3
Skip HDF5 Test
orionarcher 080dd8c
Bring up to date with several schema changes in emmet.
orionarcher c02136f
Delete test on schema because it was moved to emmet.
orionarcher 92a8766
Merge branch 'refs/heads/openff' into openff_traj
orionarcher 7bb7113
Remove classical md dependencies from pyproject.toml and add to class…
orionarcher f773d3d
Add option to add tags when generating interchange.
orionarcher 5b068e5
Add create_mol_dicts function to make setup easier.
orionarcher 4903362
Make each new job create a new state file.
orionarcher 83b96fe
Move some utils upstream to pymatgen.
orionarcher 1f46762
Update pymatgen version.
orionarcher f02c86d
Update emmet version.
orionarcher f095b9c
Merge branch 'refs/heads/main' into openff_traj
orionarcher cdcc570
fix pyproject.toml
orionarcher cd7aaf4
Allow calculate_elyte_composition to use mass or volume ratios.
orionarcher 4c38236
Move openmm mdanalysis reporter to dependencies in pyproject.toml.
orionarcher 4eaeb87
Add classical_md to test dependencies.
orionarcher 431627a
Add `tags` argument to make method of all makers, allowing metadata t…
orionarcher 0e05502
Reimplement `tags` argument to base makers, allowing metadata to be i…
orionarcher dba553d
Reimplement `tags` argument to base makers, allowing metadata to be i…
orionarcher a57132f
Add basic oplsaa support through the foyer package.
orionarcher 9e298f5
Add documentation for tags to BaseOpenMMMaker.
orionarcher 2758b57
Fill out OpenMM tutorial.
orionarcher 3f6e644
Replace ProductionMaker and AnnealMaker with a single flexible flow m…
orionarcher 2db6eb2
Update tutorial.
orionarcher 087e7dd
Small fix in tutorial
orionarcher 1a17274
Improvements to tutorial.
orionarcher 34a6c68
Finish version 1 of the tutorial.
orionarcher 176383d
Make foyer import optional
orionarcher f669907
Make foyer import optional
orionarcher 0fb6e76
Tutorial update
orionarcher 4ac30bd
Change all testing force methods to mmff94.
orionarcher 268e5ef
Split out mol spec list creation into utility function.
orionarcher c16d98e
Remove support for opls with foyer.
orionarcher 0fc8f38
Small correction to counts calculator test.
orionarcher a4c91b2
Allow reporting of velocities in BaseOpenMMMaker. Also fix incrementi…
orionarcher 686628e
Fix velocity reporting test
orionarcher 321e6c6
Merge branch 'main' into openff
utf 26cbc2e
Update pyproject.toml
utf f72093b
Add in OPLS ligpargen downloading and system setup.
orionarcher 9ca60b3
Add files for ligpargen testing
orionarcher ab8cca4
Update pre-commit
orionarcher eaafef3
Merge remote-tracking branch 'refs/remotes/personal/openff' into openff
orionarcher 33cfce0
Make selenium import optional
orionarcher 6f20859
Manually delete reporters in BaseOpenMMMaker
orionarcher a9b05e8
Fix manual deletion of reporters in BaseOpenMMMaker
orionarcher 3d9dc60
Improve system builder in OPLS utilities
orionarcher 028f6e9
Fix small error when checking for previous task_reports
orionarcher 117da14
OPLS utilities for generating a compatible FauxInterchange object.
orionarcher 4e36e60
Make BaseOpenMMMaker compatible with FauxInterchange and write tests …
orionarcher 719df8b
Replace "smile" with "smiles" everywhere.
orionarcher 007f87e
Remove output_dir from make signature, refactor testing to adjust.
orionarcher e492d4e
Move opls_utils to opls
orionarcher f4bb86f
Fix interchange loading logic if a string is input.
orionarcher 73b609c
Modify load_interchange to undo mangling of Interchange by Fireworks.
orionarcher b3b8e48
Attempt to change testing to micromamba based install.
orionarcher 979480a
Add a skipped fireworks test for local testing.
orionarcher 06fc2a1
Merge branch 'refs/heads/main' into openff
orionarcher 9270b5b
Small change to try to rerun tests
orionarcher 40fe279
Fix typo in testing.yml
orionarcher 1c3b699
run nbstripout with pre-commit
orionarcher 092d701
Standardize micromamba activations
orionarcher c31c04e
Try adding default shell to testing.yml
orionarcher 624aa28
Cleanup micromamba commands in testing.yml and remove tutorial test
orionarcher 7396f37
Undo most of micromamba cleanup but still skip tutorial test
orionarcher 2dffb82
Fix typo and try switching to install with uv
orionarcher c25f31a
Fix typo
orionarcher 31179e5
Add strict dependencies and pin conda dependencies in CI.
orionarcher b216c11
Change FauxInterchange to OpenMMInterchange and swap topology from op…
orionarcher 8e70816
Remove classical_md directory and split openmm and openff into separa…
orionarcher 19df8e6
Remove classical_md directory and split openmm and openff into separa…
orionarcher 33c1bf8
Change references to emmet to reference openmm and openff.
orionarcher e4b8574
Update ignore commands in testing.yml.
orionarcher 13969b2
Merge branch 'refs/heads/main' into openff
orionarcher 95f2fa0
Modify flow to have a final step that collects job uuids.
orionarcher fcab2bd
Make calcs reversed no longer accumulate calculations in base job
orionarcher 4d19c2e
Make final collect jobs in OpenMMFlowMaker optional, modify internal …
orionarcher 2d2c6e7
Update pinned dependencies in CI and remove requirements text file.
orionarcher 7021a41
Write task_doc when collecting jobs in the
orionarcher 09ed550
Merge branch 'refs/heads/main' into openff
orionarcher 9c223ef
Try updating dependency pin.
orionarcher 8f30edb
Ignore the right tests
orionarcher a5617fd
rename internal function and add comments
orionarcher 4ea43ba
Change PDBxFile to PDB
orionarcher 325bcf6
Small refactor of OpenMMFlowMaker
orionarcher cddbd1a
Change prev_task to prev_dir in all locations, some refactoring of Ba…
orionarcher 32c6890
Merge branch 'refs/heads/main' into openff
2d9b257
Change _collect_outputs to collect_outputs
orionarcher 638b65f
Add XMLMoleculeFF class which supports manipulating XML files represe…
orionarcher ecb4067
Create openmm_job and replace openff_job with it
orionarcher 3526e6c
Migrate according to emmet taskdoc adjustment:
orionarcher 074d270
Split utilities and jobs in jobs/opls.py out into separate files.
orionarcher 0d6f55a
Bump documentation and remove jobs/opls.py file
orionarcher 677d8e0
Multiple WIP changes that need to be cleaned up transforming HexBytes…
orionarcher 53db467
Fix partial charge issue with XMLMoleculeFF.
orionarcher 8189a95
Loosen charge checking restriction
orionarcher 1e3f662
Merge branch 'openff_str_blobs' into openff
orionarcher fe9fec6
Fix type hinting on interchange.
orionarcher 7f32d24
Merge branch 'main' into openff
orionarcher 77ba3fa
Lint OpenMM and OpenFF
orionarcher 745f1ff
Incorporate suggestions from utf into pyproject.toml and testing.yml.
orionarcher e2cbe68
Disable failing cclib test.
orionarcher 2fff845
Refactor utilities so that openff is not a dependency for the openmm …
orionarcher 4c2e892
Refactor openmm utilities and generate to isolate openff dependency a…
orionarcher 44d4fd6
Add attempted import for openmmml to enable mace based interchanges a…
orionarcher 2355c5d
Update OpenMM tutorial
orionarcher 54c88c2
Update pyproject.toml and testing.yml
orionarcher 7e9e561
Skip tests that require MDAnalysis 2.8.0
orionarcher 902ff5a
Remove [classical_md] from testing.yml
orionarcher acd5bf1
Respond to minor comments from Janosh
orionarcher 8b45984
Replace temp_dir fixture with tmp_path
orionarcher 58ad842
Rename interchange_meta -> mol_specs
orionarcher a6f965b
Support BaseOpenMMMaker returning structures
orionarcher 1d86910
Fix reading and writing of structure to/from OpenMMTaskDocument
orionarcher d96b3a0
Merge branch 'main' into openff
janosh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@utf i think it could help to have the
micromamba
-dependent MD CI be its own job or even its owntest-md.yml
workflow. that would enable only running the MD tests when any MD source files change and would also uncouple the remaining CI from any install/env issuesmicromamba
might encounterThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be happy with that solution!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using micromamba saves us from manually building enumlib so I favor keeping it in the main CI.