@nahisaho/satori 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## Overview
9
9
 
10
- このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **76 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。42 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
10
+ このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **86 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。50 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
11
11
 
12
12
  ### パイプラインフロー
13
13
 
@@ -32,15 +32,16 @@ drug-target-profiling → admet-pharmacokinetics ─→ drug-repurposing
32
32
  ↓ │ ↓
33
33
  protein-structure-analysis → protein-design → lab-automation
34
34
  (構造解析) (de novo 設計) (実験自動化)
35
-
36
- lab-data-management
37
- (Benchling/DNAnexus/OMERO)
38
-
39
- variant-interpretation → clinical-decision-support → presentation-design
40
- (バリアント解釈) (臨床意思決定) (学会発表)
41
-
42
- pharmacogenomics
43
- (PGx 代謝型)
35
+
36
+ protein-interaction-network molecular-docking lab-data-management
37
+ (PPI: STRING/IntAct) (Vina/DiffDock) (Benchling/DNAnexus/OMERO)
38
+ protein-domain-family
39
+ (InterPro/Pfam) ↓
40
+ variant-interpretation → variant-effect-prediction → clinical-decision-support → presentation-design
41
+ (バリアント解釈) (AlphaMissense/CADD/SpliceAI) (臨床意思決定) (学会発表)
42
+ ↑ ↓
43
+ pharmacogenomics clinical-reporting
44
+ (PGx 代謝型) (SOAP/FHIR レポート)
44
45
  ```
45
46
 
46
47
  各ステップで生成されるファイルが次のステップに自動的に引き継がれます:
@@ -56,8 +57,8 @@ pharmacovigilance ← admet-pharmacokinetics ← [P 安全性監視]
56
57
  precision-oncology → clinical-decision-support → medical-imaging
57
58
  (腫瘍プロファイル) (臨床意思決定) (画像診断)
58
59
  ↓ ↑ ↓
59
- disease-research → variant-interpretation → deep-learning
60
- (疾患-遺伝子) (バリアント解釈) (DL フレームワーク)
60
+ cancer-genomics → disease-research → variant-interpretation → deep-learning
61
+ (COSMIC/DepMap) (疾患-遺伝子) (バリアント解釈) (DL フレームワーク)
61
62
  ↑ ↓
62
63
  pharmacogenomics neuroscience-electrophysiology
63
64
  (PGx 代謝型) (スパイクソート/EEG/HRV)
@@ -82,6 +83,9 @@ epigenomics-chromatin → gene-expression-transcriptomics
82
83
 
83
84
  proteomics-mass-spectrometry → multi-omics ← [F オミクス統合]
84
85
  (LC-MS/MS/PTM/GNPS) (統合解析)
86
+ │ ↓
87
+ │ pathway-enrichment ← metabolomics-databases
88
+ │ (KEGG/Reactome/GO) (HMDB/MetaCyc/MWB)
85
89
 
86
90
  immuninformatics → infectious-disease ← [U 免疫・感染症]
87
91
  (エピトープ予測) (AMR・系統解析)
@@ -94,9 +98,9 @@ systems-biology population-genetics ← [W+Y モデル・集団]
94
98
  ↓ ↓
95
99
  epidemiolog-public-health → text-mining-nlp ← [X+Z 疫学・NLP]
96
100
  (RR/OR/空間クラスタ) (NER/KG/BERTopic)
97
-
98
- clinical-trials-analytics
99
- (ClinicalTrials.gov)
101
+
102
+ clinical-trials-analytics literature-search → systematic-review
103
+ (ClinicalTrials.gov) (PubMed/OpenAlex) (PRISMA 2020)
100
104
  ```
101
105
 
102
106
  | フェーズ | 生成ファイル | 参照先 |
@@ -151,10 +155,20 @@ clinical-trials-analytics
151
155
  | 規制科学 | `results/fda_orange_book.json`, `results/510k_clearances.csv`, `results/patent_search.csv` | → pharmacovigilance, clinical-trials |
152
156
  | 薬理ゲノミクス | `results/pgx_report.json`, `results/cpic_recommendations.json` | → variant-interpretation, clinical-decision |
153
157
  | エピゲノミクス | `results/peak_calls.bed`, `results/dmr_results.csv`, `results/chromatin_states.bed` | → single-cell, multi-omics |
