-
Notifications
You must be signed in to change notification settings - Fork 85
Reimplement exact PME to use parameter offset in OpenMM 7.3 #380
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
Conversation
Alchemical state now is a GlobalParameterState.
jchodera
left a comment
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.
This looks much cleaner, @andrrizzi!
A few considerations before merging:
- Do we have to add the new classes (such as
state.GlobalParameterFunction) todocs/states.rstfor the API docs to be rendered? - Does the
test_overlap()test pass locally?
|
After this is merged, we should cut 0.17.0! |
|
Quick timing update for c-Met with 133 states (29 different electrostatic discharging states): Old code: New code: Quite impressive! |
I think you're right. I'll add them before merging.
I'll run all the
I'd wait for OpenMM 7.3 release before releasing this feature and test the dev openmmtools in the meantime. I'm back on debugging the NaNs today. Also, I still would like to consider keeping the order of lambda consistent between different models with the addition of a class AlchemicalState:
...
_sqrt_lambda_electrostatics = GlobalParameter('sqrt_lambda_electrostatics', expression='sqrt(lambda_electrostatics)') |
|
I'd work on it on a separate PR in any case. |
|
@andrrizzi : Can this be merged and a new release cut? |
|
I still have to run the full |
|
Thanks for clarifying! |
|
I've run all the tests in |
|
Hooray! |
|
@andrrizzi : Maybe we should change the YANK default for |
This removes the old implementation of exact PME that used
updateParametersInContextin favor of using the parameter offset feature offered in OpenMM 7.3.AlchemicalStatenow is a very short extension ofGlobalParameterStatethat provides a general way to implement composable states controlling global parameters. I've also addedGlobalParameterFunction, which is the general version ofAlchemicalFunction.I've also removed support for Python 2 here.