Help Centre

This page contains information about how to interact with DIMEdb’s web application and web service.

Frequently Asked Questions

What databases does DIMEdb use to collate its data from?

HMDB, PubChem, CHEBI, BioCyc and KEGG.

Where can I download DIMEdb?

Visit the download centre for more information.

Who works on DIMEdb?

Mr. Keiron O'Shea


Aberystwyth University

Dr. Nigel NW Hardy

Metabolomics Expert

Aberystwyth University

Dr. Chuan Lu


Aberystwyth University

Prof. Luis AJ Mur


Aberystwyth University

How can I cite DIMEdb?

Publication pending...

How are isotopic distributions calcuated?

Distributions are calculated using the open-source pyIDICk python package, available here.

Can I use the web service for my own tools?

Absolutely! Feel free to take a look at our example Python package dimedbpy for a working example of how best to use the web service.

DIMEdb Web Service/API

DIMEdb features a application programming interface (API) which enables users to extract information from the integrated metabolite database freely. The API is built with ease-of-use in mind, providing access to relevant metabolite information without the need of downloading the entirety of the database.

The metabolites collection is available as a RESTful persistent identifier, found here:

Querying the above URL will return a payload similar to this:

  "_items": [
      "_updated": "Thu, 01 Jan 1970 00:00:00 GMT",
      "Adducts": {
      "External Sources": {
      "Physicochemical Properties": {

      "Taxonomic Properties": {
      "Pathways": {
      "_created": "Thu, 01 Jan 1970 00:00:00 GMT",
      "_etag": "f150abf5bb4cea99aed46186e25642ea8ca5006d",
      "Identification Information": {
  "_meta": {
    "max_results": 50,
    "total": 1,
    "page": 1
Note: The _items list contains the requested metabolite information. For queries that return a large number of results, pagination information can be found inside the _meta field.

Basic Filtering

To return filtered metabolites, you can use both native MongoDB queries, and standard Python conditional expressions. For example, here we are requesting for all metabolites whose molecular formula is C6H8O6:{"Identification Information.Molecular Formula" : "C6H8O6"}

Additionally, both query methods allow for logical and/or operators:{“$or” : [{“Identification Information.Molecular Formula : “C6H8O6”}, {“Physicochemical Properties.Hydrogen Bond Acceptors” : 2}]}

Conditional Operators

For more advanced searching, you can also use conditional operators. For example, if you wanted to return all metabolites with a molecular weight ≥ 360.05 and ≤ 380.05 g/mol, then you can use the following query.:{"Physicochemical Properties.Molecular Weight" : {"$gte" : 360.05, "$lte" : 380.05}}


If you would like to create a dynamic view of all returned metabolites, DIMEdb supports the use of a projection. Projections act like conditional queries, where the request dictates what fields should be returned for a given query. For example if you’re only interested in returning the names of matching metabolites, then you can use the following query:{"Identification Information.Molecular Formula" : “C12H22O11”}&projection={“Identification Information.Name” : 1}

Data Documentation

Property Name Property Description Data Type Data Source
_id Compiled InChIKey String Generated from InChI
Identification Information
Name Common name String PubChem, HMDB, and CheBI
Synonyms Alternative names List PubChem, HMDB, and CheBI
IUPAC Name Standard chemical name String PubChem, HMDB, and CheBI
Systematic Name Systematically generated name String Generated from InChI
SMILES Isometric SMILES String Generated from InChI
Molecular Formula Textual description of elemental composition String Generated from SMILES
InChI Unique InChI identifier String PubChem, HMDB, and CheBI
Physicochemical Properties (calculated by rdKit)
clogP The logarithm of a compound's partition coefficient between n-octanol and water log (coctanol/cwater) Float Generated from SMILES
Polar Surface Area The polar surface area (PSA) of a molecule is defined as the surface sum over all polar atoms, primarily oxygen and nitrogen, also including their attached hydrogens. Float Generated from SMILES
Secondary Amines A secondary (2º) amine is an amine that has the following general structural formula. R1, R2 = alkyl and/or aryl. Integer Generated from SMILES
Ether Oxygens Ethers are a class of organic compounds that contain an ether group—an oxygen atom connected to two alkyl or aryl groups. Integer Generated from SMILES
Hydroxy Groups A hydroxy or hydroxyl group is the entity with the formula OH. It contains oxygen bonded to hydrogen. Integer Generated from SMILES
Heavy Atoms The number of heavy atoms in the compound (those that have many electrons). Integer Generated from SMILES
Rings A cyclic compound (ring compound) is a term for a compound in the field of chemistry in which one or more series of atoms in the compound is connected to form a ring. Integer Generated from SMILES
Hydrogen Bond Acceptors The hydrogen acceptor is the neighboring electronegative ion or molecule, and must posses a lone electron pair in order to form a hydrogen bond. Integer Generated from SMILES
Hydrogen Bond Donors The donor in a hydrogen bond is the atom to which the hydrogen atom participating in the hydrogen bond is covalently bonded, and is usually a strongly electronegative atom such as N,O, or F. Integer Generated from SMILES
Aromatic Rings Simple aromatic rings, also known as simple arenes or simple aromatics, are aromatic organic compounds that consist only of a conjugated planar ring system Integer Generated from SMILES
Formal Charge In chemistry, a formal charge (FC) is the charge assigned to an atom in a molecule, assuming that electrons in all chemical bonds are shared equally between atoms, regardless of relative electronegativity. Integer Generated from SMILES
MR Values The relative formula mass of a compound. Float Generated from SMILES
Fraction of SP3 Carbon Self explanatory. Float Generated from SMILES
Carboxylic Acids A carboxylic acid is an organic compound that contains a carboxyl group (C(=O)OH). Integer Generated from SMILES
Molecular Weight Molecular mass or molecular weight is the mass of a molecule. It is calculated as the sum of the atomic weights of each constituent element multiplied by the number of atoms of that element in the molecular formula. Float Generated from SMILES
Rotatable Bonds The number of rotatable bonds (RBN) is the number of bonds which allow free rotation around themselves. Integer Generated from SMILES
External Sources
ChEBI ID ChEBI Identifier String BridgeDb, or source
HMDB Accession HMDB Accession Number String BridgeDb, or source
PubChem ID PubChem Identifier String BridgeDb, or source
KEGG Compound KEGG Compound Identifier String BridgeDb, or source
CAS CAS Registry Number String BridgeDb, or source
Wikidata Wikidata Identifier String BridgeDb, or source
Chemspider Chemspider Identifier String BridgeDb, or source
BioCyc Bio/MetaCyc Identifier String BioCyc
SMPDB Small Molecule Pathway Database Identifier List HMDB.
BioCyc BioCyc Pathway Database Identifier List BioCyc
KEGG KEGG Pathway Database Identifier List KEGG
Polarity Polarity Float pyIDICk
Accurate Mass Precusor Peak Float pyIDICk
Adduct Adduct Type ([M], [M+H]1+...) String pyIDICk
Isotopic Distribution Calculated isotopic distribution List pyIDICk

Contact Us

To report issues with the website, database, or to request assistance - please send an email to