158
+ | パスウェイ濃縮 | `results/ora_results.csv`, `results/gsea_results.csv`, `figures/enrichment_heatmap.png` | → gene-expression, metabolomics, multi-omics |
159
+ | 文献検索 | `results/literature_search.csv`, `results/citation_network.json` | → deep-research, systematic-review |
160
+ | PPI ネットワーク | `results/ppi_network.json`, `figures/ppi_network.png` | → drug-target, network-analysis |
161
+ | バリアント効果予測 | `results/variant_predictions.csv`, `results/consensus_pathogenicity.json` | → variant-interpretation, cancer-genomics |
162
+ | がんゲノミクス | `results/cosmic_mutations.csv`, `results/mutation_signatures.json` | → precision-oncology, variant-interpretation |
163
+ | 代謝物 DB | `results/hmdb_search.csv`, `results/mz_identification.csv` | → metabolomics, pathway-enrichment |
164
+ | 分子ドッキング | `results/docking_results.csv`, `results/vina_poses.pdbqt` | → drug-target, protein-structure |
165
+ | 系統的レビュー | `results/screening_records.csv`, `figures/prisma_flow.mmd` | → literature-search, meta-analysis |
166
+ | 臨床レポート | `reports/clinical_report.html`, `reports/clinical_report.fhir.json` | → variant-interpretation, clinical-decision |
167
+ | ドメイン/ファミリー | `results/interproscan_results.csv`, `figures/domain_architecture.png` | → protein-structure, protein-interaction |
154
168
 
155
169
  ### ToolUniverse MCP ツール連携
156
170
 
157
- 42 のスキル(HIGH 13 + MEDIUM 9 + 新規 20)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
171
+ 50 のスキル(HIGH 13 + MEDIUM 9 + Phase 3: 20 + Phase 4: 8)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
158
172
 
159
173
  ```
160
174
  SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・計算)
@@ -165,7 +179,15 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
165
179
  │ drug-target-profiling│───MCP──│ UniProt, ChEMBL, DGIdb │
166
180
  │ variant-interpretation│──MCP──│ ClinVar, gnomAD, ClinGen │
167
181
  │ admet-pharmacokinetics│──MCP──│ ADMET-AI, PubChem, ChEMBL │
168
- ... (42 skills total) ... (1,200+ tools) │
182
+ pathway-enrichment │───MCP──│ KEGG, Reactome, GO, WP
183
+ │ literature-search │───MCP──│ PubMed, EuropePMC, OpenAlex │
184
+ │ protein-interaction │───MCP──│ STRING, IntAct, STITCH │
185
+ │ variant-effect-pred │───MCP──│ AlphaMissense, CADD, SpliceAI│
186
+ │ cancer-genomics │───MCP──│ COSMIC, cBioPortal, DepMap │
187
+ │ metabolomics-databases│──MCP──│ HMDB, MetaCyc, MWB │
188
+ │ protein-domain-family│───MCP──│ InterPro, InterProScan │
189
+ │ systematic-review │───MCP──│ PubMed (shared) │
190
+ │ ... (50 skills total) │ │ ... (1,200+ tools) │
169
191
  └──────────────────────┘ └─────────────────────────────┘
170
192
  ```
171
193
 
@@ -173,23 +195,23 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
173
195
 
174
196
  | 中区分 | スキル数 | 概要 |
175
197
  |---|:---:|---|
176
- | A. 基盤・ワークフロー | 13 | パイプライン構築・前処理・データ生成・図表・執筆・仮説立案・批判的レビュー・SI 生成・LaTeX 変換・引用検証・査読対応・改訂追跡・論文品質 |
198
+ | A. 基盤・ワークフロー | 14 | パイプライン構築・前処理・データ生成・図表・執筆・仮説立案・批判的レビュー・SI 生成・LaTeX 変換・引用検証・査読対応・改訂追跡・論文品質・系統的レビュー |
177
199
  | B. 統計・探索的解析 | 3 | EDA・仮説検定・次元削減 |
178
200
  | C. 機械学習・モデリング | 3 | 回帰・分類・特徴量重要度 |
179
201
  | D. 実験計画・プロセス最適化 | 2 | DOE・応答曲面法・ベイズ最適化 |
180
202
  | E. 信号・スペクトル・時系列 | 4 | スペクトル解析・生体信号・時系列分解・神経電気生理学 |
181
- | F. 生命科学・オミクス | 7 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス |
203
+ | F. 生命科学・オミクス | 9 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB |
182
204
  | G. 化学・材料・イメージング | 4 | ケモインフォ・材料特性評価・画像形態解析・計算材料科学 |
183
- | H. 臨床・疫学・メタ科学 | 4 | 生存解析・因果推論・メタアナリシス・臨床試験解析 |
184
- | I. Deep Research | 1 | 科学文献深層リサーチ・エビデンス階層評価・ソース追跡・交差検証 |
185
- | J. 創薬・ファーマコロジー | 3 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング |
186
- | K. 構造生物学・タンパク質工学 | 2 | PDB/AlphaFold 構造解析・de novo タンパク質設計 |
187
- | L. 精密医療・臨床意思決定 | 2 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定 |
205
+ | H. 臨床・疫学・メタ科学 | 5 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート |
206
+ | I. Deep Research・文献検索 | 2 | 科学文献深層リサーチ・エビデンス階層評価・マルチ DB 文献検索・引用ネットワーク |
207
+ | J. 創薬・ファーマコロジー | 4 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング |
208
+ | K. 構造生物学・タンパク質工学 | 4 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー |
209
+ | L. 精密医療・臨床意思決定 | 3 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測 |
188
210
  | M. 実験室自動化・データ管理 | 2 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理 |
