Reactome Database logo

Reactome Database

OrganizationPopular
google-deepmind
reactome-database

Query the Reactome database (Analysis and Content Services). Use when the user asks about pathway analysis, gene list enrichment, retrieving results by token, finding unmapped or not-found identifiers, mapping identifiers, reaction participants (inputs, outputs), pathway hierarchy (including top-level pathways), diagram export, cross-reference mapping, or searching the knowledgebase.

Overview

Publishergoogle-deepmind
Repositoryscience-skills
Skill namereactome-database
Stars
3.1K
Forks
349
Bundled files
3
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by google-deepmind on GitHub. Read the source before you install it.

Installation

Install the Reactome Database AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/google-deepmind/science-skills.git /tmp/science-skills
mkdir -p .claude/skills
cp -r /tmp/science-skills/skills/reactome_database .claude/skills/reactome-database
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Reactome Database in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Reactome Database on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Reactome Database is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Reactome Analysis & Content Service

Prerequisites

  1. uv: Read the uv skill and follow its Setup instructions to ensure uv is installed and on PATH.
  2. User Notification: If .licenses/reactome_database_LICENSE.txt does not already exist in the workspace root directory then (1) prominently notify the user to check the terms at https://reactome.org/license and https://reactome.org/cite, then (2) create the file recording the notification text and timestamp.

Overview

