-
Notifications
You must be signed in to change notification settings - Fork 93
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
Add simpler version of parameter swapping example notebook that uses openmm-forcefields #486
Conversation
This looks like a valuable example. Initially I misread this as saying it was going to replace the other example, so I was going to argue that was a bad idea -- but it looks like this just adds an additional example, and it's a valuable one. |
We can always consolidate later, but for now, deployment of openmm-forcefields requires a couple of extra human steps. |
Now that the PDB files have been fixed by MobleyLab/benchmarksets#71, I have completed this notebook example. You can view the notebook here. |
Phew! Looks like I fixed the tests, @j-wags. |
@j-wags : Weird, the openeye travis tests are failing: Any ideas what might be going on? |
Oh, this is because I foolishly installed |
OK, I'm stumped now. |
Hm, this may be something deeper. I'll take a look at this today (for real this time) |
It looks like an old commit from November got caught up in this branch, introducing a SMILES roundtrip test. That was failing because our test dataset (some subset of DrugBank) has a couple weird 3D strictures that don't define some stereocenters. Other tests had encountered this problem and had sets of known "stereochemically bad" molecules. I've consolidated all of these "stereochemically bad" molecules for each toolkit into one place and added logic to prevent these from causing failures in the SMILES roundtrip test. I'm also now running the SMILES roundtrip tests forcing the use of each toolkit (so, it runs the test set once with RDKit and then again with OETK). I'm hoping that this will get tests passing. I'll review the notebook in here tomorrow morning. |
@j-wags: Just a reminder that this still needs to be merged. |
@jchodera I think the notebook itself is in OK shape to merge, but this will fail on any computer without the OpenMM patch. That seems pretty bad, since the average user won't know to look in our |
@jthorton and I found that this patch actually breaks conda, since the OpenMM installation is common to several environments, so conda raises a |
Note that the conda install --yes -c omnia-dev openmm In fact, you don't need the patch as long as you're only using GAFF, so we could just test this notebook only on a travis branch that uses We have the SMIRNOFF torsion support in the release roadmap for OpenMM 7.5.0, which we're hoping to release shortly. |
@j-wags : What should we do to clean this up and get it merged? The example will still work with the |
Hm, so the solutions I can think of here are either: 1, the current solution) we apply a patch in testing that doesn't reflect any Manually applying the patch (option 1) is risky -- Josh and I naively applied the patch to our dev environments, and it borked several conda environments and took us a while to figure out what had happened, so that leaves a bad taste in my mouth. I don't think we need to move heaven and earth for this PR, since OMM 7.5 will be out in a few weeks, and my plate is full with high-demand PRs like #281, #471, and WBO torsions (not begun), all of which were due today. So options 2 and 3 are probably not appropriate, unless we anticipate needing bleeding-edge features from OMM regularly. If that is the case, adding a nightly build matrix is a moderate-effort development, and it should be prioritized against other developments, especially since it's nontrivial to understand what to do with a PR if it passes tests based on nightly builds but fails on stable, or vice versa. If this needs to be merged before the OMM 7.5 release, option 4 (just merge but exclude from tests) seems like the best option . But otherwise option 5 (wait for OMM 7.5) is by far the simplest. |
@j-wags : OpenMM 7.4.2 is out now, so this can be updated and merged. We may want to just eliminate the old, complicated example and just use the |
… openmm-forcefields-example
Ahhh, ok. This test failure just "clicked" for me. In the 0.6.0 OpenFF toolkit,
The 0.7.0 release will have the machinery to tell the difference. Files which don't have partial charges defined are loaded with Unfortunately, To fix, I'll:
We can roll back 2) next time there's a release of openmmforcefields that includes the PR from 1). |
Should it? If it should, I can cut a new release today if you open an issue and mark it as urgent! |
Opening a openmmforcefields PR shortly with a patch. Right now I don't think there are many ways to create a molecule with |
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.
Awesome. Merging!
Thanks! |
Also, once we address #488, this won't be an issue! |
This PR adds a much simpler, alternative version of the parameter swapping example that uses the
openmm-forcefields
package, which provides SMIRNOFF support for OpenMMForceField
via aSMIRNOFFTemplateGenerator
.However, this won’t work until we have fixed this issue with the BRD4 complex PDB files lacking CONECT records:
MobleyLab/benchmarksets#70