Pathway Browser

Visualize and interact with Reactome biological pathways

Analysis Tools

Merges pathway identifier mapping,
over-representation, and expression analysis

ReactomeFIViz

Designed to find pathways and network patterns related to cancer and other types of diseases

Documentation

Information to browse the database and use its principal tools for data analysis

Reactome Research Spotlight

[April 15, 2024] In the December issue of Toxicology and Applied Pharmacology, Zhang et al. (2023) used the R package, ReactomePA (Yu and He, 2016) to identify enriched pathways responding to nickel-induced transcriptional memory changes in response to a second respiratory toxicant, nicotine. Nicotine exposure upregulated a specific subset of genes in the cells previously exposed to nickel, identifying a robust activation of interferon (IFN) signaling, a driver of inflammation associated with many chronic lung diseases.

ARCHIVE

Why Reactome

Reactome is a free, open-source, curated and peer-reviewed pathway database. Our goal is to provide intuitive bioinformatics tools for the visualization, interpretation and analysis of pathway knowledge to support basic research, genome analysis, modeling, systems biology and education. 

European Bioinformatics Institute (EMBL-EBI)
NYU Langone Health
Oregon Health & Science University
Ontario Institute for Cancer Research

The development of Reactome is supported by grants from the US National Institutes of Health (U24 HG012198) and the European Molecular Biology Laboratory.

Version 88 released on March 27th, 2024

2,698

Human Pathways

15,212

Reactions

11,442

Proteins

2,128

Small Molecules

1,047

Drugs

38,549

Literature References

Explore our tools and web services and learn how to include them in your applications

More Info

The Content Service constitutes an easy API that provides access to the Reactome knowledgebase. Information in Reactome is authored by expert biologist researchers, maintained by Reactome editorial staff, and extensively cross-referenced to other resources e.g. NCBI, Ensembl, UniProt, UCSC Genome Browser, HapMap, KEGG (Gene and Compound), ChEBI, PubMed and GO. It also incorporates inferred orthologous reactions for over 14 non-human species including mouse, rat, chicken, puffer fish, worm, fly, yeast, rice, Arabidopsis and E.coli. Additionally, the Content Service provides access to molecular interactions integrated from PSICQUIC.

The Content Service is based on the Representational State Transfer (REST) protocol. This eliminates the need for complex clients and renders the service simpler, more lightweight, more flexible, and, thus, easier to integrate into third party software compared to its SOAP/WSDL counterparts.

The API includes a set of methods classified in groups according to their functionality. For instance, expanding the pathways group reveals a set of methods that provide specific information about pathways such as the contained Events or the participating PhysicalEntities. All methods are specified as either GET or POST requests. GET and POST are not interchangeable. Expanding a particular method provides more information about its input and output parameters as well as a simple test case for users to try out. In addition, users can also use any command line client such as wget or curl to access the methods.

It is worth mentioning that to use this API efficiently, the user needs to understand the Reactome data model and schema.

Get Started

Let’s start with one of the most basic examples; retrieving the version of the database. It can be addressed by querying the “/data/database/version” method:

curl -X GET --header 'Accept: text/plain' 'https://reactome.org/ContentService/data/database/version'

The response will be a “text/plain” file containing just the number of the release.

To retrieve the information for the reaction Mad1 binds kinetochore which identifier is R-HSA-141409, the query would be as follows:

curl -X GET --header 'Accept: application/json' 'https://reactome.org/ContentService/data/query/R-HSA-141409'

And the response comes in “application/json” format:

