Skip to content

Fix ThermoML parsing#756

Merged
lilyminium merged 9 commits into
mainfrom
fix-thermoml-parsing
Mar 27, 2026
Merged

Fix ThermoML parsing#756
lilyminium merged 9 commits into
mainfrom
fix-thermoml-parsing

Conversation

@lilyminium
Copy link
Copy Markdown
Contributor

@lilyminium lilyminium commented Mar 23, 2026

Actually relates to this dimsim issue (openforcefield/dimsim#53) but it's a shared issue as the ThermoML code was simply ported.

Edit: I messed up and rebased this off of #754 by accident, sorry

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 23, 2026

Codecov Report

❌ Patch coverage is 80.48780% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.28%. Comparing base (8406372) to head (f0b293d).
⚠️ Report is 2 commits behind head on main.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lilyminium
Copy link
Copy Markdown
Contributor Author

lilyminium commented Mar 23, 2026

Well, the test errors here actually suggest I should have been blaming OpenEye, not RDKit, oops.

Edit: I take it back -- I put in the oechem skip condition for the fix and then immediately forgot about it. It's RDKit!

@lilyminium lilyminium force-pushed the fix-thermoml-parsing branch from 62bbe3f to 84084ff Compare March 24, 2026 02:38
@lilyminium lilyminium marked this pull request as ready for review March 24, 2026 02:45
Copy link
Copy Markdown
Member

@mattwthompson mattwthompson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good but I found two one thing] I would like another look at; neither call for re-review if the outcomes are as expected

  1. A blocking comment in the code about behavior when RDKit is not installed which can be resolved by you agreeing it's an okay and intentional change. No need to re-review just for that
  2. Triggering the failing test (#757), i.e. that check failing as expected -- now resolved: test failing/skipped as expected: https://github.com/openforcefield/openff-evaluator/actions/runs/23498429535/job/68386169870?pr=757

Comment thread openff/evaluator/data/test/properties/pyrrolidinone.xml
Comment thread openff/evaluator/datasets/thermoml/thermoml.py
Comment thread openff/evaluator/datasets/thermoml/thermoml.py
Comment thread openff/evaluator/datasets/thermoml/thermoml.py Outdated
Comment thread openff/evaluator/datasets/thermoml/thermoml.py
Comment on lines +435 to +436
except (LicenseError, InvalidIUPACNameError, Exception):
pass # Fall through to original behaviour below
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This block isn't hit by code coverage, which from my reading of the test is because the new, correct behavior requires OpenEye. I think this is okay in the current context of all relevant stakeholders having access to a license, but we should document that this case is bad without an OpenEye license

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It now raises a warning if openeye isn't available.

to the same string for both tautomers; the common name disambiguates.
Requires an OpenEye licence for ``Molecule.from_iupac``.
"""
pytest.importorskip("openeye.oechem")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(non-blocking, see comment in an except block below) it would be nice if this test encoded that the old/bad behavior persists without this license, not necessarily saying that is a desirable outcome but the test should capture the behavior we think happens

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I split out this test to test the case where openeye both is and isn't installed.

@lilyminium lilyminium merged commit 86b33fb into main Mar 27, 2026
24 checks passed
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.

2 participants