reactome-database について
Reactome Database は、遺伝子、タンパク質、発現データを扱う研究者向けの、無料でオープンソースのキュレーション済み経路データベースおよび解析サービスです。経路や分子の検索、富化・発現解析、種間の経路比較に対応します。
主な機能
- 01経路と分子情報の検索
- 02経路の過剰代表解析
- 03遺伝子発現データの解析
- 04種間の経路比較
- 05Python クライアントによる API 利用
活用シーン
- 01遺伝子リストから富化経路を特定
- 02発現データから関連経路を抽出
- 03反応、タンパク質、分子相互作用を検索
- 04種間で経路情報を比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ leonchaox/ qinyan-academic-skills --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 は、2 つの主要な API サービスと Python クライアントライブラリを提供しています。
1. Content Service - データ取得
生物学的経路データ、分子間相互作用、エンティティ情報を検索・取得します。
一般的な操作:
- 経路情報と階層構造の取得
- 特定のエンティティ(タンパク質、反応、複合体)の検索
- 経路に関与する分子の取得
- データベースのバージョンとメタデータへのアクセス
- 経路のコンパートメントと局在の探索
API ベース URL: https://reactome.org/ContentService
2. Analysis Service - 経路解析
遺伝子リストと発現データに対して計算解析を実行します。
解析の種類:
- 過剰表現解析: 遺伝子・タンパク質リストから統計的に有意な経路を特定します
- 発現データ解析: 遺伝子発現データセットを解析し、関連する経路を見つけます
- 種間比較: 異なる生物種間で経路データを比較します
API ベース URL: https://reactome.org/AnalysisService
3. reactome2py Python パッケージ
Reactome API 呼び出しをラップし、プログラムから容易にアクセスできるようにする Python クライアントライブラリです。
インストール:
uv pip install reactome2py
注意: reactome2py パッケージ(バージョン 3.0.0、2021 年 1 月リリース)は動作しますが、積極的な保守は行われていません。最新の機能を利用する場合は、REST API を直接呼び出すことを検討してください。
経路データの検索
Content Service REST API の利用
Content Service は 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
システムは識別子の種類を自動的に判別します。
入力形式の要件
過剰表現解析の場合:
- 識別子のプレーンテキストリスト(1行に1つ)
- または 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 件