Skip to content
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

[DNM] Pinning ambertools version to <= 22 #289

Closed
wants to merge 9 commits into from
Closed

Conversation

ijpulidos
Copy link
Collaborator

Ambertools 23 changed the behavior and it is causing failures with our tests. This pins the version for now so we can get a release while we find a solution for #280

Resolves #286

@ijpulidos ijpulidos added this to the 0.11.3 milestone Jul 11, 2023
@ijpulidos
Copy link
Collaborator Author

I'll also be dropping testing with python 3.8 in our CI in this same PR.

@mattwthompson
Copy link
Collaborator

This failure

FAILED openmmforcefields/tests/test_template_generators.py::TestSMIRNOFFTemplateGenerator::test_energies - ValueError: Can't find specified SMIRNOFF force field (opc3) in install paths

stems from OPC being shipped by openff-forcefields. You can cherry-pick a band-aid from here: 4d7c50f or just leave it for #287

devtools/conda-envs/test_env.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Show resolved Hide resolved
@ijpulidos
Copy link
Collaborator Author

@mattwthompson Thanks! I think resolving #287 before any other PR makes sense, unless folks have some objection about it.

Any ideas about this one https://github.com/openmm/openmmforcefields/actions/runs/5524287757/jobs/10076389477#step:9:752 ? I'm clueless about that one

@mattwthompson
Copy link
Collaborator

Any ideas about this one

The error is confusing, but it's actually the same issue as when water models are included in SMIRNOFFTemplateGenerator.INSTALLED_FORCEFIELDS or whatever that variable is called. The water models don't include AM1-BCC, just library charges for water, so the simplest of molecules fail charge assignment. The error is not useful (there should be a way to capture which force field failed and bubble that up, I just haven't done the work) and I think it might have been @mikemhenry who did the detective work somewhere else in this repo a few months ago.

@ijpulidos
Copy link
Collaborator Author

@mattwthompson As far as I can tell it's happening with the opc3 force field and the C=O molecule, as per https://github.com/openmm/openmmforcefields/actions/runs/5524287757/jobs/10076389477#step:9:601

@ijpulidos
Copy link
Collaborator Author

So I guess it doesn't make sense to parametrize a non-water molecule with the opc3 force field.

@mikemhenry
Copy link
Collaborator

mikemhenry commented Jul 11, 2023

#273 Hmmm that's I think where I noticed it first, trying to remember what I thought that was....

@mattwthompson
Copy link
Collaborator

Right - I'm suggesting that openmmforcefields does not include water models in its list of small molecule force fields at all. Probably having an allow list with openff-[0-9].[0-9].[0-9].offxml type of regex would be a safer approach when collecting force fields

@mikemhenry
Copy link
Collaborator

Okay that isn't a bad idea, but will there be an issue if a user supplies their own SMIRNOFF xml (from like bespoke fit)?

@mattwthompson
Copy link
Collaborator

That's fair - #288 would be a workaround but not the most elegant choice. You could instead just filter out OPC/TIP4P/etc. in the test, since I think it just naively runs through all available force fields whether or not it makes sense to try them on a molecule. That would prevent restrictions on what gets fed through the get_available_force_fields machinery.

If a user submits a bug report that TIP4P isn't parametrizing aspirin, I think we'd close that hypothetical issue as invalid, after all.

Anyway, you'll probably just want to go for whatever gets CI passing again and most promptly, and I'll update #287 accordingly.

@mikemhenry
Copy link
Collaborator

Ah I misunderstood the issue, @ijpulidos yes feel free to just setup some logic to skip for this test (I thought that work around would affect the get_available_force_fields machinery) and we could clean up the logic of get_available_force_fields in a different PR

@ijpulidos
Copy link
Collaborator Author

This one is superseded by #290 , I'm going to have this for testing purposes for now.

@ijpulidos ijpulidos changed the title Pinning ambertools version to <= 22 [DNM] Pinning ambertools version to <= 22 Jul 14, 2023
@mikemhenry
Copy link
Collaborator

Superseded by #290

@mikemhenry mikemhenry closed this Jul 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pin to ambertools <= 22 until we can sort out changes to GAFF2 behavior
3 participants