189
211
  | N. 科学プレゼンテーション・図式 | 2 | 科学スライド・ポスター・ワークフロー図・科学図式 |
190
212
  | O. 研究計画・グラント・規制 | 3 | 助成金申請書・研究方法論・倫理審査・規制科学 |
191
213
  | P. ファーマコビジランス・薬理ゲノミクス | 2 | FAERS 不均衡分析・MedDRA 階層・安全性シグナル検出・PGx 代謝型 |
192
- | Q. 腫瘍学・疾患研究 | 2 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet) |
214
+ | Q. 腫瘍学・疾患研究 | 3 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap) |
193
215
  | R. 量子・先端計算 | 5 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習 |
194
216
  | S. 医用イメージング | 1 | DICOM/NIfTI・WSI 病理画像・Radiomics・MONAI |
195
217
  | T. シングルセル・空間・エピゲノミクス | 3 | scRNA-seq・Visium・MERFISH・CELLxGENE・RNA velocity・エピゲノミクス |
@@ -204,7 +226,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
204
226
 
205
227
  ## Skills 一覧
206
228
 
207
- ### A. 基盤・ワークフロー(13 種)
229
+ ### A. 基盤・ワークフロー(14 種)
208
230
 
209
231
  全 Exp に共通する横断的な基盤スキル。
210
232
 
@@ -223,6 +245,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
223
245
  | 11 | [scientific-peer-review-response](scientific-peer-review-response/SKILL.md) | 査読コメント構造化・ポイントバイポイント回答・リバッタルレター生成 | 汎用 |
224
246
  | 12 | [scientific-revision-tracker](scientific-revision-tracker/SKILL.md) | 改訂履歴追跡・差分管理・変更マークアップ・トレーサビリティ検証 | 汎用 |
225
247
  | 13 | [scientific-paper-quality](scientific-paper-quality/SKILL.md) | 可読性スコア・構造バランス・語彙品質・ジャーナル適合性・再現性チェック | 汎用 |
248
+ | 84 | [scientific-systematic-review](scientific-systematic-review/SKILL.md) | PRISMA 2020 系統的レビュー・マルチ DB 検索戦略・スクリーニング・バイアスリスク評価 | 汎用 |
226
249
 
227
250
  ### B. 統計・探索的解析(3 種)
228
251
 
@@ -264,7 +287,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
264
287
  | 24 | [scientific-time-series](scientific-time-series/SKILL.md) | STL 分解・SARIMA 予測・変化点検出・FFT 周期解析・Granger 因果 | 汎用 |
265
288
  | 67 | [scientific-neuroscience-electrophysiology](scientific-neuroscience-electrophysiology/SKILL.md) | SpikeInterface/Kilosort4 スパイクソート・MNE EEG/ERP・NeuroKit2 HRV/EDA・脳機能結合 | 汎用 |
266
289
 
267
- ### F. 生命科学・オミクス(7 種)
290
+ ### F. 生命科学・オミクス(9 種)
268
291
 
269
292
  バイオ・オミクス・ネットワーク解析を担うスキル群。
270
293
 
@@ -277,6 +300,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
277
300
  | 29 | [scientific-network-analysis](scientific-network-analysis/SKILL.md) | ネットワーク構築・中心性・コミュニティ・PSP パス図 | 04, 07, 13 |
278
301
  | 68 | [scientific-proteomics-mass-spectrometry](scientific-proteomics-mass-spectrometry/SKILL.md) | pyOpenMS LC-MS/MS・ペプチド ID・タンパク質定量・PTM・GNPS 分子ネットワーク | 汎用 |
279
302
  | 69 | [scientific-gene-expression-transcriptomics](scientific-gene-expression-transcriptomics/SKILL.md) | GEO データ取得・PyDESeq2 差次発現・GTEx 組織発現/eQTL・GSEA | 汎用 |
303
+ | 77 | [scientific-pathway-enrichment](scientific-pathway-enrichment/SKILL.md) | ORA/GSEA パスウェイ濃縮解析・KEGG/Reactome/GO/WikiPathways 統合 | 汎用 |
304
+ | 82 | [scientific-metabolomics-databases](scientific-metabolomics-databases/SKILL.md) | HMDB/MetaCyc/Metabolomics Workbench 代謝物 DB 検索・m/z 同定 | 汎用 |
280
305
 
281
306
  ### G. 化学・材料・イメージング(4 種)
282
307
 
@@ -289,7 +314,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
289
314
  | 32 | [scientific-image-analysis](scientific-image-analysis/SKILL.md) | Otsu/Watershed セグメンテーション・粒径分布・GLCM テクスチャ・蛍光合成 | 汎用 |
290
315
  | 70 | [scientific-computational-materials](scientific-computational-materials/SKILL.md) | pymatgen 結晶構造・Materials Project・相図・バンド構造/DOS・VASP/QE I/O | 汎用 |
291
316
 
292
- ### H. 臨床・疫学・メタ科学(4 種)
317
+ ### H. 臨床・疫学・メタ科学(5 種)
293
318
 
