Skip to content

Commit b8e47ac

Browse files
docs: commercial data-completion plan; fix aroma wording; tighten description (#55)
Researched whether the data-gated features can be filled with truly commercial-free data, and recorded the per-feature verdict. Key finding: the academic edition does NOT rescue copyright/paid data — its lever is NonCommercial research data (aroma); copyrighted thresholds and paid NIST RI are blocked in both editions until licensed or customer-supplied. - DATA-SOURCES.md: "Commercial data-completion plan" table — GRAS (FDA SAF, public domain) and measured BP/vapor pressure (PubChem, public domain) are fully enableable now; quantitative dosing (copyrighted odor thresholds) and Kovats RI (paid NIST) need customer or licensed data. - README: aroma wording made accurate/conditional — not pre-trained; *would* be trained on customer data or a licensed set (PMP 2001, commercial) when provided; the open model (GS-LF/research, NonCommercial) is the academic edition. Adds the "what aroma training needs from you" spec (molecules + expert odor descriptors). - GitHub description tightened: only the rock-solid commercial capabilities (taste, behavior, safety, substitution) — no aroma or uncertain properties. Signed-off-by: Austin L. <86896075+rvnminers-A-and-N@users.noreply.github.com>
1 parent 6148a69 commit b8e47ac

2 files changed

Lines changed: 36 additions & 4 deletions

File tree

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,16 @@ is tagged by how it was derived**, so nothing reads as more certain than its sou
4040
- **Substitution search** — nearest-neighbor lookup over the labeled set for
4141
reformulation and cost-down ("find me a molecule that behaves like this one").
4242

43-
**Aroma** (odor-descriptor prediction) is **not** in this edition — it moves to the
44-
academic edition below. In the commercial product, aroma trains on your **licensed
45-
or in-house** odor data, on-prem.
43+
**Aroma** (odor-descriptor prediction) is **not** built into this edition and isn't
44+
pre-trained. It *can* be trained for a customer on **their own odor data**, or on a
45+
**commercially-licensed** dataset (e.g. Leffingwell **PMP 2001**), when that data is
46+
provided. The full *open* aroma model — trained on research odor data that carries
47+
NonCommercial terms — lives in the academic edition.
48+
49+
> *What aroma training needs from you:* molecules (SMILES, or **GC-MS** to identify
50+
> the compounds in your products) paired with your panel's **expert odor descriptors**
51+
> (e.g. green / fruity / woody, ideally with intensity). GC-MS identifies the
52+
> molecules; the sensory labels are what the model learns — GC-MS alone isn't enough.
4653
4754
**Scope:** Flavormancer predicts *flavor properties only*. It is not a safety,
4855
toxicity, GRAS, regulatory, or stability determination. A prediction is never a
@@ -65,7 +72,7 @@ Flavormancer ships as two editions of one method:
6572
| Edition | Commercial | Academic / open-source *(coming soon)* |
6673
| License | Apache-2.0 | open-source, **research / NonCommercial** |
6774
| Data | commercial-clean open data only | adds research odor datasets with **NonCommercial** terms |
68-
| Aroma | trained on **your** licensed / customer data | full open aroma model included |
75+
| Aroma | *would* be trained on your own data, or a licensed set (e.g. PMP 2001), when provided | full open model included (research odor data) |
6976
| Use | free to use, sell, run on-prem | research, teaching, advancing the method |
7077

7178
The split is deliberate. The richest aroma data is licensed for research only, so

docs/DATA-SOURCES.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,31 @@ What feeds the models, what each source unlocks, its license, and how to get it.
2222
| **Pyrfume — open academic sets** | aroma model, **clean but small** | CC-BY / open-access (verify each) | candidates | `keller_2016` (BMC, CC-BY, ~480 cmpds), `snitz_2013` (PLOS, CC-BY), etc. Confirm each data deposit's license; combine + harmonize descriptor vocabularies for volume. |
2323
| **FEMA GRAS / FDA SAF** | GRAS cross-reference + dosing/OAV lookups | gov public / FEMA | ⬜ to get | FDA "Substances Added to Food" (public domain) → `gras_reference.parquet`; FEMA use-level PDFs → `properties.parquet`. **Verify every scraped dosing number.** |
2424

25+
## Commercial data-completion plan (the data-gated features)
26+
27+
Several features are **built but data-gated** — the code lives in `predict.py`; they
28+
light up when their reference table is dropped in. Diligence on whether each gap can
29+
be filled with **truly commercial-free** data:
30+
31+
> **Key finding:** the academic edition does **not** rescue these. Its special power is
32+
> *NonCommercial-licensed research data* (aroma / GS-LF). Copyrighted or paid data
33+
> (odor thresholds, NIST RI) isn't NonCommercial — it's all-rights-reserved or
34+
> for-sale — so it's blocked in **both** editions until licensed or customer-supplied.
35+
36+
| Feature | Clean-commercial source | Verdict |
37+
|---|---|---|
38+
| **GRAS / food-ingredient cross-check** | **FDA "Substances Added to Food" (SAF)** — US-gov **public domain** (CC0 via openFDA); Excel download |**Commercial-ready.** Build `gras_reference.parquet` (an `inchikey` column) from SAF. |
39+
| **Measured boiling point / vapor pressure** | **PubChem** experimental properties — **public domain**, no commercial restriction; API/FTP |**Commercial-ready.** Build `properties.parquet` (`inchikey` + `boiling_point_c` / `vapor_pressure_pa`) from PubChem. |
40+
| **Quantitative dosing (OAV) — odor thresholds** | none clean — the standard compilations (Devos/Oxford 1990, ASTM DS48A, van Gemert) are **copyrighted books**; only tiny open subsets exist | ⚠️ **Stays qualitative.** Quantitative only with **customer-supplied** thresholds or a licensed compilation. Individual values are facts (*Feist*), but no clean bulk set exists. **Not** academic-rescuable (copyright ≠ NC). |
41+
| **Quantitative dosing — FEMA use levels** | FEMA usual/max levels sit in copyrighted GRAS papers; SAF is an inventory, not max-ppm | ⚠️ Customer-supplied or licensed, as above. |
42+
| **GC-MS Kovats retention index** | **NIST RI library** is a **paid** Standard Reference Database; open RI sets are small/uncertain | ⚠️ **Data-gated.** Commercial via a **NIST license**, **customer RI data**, or a QSPR trained on a vetted open set. Not free at scale. |
43+
44+
**Bottom line:** GRAS + measured BP/VP are fully enableable now on public-domain data
45+
(loaders already exist — just build the two parquet tables). Quantitative dosing and RI
46+
can't be filled with free-commercial data and aren't academic-rescuable either; they
47+
light up with the **customer's own data** or a **paid license** — the "comes with your
48+
data" model again.
49+
2550
## Notes
2651

2752
- **Licensing.** ChemTastesDB (CC-BY-4.0) is the clean base. cosylab is AGPL — gated

0 commit comments

Comments
 (0)