Skip to content

feat(training): measured BP/vapor pressure from PubChem (public domain) - #56

Merged
rvnminers-A-and-N merged 1 commit into
mainfrom
feat/pubchem-measured-properties
Jun 29, 2026
Merged

rvnminers-A-and-N merged 1 commit into
mainfrom
feat/pubchem-measured-properties

Conversation

@rvnminers-A-and-N

Copy link
Copy Markdown
Collaborator

First of the two clean data wins from the completion plan — built and tested, not just documented.

PubChem experimental properties are public domain (no commercial restriction), so training/build_properties.py pulls each molecule's experimental Boiling Point (+ best-effort Vapor Pressure) via PUG-View, parses to °C / Pa, and writes properties.parquet — the lookup table predict.py already reads for measured volatility. (Structure-based BP was rejected as too inaccurate, so we only ever report a measured number.)

Parser handles the real-world mess: °F→°C conversion, range averaging, and skipping measurement-condition temperatures (e.g. '…at 20 °C') that would otherwise be mistaken for the BP.

Verified live against known boiling points: vanillin 285 °C, eugenol 254 °C, menthol 215 °C, limonene 178 °C, ethyl acetate 77 °C — all correct. ruff clean. Data is gitignored (built locally); only the fetcher is committed.

Next clean win (documented, not yet built): GRAS cross-check from FDA SAF (public domain).

… PubChem

Enables the "measured volatility" lookup with a commercial-clean source. PubChem
experimental properties are public domain, so build_properties.py pulls each
molecule's experimental Boiling Point (+ best-effort Vapor Pressure) via PUG-View,
parses to °C / Pa (converting °F, averaging ranges, skipping measurement-condition
temperatures), and writes properties.parquet — the table predict.py already reads.

We use a MEASURED lookup on purpose: structure-based BP (Joback) was rejected as
too inaccurate, so a number is only reported when it's a real measurement.

Verified on live PubChem against known boiling points: vanillin 285 °C, eugenol
254 °C, menthol 215 °C, limonene 178 °C, ethyl acetate 77 °C — all correct.
The data itself is gitignored (built locally); only the fetcher is committed.

Signed-off-by: Austin L. <86896075+rvnminers-A-and-N@users.noreply.github.com>
@rvnminers-A-and-N
rvnminers-A-and-N merged commit 5854b87 into main Jun 29, 2026
3 checks passed
@rvnminers-A-and-N
rvnminers-A-and-N deleted the feat/pubchem-measured-properties branch June 29, 2026 20:35
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.

1 participant