name: reactome-database description: “查询Reactome REST API进行通路分析、富集分析、基因-通路映射、疾病通路、分子交互、表达分析,用于系统生物学研究。”
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 包
Python客户端库,包装Reactome API调用,便于程序化访问。
安装:
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}")
查询特定实体:
import requests
entity_id = "R-HSA-69278" # 示例通路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
# 查询通路信息
pathway_info = content.query_by_id("R-HSA-69278")
# 获取数据库版本
version = content.get_database_version()
详细API端点和参数,请参阅此技能中的references/api_reference.md。
执行通路分析
过表达分析
提交基因/蛋白质标识符列表以查找富集通路。
使用REST API:
import requests
# 准备标识符列表
identifiers = ["TP53", "BRCA1", "EGFR", "MYC"]
data = "
".join(identifiers)
# 提交分析
response = requests.post(
"https://reactome.org/AnalysisService/identifiers/",
headers={"Content-Type": "text/plain"},
data=data
)
result = response.json()
token = result["summary"]["token"] # 保存令牌以稍后检索结果
# 访问通路
for pathway in result["pathways"]:
print(f"{pathway['stId']}: {pathway['name']} (p值: {pathway['entities']['pValue']})")
通过令牌检索分析结果:
# 令牌有效期为7天
response = requests.get(f"https://reactome.org/AnalysisService/token/{token}")
results = response.json()
表达数据分析
分析带定量值的基因表达数据集。
输入格式(TSV,头部以#开头):
#基因 样本1 样本2 样本3
TP53 2.5 3.1 2.8
BRCA1 1.2 1.5 1.3
EGFR 4.5 4.2 4.8
提交表达数据:
import requests
# 读取TSV文件
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"查看结果:{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(错误发现率)
辅助脚本
此技能包含scripts/reactome_query.py,一个用于常见Reactome操作的辅助脚本:
# 查询通路信息
python scripts/reactome_query.py query R-HSA-69278
# 执行过表达分析
python scripts/reactome_query.py analyze gene_list.txt
# 获取数据库版本
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篇文献参考