{
  dbId: 141409,
  displayName: "Mad1 binds kinetochore",
  stId: "R-HSA-141409",
  created: {
    dbId: 143430,
    displayName: "Yen, T, 2004-05-05 00:00:00",
    dateTime: "2004-05-05 05:00:00.0",
    schemaClass: "InstanceEdit"
  },
  modified: {
    dbId: 1591212,
    displayName: "Matthews, L, 2011-09-08",
    dateTime: "2011-09-08 21:45:40.0",
    schemaClass: "InstanceEdit"
  },
  isInDisease: false,
  isInferred: false,
  name: [
    "Mad1 binds kinetochore"
  ],
  speciesName: "Homo sapiens",
  authored: [
    143430
  ],
  compartment: [
    {
      dbId: 70101,
      displayName: "cytosol",
      accession: "0005829",
      databaseName: "GO",
      definition: "The part of the cytoplasm that does not contain organelles but which does contain other particulate matter, such as protein complexes.",
      name: "cytosol",
      url: "http://www.ebi.ac.uk/ego/QuickGO?mode=display&entry=GO:0005829",
      schemaClass: "EntityCompartment"
    }
  ],
  literatureReference: [
    {
      dbId: 143441,
      displayName: "Mitotic checkpoint proteins HsMAD1 and HsMAD2 are associated with nuclear pore complexes in interphase",
      title: "Mitotic checkpoint proteins HsMAD1 and HsMAD2 are associated with nuclear pore complexes in interphase",
      journal: "J Cell Sci",
      pages: "953-63",
      pubMedIdentifier: 11181178,
      volume: 114,
      year: 2001,
      url: "http://www.ncbi.nlm.nih.gov/pubmed/11181178",
      schemaClass: "LiteratureReference"
    }
  ],
  species: [
    {
      dbId: 48887,
      displayName: "Homo sapiens",
      name: [
        "Homo sapiens",
        "H. sapiens",
        "Hs",
        "human",
        "man"
      ],
      taxId: "9606",
      schemaClass: "Species"
    }
  ],
  summation: [
    {
      dbId: 143355,
      displayName: "",
      text: "The association of Mad1 with the kinetochore is the first step in the process of Mad2 mediated amplification of the signal from defective kinetochores.",
      schemaClass: "Summation"
    }
  ],
  input: [
    {
      dbId: 141433,
      displayName: "MAD1L1 [cytosol]",
      stId: "R-HSA-141433",
      name: [
        "MAD1L1",
        "HsMad1"
      ],
      speciesName: "Homo sapiens",
      consumedByEvent: [
        141409
      ],
      endCoordinate: 718,
      referenceType: "ReferenceGeneProduct",
      startCoordinate: 1,
      schemaClass: "EntityWithAccessionedSequence"
    },
    {
      dbId: 141398,
      displayName: "Kinetochore Complex [cytosol]",
      stId: "R-HSA-141398",
      name: [
        "Kinetochore Complex"
      ],
      speciesName: "Homo sapiens",
      consumedByEvent: [
        141409
      ],
      schemaClass: "GenomeEncodedEntity"
    }
  ],
  output: [
    {
      dbId: 141441,
      displayName: "Mad1:kinetochore complex [cytosol]",
      stId: "R-HSA-141441",
      name: [
        "Mad1:kinetochore complex"
      ],
      speciesName: "Homo sapiens",
      producedByEvent: [
        141409
      ],
      hasComponent: [
        
      ],
      schemaClass: "Complex"
    }
  ],
  schemaClass: "Reaction"
}

In the previous result, there are several json field keys such as dbId, displayName, stId, name, compartment, literatureReference and so on. In case we are only interested in a particular field, e.g compartment, the query would be as follows:

curl -X GET --header 'Accept: text/plain' 'https://reactome.org/ContentService/data/query/R-HSA-141409/compartment'

In this case, because compartment is an object, the result will be a TSV file where the first column is the identifier of the object, the second column is the displayName of the object and the third column is the schemaClass of the object:

70101	cytosol	EntityCompartment

In case the queried attribute is a primitive type:

curl -X GET --header 'Accept: text/plain' 'https://reactome.org/ContentService/data/query/R-HSA-141409/displayName'

Then the returned value is the content of it in a “text/plain” response:

Mad1 binds kinetochore

As the last example in the section, let’s check out how to retrieve the participanting molecules of the reaction used in the previous examples. To do so, we call the getParticipatingPhysicalEntities method in the API:

curl -X GET --header 'Accept: application/json' 'https://www.reactome.org/ContentService/data/event/R-HSA-141409/participatingPhysicalEntities'

And the response comes in “application/json” format:

[
  {
    dbId: 141398,
    displayName: "Kinetochore Complex [cytosol]",
    stId: "R-HSA-141398",
    name: [
      "Kinetochore Complex"
    ],
    speciesName: "Homo sapiens",
    schemaClass: "GenomeEncodedEntity"
  },
  {
    dbId: 141433,
    displayName: "MAD1L1 [cytosol]",
    stId: "R-HSA-141433",
    name: [
      "MAD1L1",
      "HsMad1"
    ],
    speciesName: "Homo sapiens",
    endCoordinate: 718,
    referenceType: "ReferenceGeneProduct",
    startCoordinate: 1,
    schemaClass: "EntityWithAccessionedSequence"
  },
  {
    dbId: 141441,
    displayName: "Mad1:kinetochore complex [cytosol]",
    stId: "R-HSA-141441",
    name: [
      "Mad1:kinetochore complex"
    ],
    speciesName: "Homo sapiens",
    hasComponent: [
      
    ],
    schemaClass: "Complex"
  }
]

Check out the ContentService API to find out more methods and see which ones cover your needs. Please This email address is being protected from spambots. You need JavaScript enabled to view it. if your needs are not covered and you think extra methods should be added to our API.

Resources

API Documentation

Diagram exporter

Cite Us!