-
Notifications
You must be signed in to change notification settings - Fork 21
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
Absolute solvation free energies + base things for ABFEs #573
Merged
Merged
Changes from all commits
Commits
Show all changes
85 commits
Select commit
Hold shift + click to select a range
744121e
first pass at some draft code
IAlibay 4889a84
Avoid numpy 1.24 issues for now
IAlibay b4cd06c
various fixes
IAlibay f59d011
more tests
IAlibay af91563
somewhere along the way
IAlibay ccfa700
Merge branch 'main' into ahfe-start
IAlibay 71fe845
Working AFE protocol
IAlibay 5fba962
Merge branch 'main' into ahfe-start
IAlibay a1fa702
fix mypy issues + start settings tests
IAlibay dc807cf
actually include mypy fixes
IAlibay d2af3a0
Does mypy like this?
IAlibay e2aced0
a few more tests
IAlibay 45c82db
some setting changes
IAlibay c8d9986
more tests
IAlibay aed8a5a
update tests, and default settings
IAlibay 8a502e7
Add no cover for extends branch
IAlibay 9b06724
add gather and tagging from rbfe tests
IAlibay a965cde
More tests + some docs
IAlibay 9e9255b
fix mc steps check
IAlibay f874064
clean up tests
IAlibay 97e38ca
Add docs
IAlibay 90db395
add some titles, see what sticks
IAlibay 2f1f75f
Add protocols to toctree
IAlibay 0066b12
add autodoc_pydantic deps and complete solvation free energy docs
IAlibay bed6d65
update environment
IAlibay 4d4e65f
clashing installs?
IAlibay f6fcb3c
Merge branch 'main' into ahfe-start
IAlibay 17708f7
Update conf.py
IAlibay c07c313
Add todo extension
IAlibay da2a054
Merge branch 'main' into ahfe-start
IAlibay 50099a6
Update conf.py
IAlibay 6ef216a
Merge branch 'main' into ahfe-start
IAlibay 05a4174
Merge branch 'main' into ahfe-start
IAlibay 54d7cf0
don't cover non-dry run
IAlibay 686b658
Merge branch 'main' into ahfe-start
IAlibay bf1e700
Centralize settings
IAlibay 98c3e67
continue refactor
IAlibay 7d21932
base class refactor
IAlibay d0bdae5
partial changes - just so I can keep working from laptop
IAlibay af3b60f
some more interim changes
IAlibay 8ef667f
Merge branch 'main' into ahfe-start
IAlibay 12792e9
towards refactor
IAlibay a624477
more refactoring
IAlibay c0e1c57
Merge branch 'main' into ahfe-refactor
IAlibay f342a75
more refactor
IAlibay 53cafc6
Various fixes
IAlibay fbe89a4
more changes
IAlibay b587d36
Add estimate return
IAlibay 7142c7f
fix up tests
IAlibay 4f1431c
couple of fixes
IAlibay f50ffe6
fix gather issues
IAlibay 7316543
try to fix the docs
IAlibay 67d9556
fix mypy complaint
IAlibay 7097683
avoid using todo extensions for now
IAlibay 77e67d9
Merge branch 'main' into ahfe-refactor
IAlibay ae4c0c5
towards all the results
IAlibay 5160063
noindex on settings
IAlibay a920ddf
remove redundant settings test file
IAlibay f819573
fix pep8 issues
IAlibay 7d554ac
fix typing issues
IAlibay 34d533e
fix solvent->vacuum typo
IAlibay 35b7735
Add solvation_afe to doc index
IAlibay 0dea343
Make it so that gas phase is only stateA alchemical components
IAlibay 192a35d
Add tokenization tests
IAlibay 966de42
Add tokenization tests
IAlibay 1c2cbff
simplify getting alchemical atom ids
IAlibay c6af8af
remove bad func pattern
IAlibay 0404be7
cleanup comments
IAlibay 49b6842
Merge branch 'main' into ahfe-refactor
IAlibay 1aac5ec
Use abstractmethod instead of NotImplemented
IAlibay 03aeaa1
Fixing up some docstrings
IAlibay 85eee9b
Updates docs ready for PR 570
IAlibay c50bf90
Add in the remaining protocol unit result methods
IAlibay 32af083
Fix typo
IAlibay 91d32b9
bad indentation
IAlibay b6da3f1
fix mypy issues
IAlibay e1b44e5
first stab at results testing for solvation afe
IAlibay 2523e6a
properly test reading results
IAlibay 00a46d5
some docstring fixes
IAlibay 1f9853a
fixup type ignore comment
IAlibay 4ff4872
add results tokenization test
IAlibay f938430
cleanup docstring
IAlibay ebfa4fd
remove temp comments
IAlibay 694e421
fixup docstring
IAlibay 6231c00
Fix up naming of ProtocolUnit to something more unique + shorter
IAlibay 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -161,5 +161,8 @@ cython_debug/ | |
# vim | ||
*.swp | ||
|
||
# vscode | ||
.vscode/ | ||
|
||
# Example notebooks | ||
docs/ExampleNotebooks/ | ||
docs/ExampleNotebooks/ |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
OpenMM Absolute Solvation Free Energy Protocol | ||
============================================== | ||
|
||
This section provides details about the OpenMM Absolute Solvation Free Energy Protocol | ||
implemented in OpenFE. | ||
|
||
Protocol API specification | ||
-------------------------- | ||
|
||
.. module:: openfe.protocols.openmm_afe.equil_solvation_afe_method | ||
|
||
.. autosummary:: | ||
:nosignatures: | ||
:toctree: generated/ | ||
|
||
AbsoluteSolvationProtocol | ||
AbsoluteSolvationProtocolResult | ||
|
||
Protocol Settings | ||
----------------- | ||
|
||
|
||
Below are the settings which can be tweaked in the protocol. The default settings (accessed using :meth:`AbsoluteSolvationProtocol.default_settings`) will automatically populate settings which we have found to be useful for running solvation free energy calculations. There will however be some cases (such as when calculating difficult to converge systems) where you will need to tweak some of the following settings. | ||
|
||
.. autopydantic_model:: AbsoluteSolvationSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:exclude-members: get_defaults | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. module:: openfe.protocols.openmm_afe.equil_afe_settings | ||
|
||
.. autopydantic_model:: OpenMMSystemGeneratorFFSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: ThermoSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: AlchemicalSamplerSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: AlchemicalSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: OpenMMEngineSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: IntegratorSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: SimulationSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: SolvationSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: | ||
|
||
.. autopydantic_model:: SystemSettings | ||
:model-show-json: False | ||
:model-show-field-summary: False | ||
:model-show-config-member: False | ||
:model-show-config-summary: False | ||
:model-show-validator-members: False | ||
:model-show-validator-summary: False | ||
:field-list-validators: False | ||
:inherited-members: SettingsBaseModel | ||
:member-order: bysource | ||
:noindex: |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# This code is part of OpenFE and is licensed under the MIT license. | ||
# For details, see https://github.com/OpenFreeEnergy/openfe | ||
""" | ||
Run absolute free energy calculations using OpenMM and OpenMMTools. | ||
|
||
""" | ||
|
||
from .equil_solvation_afe_method import ( | ||
AbsoluteSolvationProtocol, | ||
AbsoluteSolvationSettings, | ||
AbsoluteSolvationProtocolResult, | ||
AbsoluteSolvationVacuumUnit, | ||
AbsoluteSolvationSolventUnit, | ||
) | ||
|
||
__all__ = [ | ||
"AbsoluteSolvationProtocol", | ||
"AbsoluteSolvationSettings", | ||
"AbsoluteSolvationProtocolResult", | ||
"AbsoluteVacuumUnit", | ||
"AbsoluteSolventUnit", | ||
] |
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.
It might be worth figuring out if we're documenting things in the rst or the py files. e.g. see #570 which I think leans heavily in favour of the rst just being stubs
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.
:/ that PR does a lot of changes, we probably should merge it first and then fix things here? (or the inverse)