294
319
  臨床試験・因果推論・メタアナリシス・臨床試験解析を担うスキル群。
295
320
 
@@ -299,16 +324,18 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
299
324
  | 34 | [scientific-causal-inference](scientific-causal-inference/SKILL.md) | PSM 傾向スコア・IPW・DID・RDD・DAG 共変量選択・Rosenbaum 感度分析 | 汎用 |
300
325
  | 35 | [scientific-meta-analysis](scientific-meta-analysis/SKILL.md) | 固定/ランダム効果モデル・Forest/Funnel プロット・Egger 検定・サブグループ | 汎用 |
301
326
  | 71 | [scientific-clinical-trials-analytics](scientific-clinical-trials-analytics/SKILL.md) | ClinicalTrials.gov API v2 検索・競合ランドスケープ・AE/アウトカム抽出 | 汎用 |
327
+ | 85 | [scientific-clinical-reporting](scientific-clinical-reporting/SKILL.md) | SOAP ノート・バイオマーカーレポート・ファーマコゲノミクス・FHIR JSON | 汎用 |
302
328
 
303
- ### I. Deep Research(1 種)
329
+ ### I. Deep Research・文献検索(2 種)
304
330
 
305
- 科学文献の反復的深層リサーチを担うスキル。SHIKIGAMI WebResearcher パラダイムを科学研究に適応。
331
+ 科学文献の反復的深層リサーチとマルチ DB 文献検索を担うスキル群。
306
332
 
307
333
  | # | Skill | 説明 | 参照 Exp |
308
334
  |---|---|---|---|
309
335
  | 36 | [scientific-deep-research](scientific-deep-research/SKILL.md) | SHIKIGAMI 準拠 Think→Search→Evaluate→Synthesize 反復サイクル・学術 DB 検索・エビデンス階層評価・ソース追跡・交差検証・ハルシネーション防止 | 汎用 |
336
+ | 78 | [scientific-literature-search](scientific-literature-search/SKILL.md) | PubMed/Semantic Scholar/OpenAlex/EuropePMC/CrossRef マルチ DB 検索・引用ネットワーク | 汎用 |
310
337
 
311
- ### J. 創薬・ファーマコロジー(3 種)
338
+ ### J. 創薬・ファーマコロジー(4 種)
312
339
 
313
340
  ドラッグディスカバリーの標的評価・薬物動態・リポジショニングを担うスキル群。
314
341
 
@@ -317,25 +344,27 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
317
344
  | 37 | [scientific-drug-target-profiling](scientific-drug-target-profiling/SKILL.md) | 9-path 標的プロファイリング・TDL 分類・ドラッガビリティ評価・競合ランドスケープ | 汎用 |
318
345
  | 38 | [scientific-admet-pharmacokinetics](scientific-admet-pharmacokinetics/SKILL.md) | 5 段階 ADMET パイプライン・Lipinski/Veber ルール・CYP 予測・PK モデリング | 汎用 |
319
346
  | 39 | [scientific-drug-repurposing](scientific-drug-repurposing/SKILL.md) | 7 戦略ドラッグリポジショニング・ネットワーク近接解析・多基準候補スコアリング | 汎用 |
347
+ | 83 | [scientific-molecular-docking](scientific-molecular-docking/SKILL.md) | AutoDock Vina/DiffDock 分子ドッキング・バーチャルスクリーニング | 汎用 |
320
348
 
321
- ### K. 構造生物学・タンパク質工学(2 種)
349
+ ### K. 構造生物学・タンパク質工学(4 種)
322
350
 
323
- タンパク質構造解析と de novo 設計を担うスキル群。
351
+ タンパク質構造解析・設計・PPI ネットワーク・ドメイン解析を担うスキル群。
324
352
 
325
353
  | # | Skill | 説明 | 参照 Exp |
326
354
  |---|---|---|---|
327
355
  | 40 | [scientific-protein-structure-analysis](scientific-protein-structure-analysis/SKILL.md) | PDB/AlphaFold 構造検索・品質評価 (pLDDT/R-factor)・結合サイト検出 | 汎用 |
328
356
  | 41 | [scientific-protein-design](scientific-protein-design/SKILL.md) | ESM-2 変異スキャン・RFdiffusion/ProteinMPNN de novo 設計・バインダー/酵素設計 | 汎用 |
357
+ | 79 | [scientific-protein-interaction-network](scientific-protein-interaction-network/SKILL.md) | STRING/IntAct/STITCH PPI ネットワーク・トポロジー解析・コミュニティ検出 | 汎用 |
358
+ | 86 | [scientific-protein-domain-family](scientific-protein-domain-family/SKILL.md) | InterPro/InterProScan ドメイン予測・ファミリー分類・アーキテクチャ可視化 | 汎用 |
329
359
 
330
- ### L. 精密医療・臨床意思決定(2 種)
360
+ ### L. 精密医療・臨床意思決定(3 種)
331
361
 
332
362
  バリアント解釈とエビデンスベース臨床判断を担うスキル群。
