You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,15 +17,15 @@ running entirely on hardware you own.
17
17
<palign="center">
18
18
<imgsrc="docs/assets/flavor-map.png"alt="Flavor-space map in 3D on MW × logP × TPSA axes, colored by taste and aroma"width="900">
19
19
</p>
20
-
<palign="center"><sub>The interactive flavor-space map in 3D on real <b>MW × logP × TPSA</b> axes, colored by <b>taste & aroma</b> — every one of the 37 aroma + 6 taste classes labelled.</sub></p>
20
+
<palign="center"><sub>The interactive flavor-space map in 3D on real <b>MW × logP × TPSA</b> axes, colored by <b>taste & aroma</b> — every one of the 41 aroma + 6 taste classes labelled.</sub></p>
21
21
22
22
> **8,393 unique molecules** across the open datasets · **taste + aroma** prediction from
23
23
> structure · a **flavor library** (start from a flavor → its character-impact molecule) and
24
24
> **flavor designer** (pick your notes → best food-safe molecules + drop-in swaps) · an
25
25
> interactive 2D/3D **flavor-space map** · **2D & 3D** structure views. All on
26
26
> commercial-clean public data.
27
27
>
28
-
> Per set (unique molecules): taste training **3,845** · aroma training **1034** · odor
28
+
> Per set (unique molecules): taste training **3,845** · aroma training **1046** · odor
| Data | commercial-clean open data only | adds research odor datasets with **NonCommercial** terms |
157
-
| Aroma |**37 presence/absence descriptor heads ship** (public-domain HSDB); scored **intensity** is trained on your data or a licensed set (PMP 2001) | full open model incl. **intensity** (research odor data) |
157
+
| Aroma |**41 presence/absence descriptor heads ship** (public-domain HSDB); scored **intensity** is trained on your data or a licensed set (PMP 2001) | full open model incl. **intensity** (research odor data) |
158
158
| Use | free to use, sell, run on-prem | research, teaching, advancing the method |
159
159
160
160
The split is deliberate. The richest aroma data is licensed for research only, so
Copy file name to clipboardExpand all lines: training/workbench.html
+12-6Lines changed: 12 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -714,7 +714,7 @@ <h1>Flavormancer</h1>
714
714
<divclass="how-grid">
715
715
<divclass="how-card"><h4>1 · Structure → numbers</h4><p>Every molecule becomes a <b>2,048-bit Morgan fingerprint</b> (which substructures it contains) plus a block of <b>physicochemical descriptors</b> (logP, MW, TPSA, H-bonding…). That one shared vector feeds every model — the same structure-to-property representation QSAR has leaned on for decades.</p></div>
716
716
<divclass="how-card"><h4>2 · Taste — 6 trained heads + 2 rules</h4><p>Six <b>random-forest</b> classifiers (sweet, bitter, umami…) each return a probability, scored by an honest held-out <b>CV-AUROC</b>. Sour and salty are solution / ionic effects, not molecule-shape ones, so they're transparent <b>rules</b> — not faked models. A sweetness-intensity regressor estimates relative-to-sucrose potency.</p></div>
717
-
<divclass="how-card"><h4>3 · Aroma — 37 odor heads</h4><p>One random forest per descriptor (citrus, floral, woody…), trained on <b>public-domain odor text</b>. A head ships only if it clears <b>CV-AUROC ≥ 0.70</b> — 37 survive, each shown with its own score. It reads <b>presence, not intensity</b> (free text carries none) — an honest ceiling, stated in the UI.</p></div>
717
+
<divclass="how-card"><h4>3 · Aroma — 41 odor heads</h4><p>One random forest per descriptor (citrus, floral, woody…), trained on <b>public-domain odor text</b>. A head ships only if it clears <b>CV-AUROC ≥ 0.70</b> — 41 survive, each shown with its own score. It reads <b>presence, not intensity</b> (free text carries none) — an honest ceiling, stated in the UI.</p></div>
718
718
<divclass="how-card"><h4>4 · Honest by design</h4><p>Every value is tagged <b>measured / predicted / estimate</b>, so nothing reads as more precise than it is. Where a quantitative feature needs data we can't ship free-commercially (odor thresholds, panel intensities), the UI <b>says so</b> — and it lights up with <b>your</b> data.</p></div>
719
719
<divclass="how-card"><h4>5 · Formulation, not just molecules</h4><p>The <b>Formulation Studio</b> reads a whole recipe before you pour — weighting each ingredient by odor impact, aggregating the blend's note-profile, flagging the overpowering component, and closing the gap to your target. That's single-molecule ML turned into a bench tool.</p></div>
720
720
<divclass="how-card"><h4>6 · On-prem & commercial-clean</h4><p>Nothing leaves the box — a read makes <b>no cloud calls</b>. The shipped models train only on <b>public-domain or permissively-licensed</b> data, so the commercial edition stays clean (provenance tracked in the repo).</p></div>
@@ -871,7 +871,7 @@ <h1>Flavormancer</h1>
871
871
the trend, exactly the kind of lead worth a closer look.</p>
872
872
<p><b>Two flavor dimensions.</b> Flip the color toggle between <b>taste</b> (sweet /
873
873
bitter / umami / sour / salty / tasteless) and <b>aroma</b> (= odor — the same thing;
874
-
the 37 documented descriptor classes like citrus, floral, sulfurous). Same molecules,
874
+
the 41 documented descriptor classes like citrus, floral, sulfurous). Same molecules,
875
875
same structural layout — you're overlaying a different sense. The <b>both</b> toggle merges
876
876
them into one full-flavor view: each dot takes its <b>taste</b> color where a taste is known,
877
877
otherwise its <b>aroma</b> color — so nearly every molecule is colored by its dominant known
@@ -1087,7 +1087,8 @@ <h4>Software & type</h4>
0 commit comments