Help

About THEOBROMA

THEOBROMA is an open, curated natural products database aggregating compounds from 29 source databases across four biological kingdoms (plant, fungi, bacteria, animal), a residual unresolved category, and 14 resolved geographic regions. Cross-kingdom attributions are preserved via a secondary-kingdoms layer so a single compound can be discovered under any kingdom in which it has been reported. THEOBROMA supports structure-based virtual screening, cheminformatics research, and drug discovery from natural product chemical space.

Search

Keyboard shortcut: Press / anywhere on the site to focus the search box without clicking.

Compound name — partial substring matching, case-insensitive. Autocomplete suggestions appear after 2 characters. Also searches PubChem synonyms (e.g., "alpha-lipoic acid" finds "Thioctic acid"). Hyphens and Greek letters are normalized automatically. The "Exact match" toggle restricts to literal equality on the chosen field. Use the "/" keyboard shortcut to focus the search box from anywhere on the page.

SMILES — exact canonical SMILES match. The query SMILES is canonicalized via RDKit before lookup, so equivalent representations resolve to the same compound.

InChIKey — exact 27-character match (full stereochemistry-aware key). If the compound is found, the search redirects directly to the compound detail page.

Source organism — substring matching against the producing organism field with autocomplete.

Source database, Geographic region, Kingdom — case-insensitive equality against controlled vocabularies (29 databases, 14 resolved regions, 5 kingdom values: plant, fungi, bacteria, animal, unresolved). Filtering by kingdom returns every compound attested in that kingdom (primary or secondary) so cross-kingdom metabolites surface from each of their kingdoms.

Genus, Family, Order, Class, and Phylum — taxonomic search across all five ranks. Resolution combines three authorities: the World Checklist of Vascular Plants (WCVP, Kew, January 2026 release) for plant binomials, NCBI Taxonomy (taxdump 2026-05) for non-plant taxa, and the World Register of Marine Species (WoRMS) for marine organisms. Combined coverage is 99.8% of compound-taxonomy rows with at least one resolved rank, after NCBI- and WCVP-based backfilling of order, class, and phylum for plant clades. Genus and family come primarily from WCVP for plants and NCBI for non-plants; order, class, and phylum come from NCBI and WoRMS JSONB lineages. Synonyms are automatically mapped to accepted names. Note that NCBI Taxonomy does not consistently fill order for plant clades, so order-rank queries for plant taxa may return fewer results than expected; family or genus search is recommended for plant queries.

Chemical property — filter by chemical class or by numerical property ranges. Two class-filter types are available reflecting the two underlying classification ontologies:

Numerical property ranges are also available for molecular weight, LogP, TPSA, HBA, HBD, rings, rotatable bonds, plus the full ADMET-AI ensemble of 47 endpoints (toxicity, absorption, metabolism, distribution and physicochemical predictions including AMES, hERG, DILI, BBB, bioavailability, P-gp, Caco-2, clearance, half-life, plasma protein binding, solubility, lipophilicity, volume of distribution, the seven Tox21 nuclear-receptor assays, the five Tox21 stress-response assays, and CYP1A2/2C9/2C19/2D6/3A4 substrate and inhibition).

Behavior notes for class search. Class search uses case-insensitive substring matching against the underlying classifier columns (np_class, classyfire_superclass, inferred_class, np_superclass, np_pathway). Queries for labels not present in any of these columns return zero rows. For example, "Curcuminoids" is not used as a class by NPClassifier or ClassyFire as applied to this corpus, so a class-filtered query for "Curcuminoids" returns no compounds; to retrieve curcumin and structural analogs, use name search (q=curcumin&type=name), which substring-matches against compound names and PubChem synonyms.

Name-search behavior. Name search returns substring matches against compound names and synonyms. A query such as q=curcumin matches any compound whose name or synonyms contain "curcumin" as a substring, including derivatives, conjugates, and analogs that list curcumin in their synonyms. To restrict to literal-equality name matches, enable the "Exact match" toggle.

Multi-filter search

Click "+ Add another filter" to combine multiple criteria with AND logic. For example, search for all triterpenoids from Africa, or all fungal compounds with molecular weight 200-500 Da and low DILI risk.

