Skip to content

Latest commit

Β 

History

History
144 lines (125 loc) Β· 11.5 KB

File metadata and controls

144 lines (125 loc) Β· 11.5 KB

Sources & Attribution

Credit where it's due. Flavormancer stands on a lot of open science and open software; this file records what we use and who to thank. Licenses are noted where known but must be confirmed before any commercial release β€” this is a record of provenance, not legal advice. Get an IP/OSS-license review before ship.


Software & libraries

Cheminformatics / ML (training side β€” Python)

  • RDKit β€” molecular parsing, fingerprints, descriptors, SMARTS, InChIKeys. (BSD-3-Clause.)
  • DeepChem β€” GNN training framework under OpenPOM. (MIT.) For the deferred aroma model only; not currently installed or used.
  • OpenPOM (BioMachineLearning/openpom) β€” the message-passing GNN for odor; open reimplementation of the principal-odor-map work. (MIT β€” confirm.) The aroma model is theirs in spirit.
  • scikit-learn β€” RandomForest taste heads + sweetness-intensity regressor. (BSD-3-Clause.)
  • PyTorch β€” tensor/Autograd backend under DeepChem. (BSD-style.)
  • NumPy, pandas β€” arrays + dataframes. (BSD-3-Clause.)
  • UMAP β€” 2D odor/flavor-space map. (BSD-3-Clause.)
  • skl2onnx β€” exports the sklearn taste models to ONNX. (Apache-2.0.)
  • thermo β€” used to evaluate Joback structure-based boiling point; REJECTED (mean abs error 33 Β°C across 12 flavor molecules, max 89 Β°C). Not shipped. (MIT.)
  • PubChem / FDA SAF β€” data sources for measured properties + GRAS; cited under Data sources.

Product / serving side

  • 3Dmol.js (David Koes et al.) β€” interactive WebGL 3D viewer for the demo workbench; renders the RDKit-embedded conformer from /api/structure3d. Vendored + served locally so the demo stays self-contained. (BSD-3-Clause; see training/static/README.md.)
  • ONNX + ONNX Runtime β€” run taste models in-process in .NET. (MIT.)
  • ASP.NET Core / .NET β€” the app/API backbone. (MIT.)
  • React β€” frontend. (MIT.)
  • PostgreSQL + pgvector β€” DB + embedding/substitution search. (PostgreSQL License.)
  • FastAPI β€” the Track-A demo serving layer. (MIT.)
  • Docker β€” single-box deployment. (Apache-2.0.)

Data sources

Taste

  • ChemTastesDB β€” Rojas et al., curated taste dataset (sweet/bitter/umami/sour/salty/tasteless). Zenodo, DOI 10.5281/zenodo.5747393 (and the extended record). License CC-BY-4.0 (commercially clean with attribution).
  • cosylab BitterSweet β€” Bagler lab (IIIT-Delhi). Code AGPL-3.0 (bind-aware: train-your-own-on-data is the safe pattern; INCLUDE_COSYLAB=False drops it for clean licensing).
  • FlavorDB β€” Bagler lab (IIIT-Delhi); taste + odor + natural-source associations. License CC BY-NC-SA 3.0 (NonCommercial) β€” incompatible with a commercial product; not used.
  • FartDB β€” FartLabs (HuggingFace), ~31k tastants behind the 2025 npj Science of Food "FART" model β€” the largest public tastant set. Repo labeled MIT, but it composites FlavorDB (CC-BY-NC-SA) + SciFinder (CAS, proprietary) + Tas2R-DB (ACS); the MIT badge cannot relicense data the authors don't own. Excluded (NonCommercial/proprietary upstream) β€” the same "downloadable β‰  usable" trap as OpenPOM's GS-LF.
  • SweetenersDB v2.0 β€” Bouysset et al. (2020) Food Chem., building on ChΓ©ron et al. (2017); relative-to-sucrose sweetness intensity for the regressor. Released MIT by the authors' own lab (ChemSenSim, github.com/chemosim-lab/SweetenersDB) β€” the paywall is only on the journal article, not the authors' own data. In use.
  • PlantMolecularTasteDB β€” Gradinaru et al. (2022), Frontiers in Pharmacology (DOI 10.3389/fphar.2021.751712); 1,527 taste-active phytochemicals. The article is CC-BY, but the database is web-only (plantmoleculartastedb.org) with no open data license and an i-Depot IP/authorship registration by the authors β€” article-CC-BY does not extend to the database. Excluded pending an explicit commercial grant; article-CC-BY β‰  database-CC-BY (same lesson as Pyrfume/OpenPOM).
  • BitterDB β€” Niv lab (Hebrew U), >2,200 bitter compounds. License CC BY-NC 3.0 (NonCommercial) β€” commercial use needs a separate license. Excluded from the commercial edition; a candidate for the academic edition's bitterness-intensity head.
  • UMP442 / BIOPEP-UWM β€” umami references. BIOPEP-UWM is web-only; the GitHub repost Shoombuatong/Dataset-Code carries no license (all-rights-reserved) and is umami peptide data (a different class from our small-molecule head). Not used.

