mcpField
R
reactome-database

reactome-database

github.com/davila7数据与数据库33.0k252 次安装今天更新
代码仓库

关于 reactome-database

用于查询 Reactome 通路数据,并分析基因列表或表达数据集的技能。它为系统生物学研究提供 REST API、Python 客户端及结果可视化的使用指引。

主要功能

  1. 01检索通路与实体数据
  2. 02分析通路过度代表性
  3. 03分析表达数据集
  4. 04比较不同物种的通路
  5. 05将标识符映射到通路
  6. 06在 Pathway Browser 查看结果

适用场景

  1. 01查找基因列表富集的通路
  2. 02探索通路反应与分子
  3. 03分析表达数据中的相关通路
  4. 04比较不同物种的生物通路

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill reactome-database

安装后在 Claude Code 中输入/reactome-database确认已加载。

附带文件references/api_reference.mdscripts/reactome_query.py

详细介绍

Reactome 数据库

概述

Reactome 是一个免费、开源且经过整理的通路数据库,包含 2,825 多条人类通路。可通过 REST API 和 Python 客户端查询生物通路、执行过度富集分析和表达分析、将基因映射到通路,以及探索分子相互作用,服务于系统生物学研究。

何时使用此技能

在以下情况下应使用此技能:

  • 对基因或蛋白质列表执行通路富集分析
  • 分析基因表达数据,以识别相关生物通路
  • 查询特定通路信息、反应或分子相互作用
  • 将基因或蛋白质映射到生物通路和过程
  • 探索疾病相关通路和机制
  • 在 Reactome Pathway Browser 中可视化分析结果
  • 跨物种进行比较通路分析

核心功能

Reactome 提供两项主要 API 服务和一个 Python 客户端库:

1. 内容服务 - 数据检索

查询和检索生物通路数据、分子相互作用及实体信息。

常见操作:

  • 检索通路信息和层级结构
  • 查询特定实体(蛋白质、反应、复合物)
  • 获取通路中的参与分子
  • 查看数据库版本和元数据
  • 探索通路区室和位置

API 基础 URL: https://reactome.org/ContentService

2. 分析服务 - 通路分析

对基因列表和表达数据执行计算分析。

分析类型:

  • 过度富集分析:从基因/蛋白质列表中识别具有统计显著性的通路
  • 表达数据分析:分析基因表达数据集,查找相关通路
  • 物种比较:比较不同生物体的通路数据

API 基础 URL: https://reactome.org/AnalysisService

3. reactome2py Python 包

用于封装 Reactome API 调用、以便更轻松地进行编程访问的 Python 客户端库。

安装:

uv pip install reactome2py

注意: reactome2py 包(版本 3.0.0,于 2021 年 1 月发布)可正常使用,但目前未积极维护。如需使用最新功能,可考虑直接调用 REST API。

查询通路数据

使用内容服务 REST API

内容服务使用 REST 协议,并以 JSON 或纯文本格式返回数据。

获取数据库版本:

import requests

response = requests.get("https://reactome.org/ContentService/data/database/version")
version = response.text
print(f"Reactome version: {version}")

查询特定实体:

import requests

entity_id = "R-HSA-69278"  # Example pathway ID
response = requests.get(f"https://reactome.org/ContentService/data/query/{entity_id}")
data = response.json()

获取通路中的参与分子:

import requests

event_id = "R-HSA-69278"
response = requests.get(
    f"https://reactome.org/ContentService/data/event/{event_id}/participatingPhysicalEntities"
)
molecules = response.json()
使用 reactome2py 包
import reactome2py
from reactome2py import content

# Query pathway information
pathway_info = content.query_by_id("R-HSA-69278")

# Get database version
version = content.get_database_version()

有关 API 端点和参数的详细信息,请参阅此技能中的 references/api_reference.md。

执行通路分析

过度富集分析

提交基因/蛋白质标识符列表,以查找富集通路。

使用 REST API:

import requests

# Prepare identifier list
identifiers = ["TP53", "BRCA1", "EGFR", "MYC"]
data = "\n".join(identifiers)

# Submit analysis
response = requests.post(
    "https://reactome.org/AnalysisService/identifiers/",
    headers={"Content-Type": "text/plain"},
    data=data
)

result = response.json()
token = result["summary"]["token"]  # Save token to retrieve results later

# Access pathways
for pathway in result["pathways"]:
    print(f"{pathway['stId']}: {pathway['name']} (p-value: {pathway['entities']['pValue']})")

通过令牌检索分析结果:

# Token is valid for 7 days
response = requests.get(f"https://reactome.org/AnalysisService/token/{token}")
results = response.json()
表达数据分析

使用定量值分析基因表达数据集。

输入格式(首行为 # 的 TSV):

#Gene	Sample1	Sample2	Sample3
TP53	2.5	3.1	2.8
BRCA1	1.2	1.5	1.3
EGFR	4.5	4.2	4.8

提交表达数据:

import requests

# Read TSV file
with open("expression_data.tsv", "r") as f:
    data = f.read()

response = requests.post(
    "https://reactome.org/AnalysisService/identifiers/",
    headers={"Content-Type": "text/plain"},
    data=data
)

result = response.json()
物种投射

仅使用 /projection/ 端点将标识符映射到人类通路:

response = requests.post(
    "https://reactome.org/AnalysisService/identifiers/projection/",
    headers={"Content-Type": "text/plain"},
    data=data
)

可视化结果

可通过使用分析令牌构造 URL,在 Reactome Pathway Browser 中可视化分析结果:

token = result["summary"]["token"]
pathway_id = "R-HSA-69278"
url = f"https://reactome.org/PathwayBrowser/#{pathway_id}&DTAB=AN&ANALYSIS={token}"
print(f"View results: {url}")

使用分析令牌

  • 分析令牌的有效期为 7 天
  • 无需重新提交即可使用令牌检索先前计算的结果
  • 保存令牌,以便在不同会话中访问结果
  • 使用 GET /token/{TOKEN} 端点检索结果

数据格式和标识符

支持的标识符类型

Reactome 接受多种标识符格式:

  • UniProt 登录号(例如,P04637)
  • 基因符号(例如,TP53)
  • Ensembl ID(例如,ENSG00000141510)
  • EntrezGene ID(例如,7157)
  • 小分子对应的 ChEBI ID

系统会自动检测标识符类型。

输入格式要求

用于过度代表性分析:

  • 每行一个标识符的纯文本列表
  • 或 TSV 格式的单列

用于表达分析:

  • TSV 格式,必须包含以「#」开头的标题行
  • 第 1 列:标识符
  • 第 2 列及之后:数值型表达值
  • 使用句点(.)作为小数分隔符
输出格式

所有 API 响应均返回包含以下内容的 JSON:

  • pathways:包含统计指标的富集通路数组
  • summary:分析元数据和令牌
  • entities:匹配和未映射的标识符
  • 统计值:pValue、FDR(错误发现率)

辅助脚本

此技能包含用于常见 Reactome 操作的辅助脚本 scripts/reactome_query.py:

# Query pathway information
python scripts/reactome_query.py query R-HSA-69278

# Perform overrepresentation analysis
python scripts/reactome_query.py analyze gene_list.txt

# Get database version
python scripts/reactome_query.py version

更多资源

如需完整的 API 端点文档,请参阅此技能中的 references/api_reference.md。

当前数据库统计信息(版本 94,2025 年 9 月)

  • 2,825 条人类通路
  • 16,002 个反应
  • 11,630 种蛋白质
  • 2,176 种小分子
  • 1,070 种药物
  • 41,373 条文献引用

评论

支持 Markdown