Results are relevance-sorted for name searches: exact matches appear first, then prefix matches, then substring matches. Within each tier, shorter (simpler) names rank higher. All result tables have sortable columns — click any column header to sort ascending or descending.

Similarity search

Enter a SMILES string, compound name, or THEO_ ID to find structurally similar compounds. Three metrics are available:

When to use which: Morgan/ECFP4 is the default for general-purpose similarity ranking and is what most cheminformatics tools use. MACCS is preferred when functional-group composition matters more than overall skeleton (e.g. looking for compounds with similar pharmacophore patterns despite different scaffolds). ChemBERTa is useful when you want learned representations that may pick up subtle features fingerprints miss; it is also the fastest option for top-N retrieval against the full corpus.

Threshold (Tc) defaults to 0.3; Morgan and MACCS apply this as a hard cutoff. ChemBERTa retrieval uses a FAISS HNSW index (M=32, efConstruction=200, efSearch=128) and returns the top-N nearest neighbors. Results can be post-filtered by region, kingdom, and chemical class.

Substructure search

Enter a SMILES or SMARTS pattern to find all compounds containing that substructure. Uses Morgan fingerprint pre-screening followed by RDKit substructure matching.

Scaffold browser

Browse compounds grouped by their Bemis-Murcko molecular framework. Click any scaffold to see all compounds sharing that core structure.

Property computation provenance

Physicochemical properties (molecular weight, LogP, TPSA, HBA, HBD, ring count, rotatable bonds) are computed by THEOBROMA from canonical SMILES via RDKit (Descriptors.ExactMolWt, Descriptors.MolLogP, Descriptors.TPSA, rdMolDescriptors functions). Source-database property values are not carried forward, ensuring consistent computation across the corpus.

Chemical classifications come from two ontologies. NPClassifier (NP-class, NP-superclass, NP-pathway) is computed for the full corpus via the pretrained NPClassifier dual-input model on Morgan fingerprints. ClassyFire superclasses are carried forward where present in source databases; for compounds lacking a ClassyFire annotation, the inferred_class field provides a per-class XGBoost prediction trained on Morgan, MACCS, and ChemBERTa-PCA features with calibrated probability thresholds.

ADMET predictions (47 endpoints persisted in the searchable database, covering toxicity, absorption, metabolism, distribution, and physicochemical properties) are produced by ADMET-AI (Chemprop D-MPNN ensemble; Swanson et al.). Each endpoint has its own min/max/mean range visible in the search dropdown and is queryable via URL parameters of the form <endpoint>_min and <endpoint>_max.