Reactome is a free, open-source, curated pathway database. This skill wraps both the Analysis Service (https://reactome.org/AnalysisService/) and the Content Service (https://reactome.org/ContentService/) providing pathway enrichment analysis, identifier mapping, reaction details, pathway hierarchy navigation, diagram export, cross-reference mapping, and search.

When to Use This Skill

  • Performing pathway enrichment (overrepresentation) analysis on gene/protein lists
  • Retrieving analysis results using a token from previous enrichment
  • Identifying which genes or proteins were not found in a pathway analysis
  • Analyzing gene expression data against pathway annotations
  • Mapping identifiers to Reactome entities across species
  • Retrieving reaction participants (inputs, outputs, catalysts, regulators)
  • Navigating pathway hierarchy and listing top-level pathways
  • Finding which complexes or sets contain a protein
  • Exporting pathway/reaction diagrams (PNG/SVG) with gene highlighting
  • Cross-referencing identifiers across databases (UniProt, Ensembl, etc.)
  • Searching the Reactome knowledgebase
  • Downloading analysis reports (PDF, CSV, JSON)
  • Comparing pathways across species

Common Species IDs

Reference list for common research organisms:

  • Homo sapiens
    • ID: 9606
  • Mus musculus (Mouse)
    • ID: 48892
  • Rattus norvegicus (Rat)
    • ID: 48895

Common Pathway IDs

Reference list for commonly used Reactome pathway stable IDs:

  • Cell Cycle
    • Stable ID: R-HSA-1640170
    • Notes: Top-level pathway (broad)
  • Cell Cycle, Mitotic
    • Stable ID: R-HSA-69278
    • Notes: Specific sub-pathway — use this for diagrams and drill-downs
  • Immune System
    • Stable ID: R-HSA-168256
    • Notes: Top-level pathway
  • Signal Transduction
    • Stable ID: R-HSA-162582
    • Notes: Top-level pathway
  • Gene Expression
    • Stable ID: R-HSA-74160
    • Notes: Top-level pathway
  • Programmed Cell Death
    • Stable ID: R-HSA-5357801
    • Notes: Top-level pathway

Important: When the user asks for a "Cell Cycle" diagram or analysis, prefer the specific Cell Cycle, Mitotic pathway (R-HSA-69278) unless the user explicitly requests the top-level overview. The examples throughout this document use R-HSA-69278.

Core Rules

  1. Always use --output: Every subcommand requires --output <file> to write results to a file. Never rely on stdout for large results.
  2. Default species is Homo sapiens: Use --species to override.
  3. Tokens expire after 7 days: Store tokens from analysis results to retrieve them later without re-submitting data.
  4. Use --fdr and --pvalue to filter: Enrichment results can be overwhelming. Filter with --fdr 0.05 or --pvalue 0.01 to focus on statistically significant pathways.
  5. Identifier formats: Reactome auto-detects identifiers including gene symbols (TP53), UniProt (P04637), Ensembl (ENSG00000141510), ChEBI, OMIM, EntrezGene, and many more.
  6. Handle large outputs: For commands that return large data (like species-comparison), use the --summary flag to truncate lists and avoid exceeding workspace file size limits (1MB).
  7. Notification: If this skill is used, ensure this is mentioned in the output.

Tool Execution

The CLI tool is at scripts/reactome_analysis.py. Run with uv:

bash
uv run scripts/reactome_analysis.py <command> [options] --output /tmp/out.json

To list all available subcommands and flags, run:

bash
uv run scripts/reactome_analysis.py --help

Use --help to verify available subcommands or flags before executing an unfamiliar command.

Feature Domains

1. Database Info

bash
uv run scripts/reactome_analysis.py db-version --output /tmp/version.json
uv run scripts/reactome_analysis.py db-name --output /tmp/name.json

2. Single Identifier Analysis

bash
uv run scripts/reactome_analysis.py identifier --id TP53 --output /tmp/tp53.json
uv run scripts/reactome_analysis.py identifier-projection --id TP53 --output /tmp/tp53_proj.json

3. Batch Analysis (Enrichment)

Submit a list of identifiers for overrepresentation or expression analysis:

bash
uv run scripts/reactome_analysis.py analyze --data "TP53,BRCA1,EGFR" --output /tmp/enrich.json
uv run scripts/reactome_analysis.py analyze --file genes.txt --output /tmp/enrich.json
uv run scripts/reactome_analysis.py analyze-projection --data "TP53,BRCA1" --output /tmp/proj.json
uv run scripts/reactome_analysis.py analyze --data "TP53,BRCA1" --fdr 0.05 --output /tmp/sig.json

Common options: --page-size (alias --limit), --page (alias --offset), --sort-by, --order, --resource, --species, --fdr, --pvalue.

4. Token-Based Result Retrieval

bash
uv run scripts/reactome_analysis.py token-result --token TOKEN --output /tmp/result.json
uv run scripts/reactome_analysis.py token-not-found --token TOKEN --output /tmp/notfound.json
uv run scripts/reactome_analysis.py token-resources --token TOKEN --output /tmp/resources.json
uv run scripts/reactome_analysis.py token-found-entities --token TOKEN --pathway R-HSA-69278 --output /tmp/found.json
uv run scripts/reactome_analysis.py token-filter-species --token TOKEN --species-filter 9606 --output /tmp/filtered.json
uv run scripts/reactome_analysis.py token-reactions-pathway --token TOKEN --pathway R-HSA-69278 --output /tmp/rxns.json

5. Download Results

bash
uv run scripts/reactome_analysis.py download-result --token TOKEN --output /tmp/full.json
uv run scripts/reactome_analysis.py download-pathways --token TOKEN --output /tmp/pathways.csv
uv run scripts/reactome_analysis.py download-found --token TOKEN --output /tmp/found.csv
uv run scripts/reactome_analysis.py download-not-found --token TOKEN --output /tmp/notfound.csv

6. Identifier Mapping

bash
uv run scripts/reactome_analysis.py mapping --data "TP53,BRCA1" --output /tmp/mapped.json
uv run scripts/reactome_analysis.py mapping-projection --data "TP53" --output /tmp/mapped_proj.json

7. Reaction Participants & Mechanism of Action

Retrieve the molecular participants of a reaction (inputs, outputs, catalysts):

bash
uv run scripts/reactome_analysis.py participants --id R-HSA-6804194 --output /tmp/participants.json
uv run scripts/reactome_analysis.py participating-entities --id R-HSA-6804194 --output /tmp/entities.json

8. Complex & Set Membership

Find which complexes or sets contain a given entity:

bash
uv run scripts/reactome_analysis.py component-of --id R-HSA-69488 --output /tmp/complexes.json

9. Pathway Hierarchy Navigation

Move up (ancestors) or down (contained events) the pathway hierarchy:

bash
uv run scripts/reactome_analysis.py event-ancestors --id R-HSA-69278 --output /tmp/ancestors.json
uv run scripts/reactome_analysis.py contained-events --id R-HSA-69278 --output /tmp/steps.json
uv run scripts/reactome_analysis.py top-pathways --output /tmp/top.json
uv run scripts/reactome_analysis.py low-pathways --id R-HSA-69488 --output /tmp/low.json

10. Diagram Export

Export pathway or reaction diagrams as PNG/SVG, with optional gene highlighting:

bash
uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --output /tmp/diagram.png
uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --highlight TP53 --output /tmp/highlighted.png
uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --format svg --output /tmp/diagram.svg
uv run scripts/reactome_analysis.py reaction-diagram --id R-HSA-6804194 --output /tmp/rxn.png

11. Cross-Reference Mapping

Resolve identifiers to Reactome internal IDs and cross-references:

bash
uv run scripts/reactome_analysis.py xref-mapping --id TP53 --output /tmp/xref.json
uv run scripts/reactome_analysis.py xref-mapping-batch --data "TP53,BRCA1" --output /tmp/xrefs.json

12. Search

bash
uv run scripts/reactome_analysis.py search --query "TP53 apoptosis" --output /tmp/results.json

13. Query Entry by ID

bash
uv run scripts/reactome_analysis.py query --id R-HSA-69278 --output /tmp/entry.json

14. Report & Species Comparison

bash
uv run scripts/reactome_analysis.py report --token TOKEN --output /tmp/report.pdf
uv run scripts/reactome_analysis.py species-comparison --species-id 48892 --output /tmp/species.json
# Use --summary to truncate large output and avoid workspace file size limits
uv run scripts/reactome_analysis.py species-comparison --species-id 48892 --summary --output /tmp/species.json

Recipe: Interpreting Gene Set Enrichment

A step-by-step workflow for interpreting gene set enrichment results:

  1. Submit gene list with projection to human pathways: bash uv run scripts/reactome_analysis.py analyze-projection \ --data "TP53,BRCA1,EGFR,MYC,PTEN" --fdr 0.05 --output /tmp/enrichment.json

  2. Inspect top pathways — examine pathwaysFound, top pathway names, p-values, and FDR values in the output.

  3. Drill into a pathway — get its sub-events and reaction details: bash uv run scripts/reactome_analysis.py contained-events --id R-HSA-69278 --output /tmp/steps.json uv run scripts/reactome_analysis.py participants --id <reaction_id> --output /tmp/parts.json

  4. Visualise — export a diagram with your genes highlighted: bash uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 \ --highlight "TP53,BRCA1" --output /tmp/diagram.png

  5. Check hierarchy — navigate up to see broader biological context: bash uv run scripts/reactome_analysis.py event-ancestors --id R-HSA-69278 --output /tmp/ancestors.json

  6. Cross-reference — map identifiers to other databases: bash uv run scripts/reactome_analysis.py xref-mapping --id TP53 --output /tmp/xrefs.json

Reference

For detailed API endpoint documentation, see references/api_reference.md.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Reactome Database AI skill do?

Query the Reactome database (Analysis and Content Services). Use when the user asks about pathway analysis, gene list enrichment, retrieving results by token, finding unmapped or not-found identifiers, mapping identifiers, reaction participants (inputs, outputs), pathway hierarchy (including top-level pathways), diagram export, cross-reference mapping, or searching the knowledgebase.

Why use Reactome Database on TypingMind?

Because you install it once and use it with any model. Reactome Database is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Reactome Database in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/google-deepmind/science-skills/tree/main/skills/reactome_database. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Reactome Database?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Reactome Database?

As many as you like. As long as a model supports skills, you can use Reactome Database with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Reactome Database AI skill free?

Yes. It is published on GitHub by google-deepmind under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