JpTxGNN - Japan: Drug Repurposing Predictions
本專案由 藥提醒科技有限公司(yao.care)開發與維運。
JpTxGNN 站台:https://jptxgnn.yao.care/|產品總覽:https://www.yao.care/medical/txgnn/
Japan PMDA承認医薬品のTxGNNモデルによるドラッグリポジショニング予測。
免責事項
- 本プロジェクトの結果は研究目的のみであり、医療アドバイスを構成するものではありません。
- ドラッグリポジショニング候補は、適用前に臨床検証が必要です。
プロジェクト概要
レポート統計
| 項目 | 数量 |
|---|
| 医薬品レポート | 385 |
| 予測総数 | 13,479,854 |
| ユニーク医薬品数 | 470 |
| ユニーク適応症数 | 17,041 |
| DDIデータ | 160,235 |
| FHIRリソース | 529 MK / 2,400 CUD |
エビデンスレベル分布
| エビデンスレベル | レポート数 | 説明 |
|---|
| L1 | 2 | 複数のPhase 3 RCT |
| L2 | 15 | 単一RCTまたは複数のPhase 2 |
| L3 | 10 | 観察研究 |
| L4 | 14 | 前臨床/メカニズム研究 |
| L5 | 255 | 計算予測のみ |
| N/A | 89 | 既知の用途のみ(新規予測なし) |
ソース別
| ソース | 予測数 |
|---|
| DL | 13,476,908 |
| KG + DL | 2,555 |
| KG | 391 |
信頼度別
| 信頼度 | 予測数 |
|---|
| very_high | 1,940 |
| high | 647,079 |
| medium | 1,203,776 |
| low | 11,627,059 |
予測方法
| 方法 | 速度 | 精度 | 要件 |
|---|
| 知識グラフ | 高速(秒単位) | 低い | 特別な要件なし |
| ディープラーニング | 低速(時間単位) | 高い | Conda + PyTorch + DGL |
知識グラフ方法
uv run python scripts/run_kg_prediction.py
| 指標 | 値 |
|---|
| PMDA 医薬品総数 | 19,148 |
| リポジショニング候補 | 2,946 |
ディープラーニング方法
conda activate txgnn
PYTHONPATH=src python -m jptxgnn.predict.txgnn_model
| 指標 | 値 |
|---|
| DL予測総数 | 836,080 |
| ユニーク医薬品数 | 470 |
| ユニーク適応症数 | 17,041 |
スコア解釈
TxGNNスコアは、医薬品-疾患ペアに対するモデルの信頼度を表し、0から1の範囲です。
| 閾値 | 意味 |
|---|
| >= 0.9 | 非常に高い信頼度 |
| >= 0.7 | 高い信頼度 |
| >= 0.5 | 中程度の信頼度 |
スコア分布
| 閾値 | 意味 |
|---|
| ≥ 0.9999 | 極めて高い信頼度、モデルの最も確信のある予測 |
| ≥ 0.99 | 非常に高い信頼度、検証の優先順位付けに値する |
| ≥ 0.9 | 高い信頼度 |
| ≥ 0.5 | 中程度の信頼度(シグモイド決定境界) |
エビデンスレベルの定義
| レベル | 定義 | 臨床的意義 |
|---|
| L1 | 第3相RCTまたはシステマティックレビュー | 臨床使用を支持できる |
| L2 | 第2相RCT | 使用を検討できる |
| L3 | 第1相または観察研究 | 更なる評価が必要 |
| L4 | 症例報告または前臨床研究 | まだ推奨されない |
| L5 | 計算予測のみ、臨床エビデンスなし | 更なる研究が必要 |
重要な注意事項
- 高スコアは臨床的有効性を保証しません:TxGNNスコアは知識グラフベースの予測であり、臨床試験による検証が必要です。
- 低スコアは無効を意味しません:モデルが特定の関連性を学習していない可能性があります。
- 検証パイプラインとの併用を推奨:本プロジェクトのツールを使用して、臨床試験、文献、その他のエビデンスを確認してください。
検証パイプライン
flowchart TD
A["TxGNN予測結果"] --> B
subgraph B["Step 1: DrugBundle Collector"]
B1["医薬品レベル: PMDA, DDI, DrugBank"]
B2["適応症レベル: ClinicalTrials, PubMed, ICTRP"]
end
B --> |"drug_bundle.json"| C
subgraph C["Step 2: Evidence Pack Generator"]
C1["プログラマティックデータ転送 (100%)"]
C2["+ LLM 分析 (L1-L5)"]
end
C --> |"drug_evidence_pack.json/md"| D
subgraph D["Step 3: Notes Writer"]
D1["drug_pharmacist_notes.md"]
D2["drug_sponsor_notes.md"]
end
クイックスタート
ステップ 1: データのダウンロード
ステップ 2: 依存関係のインストール
uv sync
ステップ 3: 医薬品データの処理
uv run python scripts/process_fda_data.py
ステップ 4: 語彙データの準備
uv run python scripts/prepare_external_data.py
ステップ 5: 知識グラフ予測の実行
uv run python scripts/run_kg_prediction.py
ステップ 6: ディープラーニング環境のセットアップ
conda create -n txgnn python=3.11 -y
conda activate txgnn
pip install torch==2.2.2 torchvision==0.17.2
pip install dgl==1.1.3
pip install git+https://github.com/mims-harvard/TxGNN.git
pip install pandas tqdm pyyaml pydantic ogb
ステップ 7: ディープラーニング予測の実行
conda activate txgnn
PYTHONPATH=src python -m jptxgnn.predict.txgnn_model
リソース
TxGNN コア
データソース
モデルダウンロード
プロジェクト紹介
ディレクトリ構造
JpTxGNN/
├── README.md
├── CLAUDE.md
├── pyproject.toml
│
├── config/
│ └── fields.yaml
│
├── data/
│ ├── kg.csv
│ ├── node.csv
│ ├── edges.csv
│ ├── raw/
│ ├── external/
│ ├── processed/
│ │ ├── drug_mapping.csv
│ │ ├── repurposing_candidates.csv
│ │ ├── txgnn_dl_predictions.csv.gz
│ │ └── integration_stats.json
│ ├── bundles/
│ └── collected/
│
├── src/jptxgnn/
│ ├── data/
│ │ └── loader.py
│ ├── mapping/
│ │ ├── normalizer.py
│ │ ├── drugbank_mapper.py
│ │ └── disease_mapper.py
│ ├── predict/
│ │ ├── repurposing.py
│ │ └── txgnn_model.py
│ ├── collectors/
│ └── paths.py
│
├── scripts/
│ ├── process_fda_data.py
│ ├── prepare_external_data.py
│ ├── run_kg_prediction.py
│ └── integrate_predictions.py
│
├── docs/
│ ├── _drugs/
│ ├── fhir/
│ │ ├── MedicationKnowledge/
│ │ └── ClinicalUseDefinition/
│ └── smart/
│
├── model_ckpt/
└── tests/
凡例: 🔵 プロジェクト開発 | 🟢 ローカルデータ | 🟡 TxGNNデータ | 🟠 検証パイプライン
データフロー
flowchart TD
FDA["PMDA データ"] --> proc["process_fda_data.py"]
TxGNN["TxGNN データ"] --> prep["prepare_external_data.py"]
proc --> json["jp_fda_drugs.json"]
prep --> ext["data/external/"]
json --> norm["normalizer.py"]
ext --> norm
norm --> drug_map["drug_mapping.csv"]
drug_map --> ind_map["indication_mapping.csv"]
ind_map --> KG["知識グラフ"]
ind_map --> DL["ディープラーニング"]
KG --> kg_out["repurposing_candidates.csv"]
DL --> dl_out["txgnn_dl_predictions.csv"]
引用
このデータセットまたはソフトウェアを使用する場合は、以下を引用してください:
@software{jptxgnn2026,
author = {Yao.Care},
title = {JpTxGNN: Drug Repurposing Validation Reports for Japan PMDA Drugs},
year = 2026,
publisher = {GitHub},
url = {https://github.com/yao-care/JpTxGNN}
}
TxGNNの原著論文も引用してください:
@article{huang2023txgnn,
title={A foundation model for clinician-centered drug repurposing},
author={Huang, Kexin and Chandak, Payal and Wang, Qianwen and Haber, Shreyas and Zitnik, Marinka},
journal={Nature Medicine},
year={2024},
doi={10.1038/s41591-024-03233-x}
}
維運:資料還原與許可證更新
完整還原
git 只放程式碼與網站頁面;許可證原始資料、證據包、藥師報告原稿、預測結果放在本 repo 的 Release。
git clone https://github.com/yao-care/jptxgnn.git && cd jptxgnn
uv sync # Python 相依套件
bash scripts/restore_data.sh # 取最新的 data-* Release,還原 data/(含校驗)
bash scripts/restore_data.sh --with-kg # 另加共用知識圖譜與預測模型(只有重跑預測才需要)
需要 GitHub CLI(gh auth login)與 uv。
改頁工具鏈
事實層、checker、許可證狀態計算等放在 tools/txgnn/.claude/,是母 repo yao-care/txgnn 的 .claude/ 複本(版本見 tools/txgnn/VERSION)。
規則要改請改母 repo,再用 python3 .claude/sync_site_tools.py JpTxGNN 同步過來,不要直接改這裡的複本。
在本 repo 單獨使用時,先組工作目錄:
WS=$(bash scripts/txgnn_ws.sh)
cd "$WS"
python3 .claude/dump_license_facts_20261021.py JpTxGNN # 依證據包算市場狀態(checker 要用)
python3 .claude/checker_trend.py --no-append JpTxGNN # 全部藥物頁 checker,必須「非 0 0」
許可證排程更新(GitHub Actions)
.github/workflows/license-refresh.yml 每週一 UTC 03:17 自動執行,也可以在 Actions 頁手動觸發(可選只試跑):
- 從 Release 還原
data/(scripts/restore_data.sh)
- 從主管機關下載最新許可證資料(
scripts/license_adapter.py),檢查筆數與格式
- 更新證據包的許可證狀態 → 重算市場狀態 → 同步許可證表 → 事實層改頁 → checker 全量必須 0 → 衍生檔 → gate
- 全部通過才推上
main 並觸發部署;更新後的 data/ 另存成新的 data-YYYYMMDD Release
以下情況一律不推、自動開 issue(label license-refresh):下載失敗或格式改變、狀態變動超過兩成、
改到的藥物頁超過 min(200, 5%)、checker/gate/h1 沒過、有人工查核紀錄的頁會被改到。全程不使用 AI。