For the 19,677 compounds with a matching ChEBI 3-stars entry, additional curator-written metadata is surfaced on the compound detail page: a chemistry definition, an IUPAC name (where ChEBI's IUPAC variant differs from the THEOBROMA primary name), PubMed PMID arrays, and per-database deep-links to the external resources cross-referenced by ChEBI. Matching is by InChIKey; no transformation of the THEOBROMA structure or naming is performed.

Multi-source compounds

When a compound (identified by full 27-character InChIKey) is reported by more than one source database, THEOBROMA stores it as a single row with all contributing databases listed in the all_sources field (pipe-separated). The primary source_db preferentially shows regional or specialized databases over aggregators like COCONUT. Compounds appearing in two or more source databases are counted in the "Multi-source compounds" statistic on the Statistics page.

Compounds with "unresolved" region or kingdom lack geographic or taxonomic metadata in their source databases.

Compounds reported across multiple kingdoms (e.g. a plant database and a fungal database for the same metabolite, or an endophyte metabolite isolated from both host plant and fungus) are stored as a single row with a primary kingdom (the majority-attested one) and a secondary_kingdoms array listing every additional kingdom in which the compound is reported. Filtering by kingdom returns every compound attested in that kingdom regardless of whether it is primary or secondary, so endophyte metabolites surface from the plant kingdom as well as the fungal kingdom. The corpus total (1,133,004 distinct compounds) remains consistent across views; sums of kingdom slices exceed the corpus total only because cross-attributed compounds contribute to several slices.

How to cite

Thor Klamt, Anne Jaczkowski, Prof. Dr. rer. nat. Jakob Franke,
and Prof. Dr. techn. Wolfgang Nejdl (2026).
THEOBROMA: an open multi-kingdom natural products database
with per-compound license tiers for legally-aware drug discovery.
Preprint forthcoming on bioRxiv; under preparation for submission to Nucleic Acids Research.

Please also cite the original source databases for any compounds you use. Source database citations and licenses are listed on the Statistics page.

API

GET /api/search?q=QUERY&type=TYPE&limit=N&offset=M&format=FORMAT&license=LIC

Parameters:
  q       — search query (required)
  type    — name | smiles | inchikey | kingdom | organism |
            region | source | genus | family | order | tax_class | phylum |
            npclassifier_class | classyfire_class |
            class (union of chemistry-class ontologies) | pathway
  exact   — true to require literal equality on text-search types
            (default false; substring match)
  limit   — max results, 1-10000 (default: 50)
  offset  — pagination offset (default: 0)
  format  — json | csv (default: json)
  license — all | commercial | academic (default: all)

GET /api/compound/COMP_ID       — full compound details by THEO_ id (includes license_provenance sub-object)
GET /api/compound/COMP_ID/license-provenance — per-source license attestation chain (audit trail)
GET /api/stereoisomers/COMP_ID  — all stereoisomers (14-char InChIKey match)
GET /api/similarity?smiles=...&metric=morgan|maccs|chemberta
GET /api/autocomplete?q=QUERY   — name autocomplete
GET /api/organisms?q=QUERY      — organism autocomplete
GET /api/filter_options         — available values per filter type
                                  (includes npclassifier_class, classyfire_class)
GET /api/search?...&format=json&download=true   — download results as JSON attachment
GET /api/bulk?cols=...&format=json   — bulk download in JSON format (streamed)
GET /api/stats                  — database statistics (includes license-tier breakdown)
GET /api/bulk?cols=...&license=commercial|academic|all — streaming bulk export (CSV, default 14-column annotation payload); tier=open|nc|all also accepted

Full OpenAPI specification at /api.

Recommended bulk-download size: up to 100,000 rows per request through /export or /api/search; use /api/bulk for full-corpus exports (streaming, no row limit).

No per-request rate limit is enforced at present; for sustained high-throughput use (more than a few requests per second), please contact the corresponding author so we can plan server load. Known scraping user-agents (GPTBot, CCBot, ClaudeBot, anthropic-ai, PerplexityBot, Bytespider) are rate-limited on the heaviest routes; robots.txt documents the policy.

License

Web application code: MIT License.

Compound data: per-record license tiers carried forward from source databases.

Each record includes a license_tier field. When a compound appears in multiple sources, the most permissive license applies. The CMNPD database, originally part of the corpus, was removed in v32 due to its CC BY-NC-SA share-alike clause; CMNPD-exclusive compounds were dropped and CMNPD provenance was stripped from multi-source rows.

Glossary

Compact reference for non-cheminformatician users.

SMILES
Simplified Molecular-Input Line-Entry System; an ASCII string representation of a molecular graph (e.g. CC(=O)Oc1ccccc1C(=O)O for aspirin).
SMARTS
A SMILES-derived pattern language for substructure queries; supports wildcards and logical operators.
InChI / InChIKey
InChI is a normalized textual identifier capturing the full molecular graph and stereochemistry. The 27-character InChIKey is its compact hash, suitable for exact-match lookup.
Canonical SMILES
A SMILES string produced by a deterministic canonicalization algorithm so that the same molecule always yields the same string regardless of input order.
Tanimoto coefficient (Tc)
Similarity metric between two binary fingerprints, computed as the size of their intersection divided by the size of their union. Range 0 to 1; higher means more similar.
Morgan / ECFP4 fingerprint
Circular fingerprint encoding atom-environment substructures within radius 2 (ECFP4 convention). Folded to 2048 bits in THEOBROMA. The cheminformatics community default for similarity ranking.
MACCS keys
167-bit substructure-presence fingerprint with a curated dictionary of functional-group and ring-system queries. Good for functional-group similarity; weaker for whole-skeleton similarity.
ChEBI
Chemical Entities of Biological Interest; a manually-curated chemistry ontology maintained by EMBL-EBI under CC BY 4.0. THEOBROMA integrates the 3-stars (highest curation tier) subset, matching by InChIKey. For 19,677 compounds, ChEBI provides a curator-written definition, IUPAC name, PubMed PMID arrays, and cross-references to KEGG, KNApSAcK, LIPID MAPS, MetaboLights, ChEMBL, MetaCyc, UniProt, Rhea, NMRShiftDB, CompTox, and other resources.
ChemBERTa embedding
768-dimensional dense vector produced by a transformer model pretrained on millions of compounds from ZINC. Captures learned chemical-space structure; queried via cosine similarity in a FAISS HNSW index for sub-second retrieval.
Bemis-Murcko scaffold
The molecular framework obtained by stripping all acyclic side chains while retaining linkers between ring systems. Used to group compounds by core skeleton.
FAISS HNSW
Hierarchical Navigable Small World graph index for approximate-nearest-neighbor search over dense embeddings. Enables fast top-N retrieval in 1M+ compound corpora.
NPClassifier
Deep-learning model that assigns natural-product class, superclass, and biosynthetic pathway from molecular structure (Kim et al., 2021). In THEOBROMA, the npclassifier_class filter type queries both the direct NPClassifier output (np_class) and the per-class XGBoost-inferred extensions (inferred_class).
ClassyFire
Rule-based chemical taxonomy assigning kingdom, superclass, class, and subclass via expert-curated structural patterns (Djoumbou-Feunang et al., 2016). In THEOBROMA, the classyfire_class filter type queries the superclass field carried forward from source databases.
ADMET
Absorption, Distribution, Metabolism, Excretion, Toxicity; properties that predict in-vivo behavior of drug candidates. THEOBROMA persists all 47 endpoints of the ADMET-AI Chemprop ensemble (Swanson et al.) in the searchable database, including AMES, hERG, BBB, bioavailability, P-gp, Caco-2, multiple CYP inhibition and substrate predictions, the Tox21 nuclear-receptor and stress-response panels, clearance, half-life, plasma protein binding, solubility, lipophilicity, LD50, and volume of distribution.
DILI
Drug-Induced Liver Injury; predicted probability that a compound causes hepatotoxicity.
AqSolDB solubility
Predicted aqueous solubility (log mol/L) from a model trained on the AqSolDB benchmark.
LogP
Logarithm of the octanol-water partition coefficient; measures lipophilicity. Drug-like compounds typically have LogP between 0 and 5.
TPSA
Topological polar surface area in square angstroms; correlates with membrane permeability and oral bioavailability.
HBA / HBD
Hydrogen-bond acceptor and donor counts; together with MW and LogP, part of Lipinski's Rule of Five for oral drug likeness.
Trust score
THEOBROMA-internal composite (0-1) reflecting source-database authority, classification coverage, and provenance completeness. Higher means more confidently characterized.

Source databases (29)

COCONUT 2.0, LOTUS v11, FooDB, NPASS 3.0, HERB 2.0, TM-MC 2.0, IMPPAT 2.0, CSIRO Australian NP, ANPDB, NPAtlas, phytochemdb, MicotoXilico, StreptomeDB, MIBiG 4.0, EMNPD, MeFSAT, CyanoMetDB, MycoCentral, NaturAr, LMDB_Lichen, AMDB, Phyto4Health, AfroDb, SANCDB, CMDB_Cereals, TMDB_Trichoderma, SMDB_Spice, CMAUPv2, TIPdb-3D.

Enrichment layers

In addition to the 29 source databases, THEOBROMA integrates several enrichment layers that annotate compounds with metadata not directly available from any single source:

Database update cadence

THEOBROMA tracks source-database releases and re-integrates on a roughly biannual cycle. Per-source download dates and version strings are tracked in sources.yaml. Major releases are tagged in the GitHub repository and deposited on Zenodo for long-term archival.

Contact

For bug reports and feature requests, please open an issue on GitHub. For other inquiries, contact the corresponding author Thor Klamt at Thor.Klamt@gmail.com.