Aroma

  • Pyrfume + Leffingwell / GoodScents (GS-LF) odor datasets β€” the usual training data behind OpenPOM, but RESTRICTED and NOT USED: Leffingwell's manifest cites use restrictions (John Leffingwell & Google); GoodScents/Arctander/Flavornet (Β© Datu Inc.) are likewise proprietary. We exclude all of them (the demo may go to a customer / commercial use). The aroma model will use only commercial-clean open odor data (CC-BY sets like keller_2016; smaller β€” see DATA-SOURCES.md). The OpenPOM code is MIT.
  • keller_2016 β€” Keller & Vosshall (2016), BMC Neuroscience, CC-BY-4.0; ~480 molecules with naive-subject odor-descriptor ratings. The only commercially-clean odor-descriptor set β€” evaluated for the aroma model and found too noisy to learn from (CV-RΒ² ≀ 0 across all 20 descriptors; see docs/AROMA.md).

Safety / regulatory / properties

  • FDA "Substances Added to Food" (SAF) β€” the GRAS / recognized-food-ingredient cross-check. US-government work, public domain. In use via build_gras_reference.py.
  • EU / GB flavourings Union List β€” Regulation (EC) 1334/2008 Annex I, published as the authorised-flavourings register at data.food.gov.uk/regulated-products/flavouring_authorisations. The entire register (~2,200 authorised flavourings) is ingested as the food-use reference (build_gb_union_list.py β†’ gb_union_list.csv, loaded by predict.py), each cited by FL number; a curated subset also backs food_safe_supplement.csv. Open Government Licence v3 β€” commercial reuse permitted (verified: OGL v3 grants the right to "exploit the Information commercially… by including it in your own product or application"). Required attribution: "Contains public sector information licensed under the Open Government Licence v3.0." Regulatory facts (a molecule's authorised status + FL number) are non-copyrightable (Feist v. Rural, 1991). Finding-aid note: commercial compilations (The Good Scents Company, the FEMA flavor library, Leffingwell) were used only to locate a candidate FL number, which was then confirmed on the open-government register; no content from those compilations is copied, redistributed, or shipped. 12 further molecules are cleared via US 21 CFR 172.515 / FDA SAF (public domain), flagged US-only where they carry no EU/GB entry.
  • FEMA usual/maximum use levels β€” for quantitative dosing. Published in FEMA's copyrighted GRAS papers β€” not freely available in bulk; data-gated (customer/licensed). We cite FEMA numbers only as public regulatory identifiers, never FEMA's compiled dosing text.
  • Aroma-head structureβ†’odor associations β€” two provenances. Food heads: HSDB odor text (US NLM, public domain) + character-impact facts confirmed on the open-gov food registers above. Fragrance / aroma-only heads (musk, amber, oakmoss, sandalwood, the botanical and floral-subtype notes): general public flavor & fragrance chemistry knowledge β€” the ubiquitous "any perfumer knows this" associations (e.g. santalol = sandalwood), some supplied by Claude Opus 4.8 (Anthropic) β€” each resolved to a public-domain PubChem structure. Odor descriptors are measured facts, non-copyrightable (Feist v. Rural, 1991); no proprietary compilation (The Good Scents Company, Leffingwell, GS-LF, FlavorDB) is a source β€” those are excluded everywhere. Honest caveat: unlike the food-clearance data, the fragrance associations do not each carry a single citable public register, so a spot-verification + formal IP/provenance review is the standing pre-commercial gate (β‰₯2 independent public sources per association; drop anything traceable only to a proprietary set; counsel sign-off before commercial sale).
  • EU declarable fragrance/flavor allergen annex β€” the labeling flags. (EU regulation.)
  • PubChem (NIH/NCBI) β€” used three ways: name/CAS↔SMILES↔CID resolution; experimental boiling point / vapor pressure (build_properties.py); and CASβ†’InChIKey for GRAS (build_gras_reference.py). Public domain β€” no restriction on use, incl. commercial (attribution appreciated).
  • NIST GC/RI library β€” Kovats retention indices. PAID (~$595 data-only FTP to ~$2,850 single-seat) β€” not used (paywall); RI deferred to customer/licensed data. (RI is not in PubChem β€” verified by probe.)
  • Tox21 (NIH/NCATS Β· EPA Β· FDA Β· NTP) β€” public toxicity-assay data (public domain, on PubChem / data.gov; MoleculeNet mirror of the Tox21 Challenge set). In use β€” 12 caution-only RandomForest tox-assay heads (train_tox.py β†’ predict_tox()), CV-AUROC 0.72–0.90. INDICATIVE in-vitro flags, never a determination.

Research & methods

  • Principal odor map β€” Lee et al., "A principal odor map unifies diverse tasks in olfactory perception," Science, 2023. The basis for the aroma GNN (OpenPOM reimplements it; the same group founded Osmo). The single most important scientific credit here.
  • Molecular fingerprints β€” Rogers & Hahn, "Extended-Connectivity Fingerprints," J. Chem. Inf. Model., 2010 (Morgan/ECFP β€” the taste-head features).
  • Aqueous solubility (ESOL) β€” Delaney, "ESOL: Estimating Aqueous Solubility Directly from Molecular Structure," J. Chem. Inf. Comput. Sci., 2004.
  • Toxicological Threshold of Concern / Cramer classification β€” Cramer, Ford & Hall, 1978; Toxtree (EU JRC) for the validated decision tree.
  • Odor Activity Value (OAV = concentration Γ· detection threshold) β€” standard flavor-chemistry framework for blend balance.
  • Group contribution (Joback) β€” Joback & Reid, 1987. Evaluated and rejected for boiling point here (β‰ˆ90 Β°C error on benzaldehyde); recorded so the decision is documented.
  • Documented food-process contaminants β€” benzene (benzoate+ascorbate), N-nitrosamines (nitrite+amines), ethyl carbamate, acrylamide (Maillard), furan, 3-MCPD/glycidyl esters, 4-methylimidazole, biogenic amines β€” all from established food-safety literature.

Prior art & landscape (context, not used in the build)

We are not first; the field is active and funded. Mapping it honestly:

  • Osmo β€” digitized smell; principal-odor-map authors; B2B fragrance/flavor.
  • Gastrograph AI / Analytical Flavor Systems β€” predictive sensory analytics.
  • Tastewise, Ai Palette β€” F&B trend/flavor AI.
  • Aromyx β€” taste/smell biosensors.
  • Senomyx (acquired by Firmenich) β€” taste/aroma receptor reverse-engineering.
  • Symrise, Givaudan, IFF, dsm-firmenich, MANE/ChemoSensoryx β€” flavor houses with internal AI for formulation.

Crediting the science

The work this builds on, stated plainly: the aroma model is an open reimplementation (OpenPOM) of the 2023 Science principal-odor-map work; the taste models train on open curated databases (ChemTastesDB and others); everything runs on hardware you own. Honesty about provenance is part of the credibility.