-
Notifications
You must be signed in to change notification settings - Fork 91
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
Port #896 to biopolymer-topology-refactor branch #1198
Port #896 to biopolymer-topology-refactor branch #1198
Conversation
Co-authored-by: SimonBoothroyd <[email protected]>
Codecov Report
|
|
Oh wow, I didn't see that GBSA tests are also failing ... those might take some more thinking. Presumably the switching function isn't applied in the Amber files, but I haven't looked into it nor am I as familiar with that code as others. |
Ohhh darn, I was too hasty. The reference energies thing won't fix these tests. We'll need to update these lines to feed in new cutoff/switching kwargs OpenMM's AmberPrmtopFile.createSystem call |
Well, I tried to thread that through, but ran up against it not being supported and/or valid (I don't yet have the familiarity with GBSA to say which):
More verbose demo here: https://gist.github.com/mattwthompson/77df8268933462d6dcfa100d3bf9f2aa |
Might be an actual bug in OpenMM (openmm/openmm#3488). Whether or not it is, pinning to a yet-to-be-released version of OpenMM is not tenable, so I might have to add some logic to work around this. |
I decided against including every possible safeguards in either the Barring surprise results in CI, these changes to not require updating the (minimal) reference energies in this repo. It's not too surprising, since they only cover systems of singe small molecules. So the behavior is only tested via the unit tests. To get the GBSA tests online, I decided to go with an imperfect but low-friction solution. I simply turned off the switching functions in those tests and only those tests. The failures were due to OpenMM's Now, the only failing tests is our good friend
|
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.
Thanks for the great PR, @mattwthompson. We talked a lot about whether we should raise an error for trying to set a switch_width
for LJPME, but ultimately I don't think it's worth changing the behavior to raise an error or do anything else. With regard to what Interchange should do in that case, let's discuss that in the context of the "interchange as export machinery" project plan and approval.
CI-wise, feel free to ignore the failing OpenEye test - That one's on me. However the failing OpenMM tests on Mac ARE blocking to merging this.
…into port-implement-vdw-switch
This PR ports #896 (by @SimonBoothroyd) to the "refactor" branch according to my proposal here, thereby closing it.
Two modifications include
switch_width
is the difference between the "switching distance" (i.e.setSwitchingDistance
) and cutoff distance. For example, typical values are 9 Angstrom cutoff, 1 Angstrom switch with, and therefore an 8 Angstrom switching distance.InvalidSwitchingDistanceError
) if the switch width is greater than the switch distance, which is not a sensible pairing of parameters.