关于 reactome-database
用于查询 Reactome 通路数据,并分析基因列表或表达数据集的技能。它为系统生物学研究提供 REST API、Python 客户端及结果可视化的使用指引。
主要功能
- 01检索通路与实体数据
- 02分析通路过度代表性
- 03分析表达数据集
- 04比较不同物种的通路
- 05将标识符映射到通路
- 06在 Pathway Browser 查看结果
适用场景
- 01查找基因列表富集的通路
- 02探索通路反应与分子
- 03分析表达数据中的相关通路
- 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 文档:https://reactome.org/dev
- 用户指南:https://reactome.org/userguide
- 文档门户:https://reactome.org/documentation
- 数据下载:https://reactome.org/download-data
- reactome2py 文档:https://reactome.github.io/reactome2py/
如需完整的 API 端点文档,请参阅此技能中的 references/api_reference.md。
当前数据库统计信息(版本 94,2025 年 9 月)
- 2,825 条人类通路
- 16,002 个反应
- 11,630 种蛋白质
- 2,176 种小分子
- 1,070 种药物
- 41,373 条文献引用