333
363
 
334
364
  | # | Skill | 説明 | 参照 Exp |
335
365
  |---|---|---|---|
336
366
  | 42 | [scientific-variant-interpretation](scientific-variant-interpretation/SKILL.md) | ACMG/AMP 28 基準・薬理ゲノミクス (CPIC)・OncoKB 体細胞変異レベル | 汎用 |
337
- | 43 | [scientific-clinical-decision-support](scientific-clinical-decision-support/SKILL.md) | GRADE エビデンス枠組・精密腫瘍学ワークフロー・臨床試験マッチング | 汎用 |
338
-
367
+ | 43 | [scientific-clinical-decision-support](scientific-clinical-decision-support/SKILL.md) | GRADE エビデンス枠組・精密腫瘍学ワークフロー・臨床試験マッチング | 汎用 || 80 | [scientific-variant-effect-prediction](scientific-variant-effect-prediction/SKILL.md) | AlphaMissense/CADD/SpliceAI バリアント効果予測・コンセンサス病原性判定 | 汎用 |
339
368
  ### M. 実験室自動化・データ管理(2 種)
340
369
 
341
370
  ラボ実験の自動化とデータ管理を担うスキル群。
@@ -373,14 +402,15 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
373
402
  | 48 | [scientific-pharmacovigilance](scientific-pharmacovigilance/SKILL.md) | FAERS 不均衡分析 (PRR/ROR/IC/EBGM)・MedDRA 階層・時系列トレンド・Naranjo 因果評価 | 汎用 |
374
403
  | 75 | [scientific-pharmacogenomics](scientific-pharmacogenomics/SKILL.md) | PharmGKB/CPIC ガイドライン・Star アレル・代謝型・FDA PGx バイオマーカー | 汎用 |
375
404
 
376
- ### Q. 腫瘍学・疾患研究(2 種)
405
+ ### Q. 腫瘍学・疾患研究(3 種)
377
406
 
378
- 精密腫瘍学と疾患-遺伝子関連研究を担うスキル群。
407
+ 精密腫瘍学・疾患-遺伝子関連研究・がんゲノミクスを担うスキル群。
379
408
 
380
409
  | # | Skill | 説明 | 参照 Exp |
381
410
  |---|---|---|---|
382
411
  | 49 | [scientific-precision-oncology](scientific-precision-oncology/SKILL.md) | CIViC/OncoKB/cBioPortal 統合・TMB/MSI 判定・AMP Tiering・MTB レポート | 汎用 |
383
412
  | 50 | [scientific-disease-research](scientific-disease-research/SKILL.md) | GWAS Catalog・DisGeNET GDA・Orphanet/OMIM/HPO 表現型マッチング・PRS 算出 | 汎用 |
413
+ | 81 | [scientific-cancer-genomics](scientific-cancer-genomics/SKILL.md) | COSMIC/cBioPortal/DepMap がんゲノミクス・変異シグネチャー解析 | 汎用 |
384
414
 
385
415
  ### R. 量子・先端計算(5 種)
386
416
 
@@ -520,7 +550,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
520
550
  │ ├── scientific-citation-checker/
521
551
  │ ├── scientific-peer-review-response/
522
552
  │ ├── scientific-revision-tracker/
523
- └── scientific-paper-quality/
553
+ ├── scientific-paper-quality/
554
+ │ └── scientific-systematic-review/
524
555
 
525
556
  │── [B] 統計・探索的解析
526
557
  │ ├── scientific-eda-correlation/
@@ -549,7 +580,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
549
580
  │ ├── scientific-multi-omics/
550
581
  │ ├── scientific-network-analysis/
551
582
  │ ├── scientific-proteomics-mass-spectrometry/
552
- └── scientific-gene-expression-transcriptomics/
583
+ ├── scientific-gene-expression-transcriptomics/
584
+ │ ├── scientific-pathway-enrichment/
585
+ │ └── scientific-metabolomics-databases/
553
586
 
554
587
  │── [G] 化学・材料・イメージング
555
588
  │ ├── scientific-cheminformatics/
@@ -561,23 +594,29 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
561
594
  │ ├── scientific-survival-clinical/
562
595
  │ ├── scientific-causal-inference/
563
596
  │ ├── scientific-meta-analysis/
564
- └── scientific-clinical-trials-analytics/
597
+ ├── scientific-clinical-trials-analytics/
598
+ │ └── scientific-clinical-reporting/
565
599
 
566
- ├── [I] Deep Research
567
- └── scientific-deep-research/
600
+ ├── [I] Deep Research・文献検索
601
+ ├── scientific-deep-research/
602
+ │ └── scientific-literature-search/
568
603
 
569
604
  ├── [J] 創薬・ファーマコロジー
570
605
  │ ├── scientific-drug-target-profiling/
571
606
  │ ├── scientific-admet-pharmacokinetics/
572
- └── scientific-drug-repurposing/
607
+ ├── scientific-drug-repurposing/
608
+ │ └── scientific-molecular-docking/
573
609
 
574
610
  ├── [K] 構造生物学・タンパク質工学
575
611
  │ ├── scientific-protein-structure-analysis/
576
- └── scientific-protein-design/
612
+ ├── scientific-protein-design/
613
+ │ ├── scientific-protein-interaction-network/
614
+ │ └── scientific-protein-domain-family/
577
615
 
578
616
  ├── [L] 精密医療・臨床意思決定
579
617
  │ ├── scientific-variant-interpretation/
580
- └── scientific-clinical-decision-support/
618
+ ├── scientific-clinical-decision-support/
619
+ │ └── scientific-variant-effect-prediction/
581
620
 
582
621
  ├── [M] 実験室自動化・データ管理
583
622
  │ ├── scientific-lab-automation/
@@ -598,7 +637,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
598
637
 
599
638
  ├── [Q] 腫瘍学・疾患研究
600
639
  │ ├── scientific-precision-oncology/
601
- └── scientific-disease-research/
640
+ ├── scientific-disease-research/
641
+ │ └── scientific-cancer-genomics/
602
642
 
603
643
  ├── [R] 量子・先端計算
604
644
  │ ├── scientific-quantum-computing/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/satori",
3
- "version": "0.11.1",
3
+ "version": "0.12.0",
4
4
  "description": "SATORI — Agent Skills for Science. GitHub Copilot Agent Skills collection for scientific data analysis.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -0,0 +1,287 @@
1
+ ---
2
+ name: scientific-cancer-genomics
3
+ description: |
4
+ がんゲノミクスポータル統合スキル。COSMIC (体細胞変異カタログ)、
5
+ cBioPortal (がんゲノミクスデータ解析)、DepMap (がん細胞依存性) の
6
+ 3 大がんゲノミクスデータベースを統合した変異プロファイリング、
7
+ 変異シグネチャー解析、遺伝子依存性 (essentiality) 評価、
8
+ コピー数変化・がん種横断解析パイプライン。
9
+ 13 の ToolUniverse SMCP ツールと連携。
10
+ ---
11
+
12
+ # Scientific Cancer Genomics
13
+
14
+ COSMIC / cBioPortal / DepMap の 3 大がんゲノミクスポータルを統合した
15
+ 体細胞変異プロファイリング・機能解析パイプラインを提供する。
16
+
17
+ ## When to Use
18
+
19
+ - がん関連遺伝子の体細胞変異をカタログ検索するとき
20
+ - cBioPortal でがん種横断の遺伝子変異頻度を調べるとき
21
+ - DepMap で遺伝子依存性 (essentiality) を評価するとき
22
+ - 変異シグネチャー解析 (SBS/DBS/ID) を行うとき
23
+ - コピー数変化 (CNA) のドライバー・パッセンジャー分類が必要なとき
24
+
25
+ ---
26
+
27
+ ## Quick Start
28
+
29
+ ## 1. COSMIC 体細胞変異検索
30
+
31
+ ```python
32
+ import pandas as pd
33
+ import numpy as np
34
+ import requests
35
+
36
+
37
+ def cosmic_search_mutations(gene, cancer_type=None, mutation_type=None):
38
+ """
39
+ COSMIC (Catalogue Of Somatic Mutations In Cancer) 変異検索。
40
+
41
+ Parameters:
42
+ gene: str — 遺伝子シンボル (e.g., "BRAF", "TP53")
43
+ cancer_type: str — がん種フィルタ (e.g., "melanoma")
44
+ mutation_type: str — 変異タイプ ("missense", "nonsense", "frameshift")
45
+ """
46
+ # ToolUniverse 経由: COSMIC_search_mutations, COSMIC_get_mutations_by_gene
47
+ # COSMIC API は認証が必要 (Academic 無料)
48
+
49
+ # Cancer Gene Census (CGC) チェック
50
+ cgc_genes = {
51
+ "TP53": {"role": "TSG", "tier": 1},
52
+ "BRAF": {"role": "oncogene", "tier": 1},
53
+ "KRAS": {"role": "oncogene", "tier": 1},
54
+ "EGFR": {"role": "oncogene", "tier": 1},
55
+ "PIK3CA": {"role": "oncogene", "tier": 1},
56
+ "BRCA1": {"role": "TSG", "tier": 1},
57
+ "BRCA2": {"role": "TSG", "tier": 1},
58
+ "ALK": {"role": "oncogene", "tier": 1},
59
+ }
60
+
61
+ gene_info = cgc_genes.get(gene.upper(), {})
62
+
63
+ result = {
64
+ "gene": gene,
65
+ "cgc_role": gene_info.get("role", "unknown"),
66
+ "cgc_tier": gene_info.get("tier", None),
67
+ "cancer_type_filter": cancer_type,
68
+ "mutation_type_filter": mutation_type,
69
+ }
70
+
71
+ print(f"COSMIC query: {gene} "
72
+ f"(CGC: {gene_info.get('role', 'N/A')}, "
73
+ f"Tier {gene_info.get('tier', 'N/A')})")
74
+ return result
75
+ ```
76
+
77
+ ## 2. cBioPortal がんゲノミクスデータ取得
78
+
79
+ ```python
80
+ def cbioportal_query(genes, study_id=None, cancer_type=None,
81
+ data_types=None):
82
+ """
83
+ cBioPortal REST API によるがんゲノミクスデータ取得。
84
+
85
+ Parameters:
86
+ genes: list — 遺伝子シンボルリスト
87
+ study_id: str — cBioPortal 研究 ID (e.g., "tcga_brca_pan_can_atlas_2018")
88
+ cancer_type: str — がん種 (e.g., "Breast Cancer")
89
+ data_types: list — ["mutations", "cna", "mrna", "methylation"]
90
+ """
91
+ base_url = "https://www.cbioportal.org/api"
92
+
93
+ if data_types is None:
94
+ data_types = ["mutations", "cna"]
95
+
96
+ results = {}
97
+
98
+ # 研究一覧取得
99
+ if study_id is None:
100
+ resp = requests.get(f"{base_url}/studies")
101
+ studies = resp.json()
102
+ if cancer_type:
103
+ studies = [s for s in studies
104
+ if cancer_type.lower() in
105
+ s.get("cancerType", {}).get("name", "").lower()]
106
+ print(f"cBioPortal: {len(studies)} studies for '{cancer_type}'")
107
+ results["studies"] = pd.DataFrame([{
108
+ "study_id": s["studyId"],
109
+ "name": s["name"],
110
+ "cancer_type": s.get("cancerType", {}).get("name", ""),
111
+ "sample_count": s.get("allSampleCount", 0),
112
+ } for s in studies[:20]])
113
+ else:
114
+ # 変異データ取得
115
+ if "mutations" in data_types:
116
+ url = f"{base_url}/molecular-profiles/{study_id}_mutations/mutations"
117
+ params = {"projection": "DETAILED"}
118
+ resp = requests.get(url, params=params)
119
+ if resp.status_code == 200:
120
+ mutations = resp.json()
121
+ mut_df = pd.DataFrame([{
122
+ "gene": m.get("gene", {}).get("hugoGeneSymbol", ""),
123
+ "mutation": m.get("proteinChange", ""),
124
+ "mutation_type": m.get("mutationType", ""),
125
+ "chromosome": m.get("chr", ""),
126
+ "position": m.get("startPosition", ""),
127
+ "allele_freq": m.get("tumorAltCount", 0) /
128
+ max(m.get("tumorRefCount", 1) +
129
+ m.get("tumorAltCount", 1), 1),
130
+ } for m in mutations
131
+ if m.get("gene", {}).get("hugoGeneSymbol", "") in genes])
132
+ results["mutations"] = mut_df
133
+ print(f" Mutations: {len(mut_df)} found in {genes}")
134
+
135
+ return results
136
+ ```
137
+
138
+ ## 3. DepMap 遺伝子依存性解析
139
+
140
+ ```python
141
+ def depmap_gene_dependency(genes, cell_lineage=None):
142
+ """
143
+ DepMap (Cancer Dependency Map) 遺伝子依存性解析。
144
+
145
+ Parameters:
146
+ genes: list — 遺伝子シンボルリスト
147
+ cell_lineage: str — 細胞系統フィルタ (e.g., "Lung", "Breast")
148
+ """
149
+ # ToolUniverse 経由:
150
+ # DepMap_search_genes, DepMap_get_gene_dependencies
151
+ # DepMap_get_cell_line, DepMap_get_cell_lines, DepMap_search_cell_lines
152
+
153
+ # DepMap CRISPR (Chronos) dependency score:
154
+ # negative = essential (依存), ~0 = non-essential
155
+ # Common Essential: mean < -0.5 across 90% of lines
156
+ # Selective Dependency: mean < -0.5 in specific lineages
157
+
158
+ results = []
159
+ for gene in genes:
160
+ result = {
161
+ "gene": gene,
162
+ "cell_lineage": cell_lineage,
163
+ "query_type": "CRISPR_dependency",
164
+ # 実際のスコアは ToolUniverse 経由で取得
165
+ "interpretation": (
166
+ "Chronos score < 0: gene essentiality increases. "
167
+ "score < -0.5: likely essential in this lineage. "
168
+ "score ~ 0: non-essential."
169
+ ),
170
+ }
171
+ results.append(result)
172
+
173
+ df = pd.DataFrame(results)
174
+ print(f"DepMap: queried {len(genes)} genes "
175
+ f"(lineage: {cell_lineage or 'pan-cancer'})")
176
+ return df
177
+ ```
178
+
179
+ ## 4. 変異シグネチャー解析
180
+
181
+ ```python
182
+ def mutational_signature_analysis(mutations_df, genome="GRCh38",
183
+ n_signatures=None):
184
+ """
185
+ 体細胞変異シグネチャー解析 (COSMIC SBS signatures)。
186
+
187
+ Parameters:
188
+ mutations_df: DataFrame — columns: [chr, pos, ref, alt, sample]
189
+ genome: str — 参照ゲノム
190
+ n_signatures: int — 抽出シグネチャー数 (None=自動推定)
191
+ """
192
+ from itertools import product
193
+
194
+ # 96 トリヌクレオチドコンテキスト
195
+ bases = ["C", "T"]
196
+ contexts = []
197
+ for ref in bases:
198
+ for alt in ["A", "C", "G", "T"]:
199
+ if ref == alt:
200
+ continue
201
+ for five in "ACGT":
202
+ for three in "ACGT":
203
+ contexts.append(f"{five}[{ref}>{alt}]{three}")
204
+
205
+ # サンプルごとのカタログ構築
206
+ samples = mutations_df["sample"].unique()
207
+ catalog = pd.DataFrame(0, index=contexts, columns=samples)
208
+
209
+ for _, row in mutations_df.iterrows():
210
+ ref = row["ref"]
211
+ alt = row["alt"]
212
+ sample = row["sample"]
213
+ context = row.get("trinucleotide_context", "N[N>N]N")
214
+ if context in catalog.index:
215
+ catalog.loc[context, sample] += 1
216
+
217
+ print(f"Mutation catalog: {len(contexts)} contexts, "
218
+ f"{len(samples)} samples, "
219
+ f"{catalog.sum().sum():.0f} total mutations")
220
+
221
+ # NMF 分解 (SigProfilerExtractor 代替)
222
+ from sklearn.decomposition import NMF
223
+
224
+ X = catalog.values.T # samples × contexts
225
+ if n_signatures is None:
226
+ n_signatures = min(5, len(samples))
227
+
228
+ model = NMF(n_components=n_signatures, random_state=42, max_iter=1000)
229
+ W = model.fit_transform(X) # exposure matrix
230
+ H = model.components_ # signature profiles
231
+
232
+ signatures = pd.DataFrame(H.T, index=contexts,
233
+ columns=[f"SBS_{i+1}" for i in range(n_signatures)])
234
+ exposures = pd.DataFrame(W, index=samples,
235
+ columns=[f"SBS_{i+1}" for i in range(n_signatures)])
236
+
237
+ print(f"Extracted {n_signatures} mutational signatures")
238
+ return signatures, exposures
239
+ ```
240
+
241
+ ## References
242
+
243
+ ### Output Files
244
+
245
+ | ファイル | 形式 |
246
+ |---|---|
247
+ | `results/cosmic_mutations.csv` | CSV |
248
+ | `results/cbioportal_mutations.csv` | CSV |
249
+ | `results/depmap_dependencies.csv` | CSV |
250
+ | `results/mutation_signatures.csv` | CSV |
251
+ | `results/signature_exposures.csv` | CSV |
252
+ | `figures/mutation_spectrum.png` | PNG |
253
+ | `figures/signature_profiles.png` | PNG |
254
+
255
+ ### 利用可能ツール
256
+
257
+ > [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で利用可能な外部ツール。
258
+
259
+ | カテゴリ | 主要ツール | 用途 |
260
+ |---|---|---|
261
+ | COSMIC | `COSMIC_search_mutations` | 体細胞変異検索 |
262
+ | COSMIC | `COSMIC_get_mutations_by_gene` | 遺伝子別変異取得 |
263
+ | cBioPortal | `cBioPortal_get_cancer_studies` | がん研究一覧 |
264
+ | cBioPortal | `cBioPortal_get_mutations` | 変異データ取得 |
265
+ | cBioPortal | `cBioPortal_get_molecular_profiles` | 分子プロファイル |
266
+ | cBioPortal | `cBioPortal_get_patients` | 患者データ取得 |
267
+ | cBioPortal | `cBioPortal_get_sample_lists` | サンプルリスト |
268
+ | cBioPortal | `cBioPortal_get_samples` | サンプル詳細 |
269
+ | DepMap | `DepMap_get_gene_dependencies` | 遺伝子依存性スコア |
270
+ | DepMap | `DepMap_get_cell_line` | 細胞株情報 |
271
+ | DepMap | `DepMap_get_cell_lines` | 細胞株一覧 |
272
+ | DepMap | `DepMap_search_cell_lines` | 細胞株検索 |
273
+ | DepMap | `DepMap_search_genes` | 遺伝子検索 |
274
+
275
+ ### 参照スキル
276
+
277
+ | スキル | 関連 |
278
+ |---|---|
279
+ | `scientific-precision-oncology` | 腫瘍プロファイル → 治療選択 |
280
+ | `scientific-variant-interpretation` | バリアント臨床解釈 |
281
+ | `scientific-variant-effect-prediction` | 計算病原性予測 |
282
+ | `scientific-disease-research` | GWAS → がんリスク |
283
+ | `scientific-drug-target-profiling` | 標的同定 → 依存性 |
284
+
285
+ ### 依存パッケージ
286
+
287
+ `pandas`, `numpy`, `requests`, `scikit-learn`, `matplotlib`