@nahisaho/satori 0.12.0 → 0.13.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 として体系化した **86 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。50 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
10
+ このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **96 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。59 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
11
11
 
12
12
  ### パイプラインフロー
13
13
 
@@ -168,7 +168,7 @@ clinical-trials-analytics literature-search → systematic-review
168
168
 
169
169
  ### ToolUniverse MCP ツール連携
170
170
 
171
- 50 のスキル(HIGH 13 + MEDIUM 9 + Phase 3: 20 + Phase 4: 8)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
171
+ 59 のスキル(HIGH 13 + MEDIUM 9 + Phase 3: 20 + Phase 4: 8 + Phase 5: 9)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
172
172
 
173
173
  ```
174
174
  SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・計算)
@@ -187,7 +187,16 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
187
187
  │ metabolomics-databases│──MCP──│ HMDB, MetaCyc, MWB │
188
188
  │ protein-domain-family│───MCP──│ InterPro, InterProScan │
189
189
  │ systematic-review │───MCP──│ PubMed (shared) │
190
- ... (50 skills total) │ │ ... (1,200+ tools)
190
+ rare-disease-genetics│───MCP──│ OMIM, Orphanet, DisGeNET
191
+ │ human-protein-atlas │───MCP──│ HPA tissue/RNA/cancer │
192
+ │ pharmacology-targets │───MCP──│ BindingDB, GPCRdb, GtoPdb │
193
+ │ genome-sequence-tools│───MCP──│ dbSNP, BLAST, NCBI, GDC │
194
+ │ biothings-idmapping │───MCP──│ MyGene, MyVariant, MyChem │
195
+ │ noncoding-rna │───MCP──│ Rfam, RNAcentral │
196
+ │ structural-proteomics│───MCP──│ EMDB, PDBe, Proteins API │
197
+ │ compound-screening │───MCP──│ ZINC │
198
+ │ metabolic-modeling │───MCP──│ BiGG Models, BioModels │
199
+ │ ... (59 skills total) │ │ ... (1,200+ tools) │
191
200
  └──────────────────────┘ └─────────────────────────────┘
192
201
  ```
193
202
 
@@ -195,29 +204,29 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
195
204
 
196
205
  | 中区分 | スキル数 | 概要 |
197
206
  |---|:---:|---|
198
- | A. 基盤・ワークフロー | 14 | パイプライン構築・前処理・データ生成・図表・執筆・仮説立案・批判的レビュー・SI 生成・LaTeX 変換・引用検証・査読対応・改訂追跡・論文品質・系統的レビュー |
207
+ | A. 基盤・ワークフロー | 15 | パイプライン構築・前処理・データ生成・図表・執筆・仮説立案・批判的レビュー・SI 生成・LaTeX 変換・引用検証・査読対応・改訂追跡・論文品質・系統的レビュー・BioThings ID マッピング |
199
208
  | B. 統計・探索的解析 | 3 | EDA・仮説検定・次元削減 |
200
209
  | C. 機械学習・モデリング | 3 | 回帰・分類・特徴量重要度 |
201
210
  | D. 実験計画・プロセス最適化 | 2 | DOE・応答曲面法・ベイズ最適化 |
202
211
  | E. 信号・スペクトル・時系列 | 4 | スペクトル解析・生体信号・時系列分解・神経電気生理学 |
203
- | F. 生命科学・オミクス | 9 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB |
212
+ | F. 生命科学・オミクス | 12 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA |
204
213
  | G. 化学・材料・イメージング | 4 | ケモインフォ・材料特性評価・画像形態解析・計算材料科学 |
205
214
  | H. 臨床・疫学・メタ科学 | 5 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート |
206
215
  | I. Deep Research・文献検索 | 2 | 科学文献深層リサーチ・エビデンス階層評価・マルチ DB 文献検索・引用ネットワーク |
207
- | J. 創薬・ファーマコロジー | 4 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング |
208
- | K. 構造生物学・タンパク質工学 | 4 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー |
216
+ | J. 創薬・ファーマコロジー | 6 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング・薬理学的ターゲット・化合物スクリーニング |
217
+ | K. 構造生物学・タンパク質工学 | 5 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー・構造プロテオミクス |
209
218
  | L. 精密医療・臨床意思決定 | 3 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測 |
210
219
  | M. 実験室自動化・データ管理 | 2 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理 |
211
220
  | N. 科学プレゼンテーション・図式 | 2 | 科学スライド・ポスター・ワークフロー図・科学図式 |
212
221
  | O. 研究計画・グラント・規制 | 3 | 助成金申請書・研究方法論・倫理審査・規制科学 |
213
222
  | P. ファーマコビジランス・薬理ゲノミクス | 2 | FAERS 不均衡分析・MedDRA 階層・安全性シグナル検出・PGx 代謝型 |
214
- | Q. 腫瘍学・疾患研究 | 3 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap) |
215
- | R. 量子・先端計算 | 5 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習 |
223
+ | Q. 腫瘍学・疾患研究 | 4 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap)・希少疾患遺伝学 |
224
+ | R. 量子・先端計算 | 6 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習・ヘルスケア AI |
216
225
  | S. 医用イメージング | 1 | DICOM/NIfTI・WSI 病理画像・Radiomics・MONAI |
217
226
  | T. シングルセル・空間・エピゲノミクス | 3 | scRNA-seq・Visium・MERFISH・CELLxGENE・RNA velocity・エピゲノミクス |
218
227
  | U. 免疫・感染症 | 2 | 免疫情報学・MHC 結合予測・病原体ゲノミクス・AMR・IEDB |
219
228
  | V. マイクロバイオーム・環境 | 2 | 16S/メタゲノム・α/β 多様性・SDM・OBIS・GBIF |
220
- | W. システム生物学 | 1 | SBML シミュレーション・FBA・GRN 推定・BioModels |
229
+ | W. システム生物学 | 2 | SBML シミュレーション・FBA・GRN 推定・BioModels・代謝モデリング |
221
230
  | X. 疫学・公衆衛生 | 1 | リスク指標 (RR/OR)・年齢標準化・空間疫学・WHO・CDC |
222
231
  | Y. 集団遺伝学 | 1 | HWE・PCA/ADMIXTURE・Fst・選択スキャン・gnomAD・GWAS |
223
232
  | Z. 科学テキストマイニング | 1 | NER・関係抽出・知識グラフ・BERTopic・PubTator |
@@ -226,7 +235,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
226
235
 
227
236
  ## Skills 一覧
228
237
 
229
- ### A. 基盤・ワークフロー(14 種)
238
+ ### A. 基盤・ワークフロー(15 種)
230
239
 
231
240
  全 Exp に共通する横断的な基盤スキル。
232
241
 
@@ -246,6 +255,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
246
255
  | 12 | [scientific-revision-tracker](scientific-revision-tracker/SKILL.md) | 改訂履歴追跡・差分管理・変更マークアップ・トレーサビリティ検証 | 汎用 |
247
256
  | 13 | [scientific-paper-quality](scientific-paper-quality/SKILL.md) | 可読性スコア・構造バランス・語彙品質・ジャーナル適合性・再現性チェック | 汎用 |
248
257
  | 84 | [scientific-systematic-review](scientific-systematic-review/SKILL.md) | PRISMA 2020 系統的レビュー・マルチ DB 検索戦略・スクリーニング・バイアスリスク評価 | 汎用 |
258
+ | 91 | [scientific-biothings-idmapping](scientific-biothings-idmapping/SKILL.md) | BioThings API (MyGene/MyVariant/MyChem) 横断的 ID マッピング・アノテーション | 汎用 |
249
259
 
250
260
  ### B. 統計・探索的解析(3 種)
251
261
 
@@ -287,7 +297,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
287
297
  | 24 | [scientific-time-series](scientific-time-series/SKILL.md) | STL 分解・SARIMA 予測・変化点検出・FFT 周期解析・Granger 因果 | 汎用 |
288
298
  | 67 | [scientific-neuroscience-electrophysiology](scientific-neuroscience-electrophysiology/SKILL.md) | SpikeInterface/Kilosort4 スパイクソート・MNE EEG/ERP・NeuroKit2 HRV/EDA・脳機能結合 | 汎用 |
289
299
 
290
- ### F. 生命科学・オミクス(9 種)
300
+ ### F. 生命科学・オミクス(12 種)
291
301
 
292
302
  バイオ・オミクス・ネットワーク解析を担うスキル群。
293
303
 
@@ -302,6 +312,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
302
312
  | 69 | [scientific-gene-expression-transcriptomics](scientific-gene-expression-transcriptomics/SKILL.md) | GEO データ取得・PyDESeq2 差次発現・GTEx 組織発現/eQTL・GSEA | 汎用 |
303
313
  | 77 | [scientific-pathway-enrichment](scientific-pathway-enrichment/SKILL.md) | ORA/GSEA パスウェイ濃縮解析・KEGG/Reactome/GO/WikiPathways 統合 | 汎用 |
304
314
  | 82 | [scientific-metabolomics-databases](scientific-metabolomics-databases/SKILL.md) | HMDB/MetaCyc/Metabolomics Workbench 代謝物 DB 検索・m/z 同定 | 汎用 |
315
+ | 88 | [scientific-human-protein-atlas](scientific-human-protein-atlas/SKILL.md) | HPA 組織/細胞タンパク質発現・RNA 発現・がん予後・細胞内局在 | 汎用 |
316
+ | 90 | [scientific-genome-sequence-tools](scientific-genome-sequence-tools/SKILL.md) | Ensembl/dbSNP/BLAST/NCBI Nucleotide/GDC ゲノム配列解析 | 汎用 |
317
+ | 92 | [scientific-noncoding-rna](scientific-noncoding-rna/SKILL.md) | Rfam RNA ファミリー・RNAcentral ncRNA ・共分散モデル・構造マッピング | 汎用 |
305
318
 
306
319
  ### G. 化学・材料・イメージング(4 種)
307
320
 
@@ -335,9 +348,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
335
348
  | 36 | [scientific-deep-research](scientific-deep-research/SKILL.md) | SHIKIGAMI 準拠 Think→Search→Evaluate→Synthesize 反復サイクル・学術 DB 検索・エビデンス階層評価・ソース追跡・交差検証・ハルシネーション防止 | 汎用 |
336
349
  | 78 | [scientific-literature-search](scientific-literature-search/SKILL.md) | PubMed/Semantic Scholar/OpenAlex/EuropePMC/CrossRef マルチ DB 検索・引用ネットワーク | 汎用 |
337
350
 
338
- ### J. 創薬・ファーマコロジー(4 種)
351
+ ### J. 創薬・ファーマコロジー(6 種)
339
352
 
340
- ドラッグディスカバリーの標的評価・薬物動態・リポジショニングを担うスキル群。
353
+ ドラッグディスカバリーの標的評価・薬物動態・リポジショニング・薬理学的ターゲット・化合物スクリーニングを担うスキル群。
341
354
 
342
355
  | # | Skill | 説明 | 参照 Exp |
343
356
  |---|---|---|---|
@@ -345,10 +358,12 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
345
358
  | 38 | [scientific-admet-pharmacokinetics](scientific-admet-pharmacokinetics/SKILL.md) | 5 段階 ADMET パイプライン・Lipinski/Veber ルール・CYP 予測・PK モデリング | 汎用 |
346
359
  | 39 | [scientific-drug-repurposing](scientific-drug-repurposing/SKILL.md) | 7 戦略ドラッグリポジショニング・ネットワーク近接解析・多基準候補スコアリング | 汎用 |
347
360
  | 83 | [scientific-molecular-docking](scientific-molecular-docking/SKILL.md) | AutoDock Vina/DiffDock 分子ドッキング・バーチャルスクリーニング | 汎用 |
361
+ | 89 | [scientific-pharmacology-targets](scientific-pharmacology-targets/SKILL.md) | BindingDB/GPCRdb/GtoPdb/BRENDA/Pharos 薬理学的ターゲットプロファイリング | 汎用 |
362
+ | 94 | [scientific-compound-screening](scientific-compound-screening/SKILL.md) | ZINC 化合物ライブラリ検索・バーチャルスクリーニング前処理 | 汎用 |
348
363
 
349
- ### K. 構造生物学・タンパク質工学(4 種)
364
+ ### K. 構造生物学・タンパク質工学(5 種)
350
365
 
351
- タンパク質構造解析・設計・PPI ネットワーク・ドメイン解析を担うスキル群。
366
+ タンパク質構造解析・設計・PPI ネットワーク・ドメイン解析・構造プロテオミクスを担うスキル群。
352
367
 
353
368
  | # | Skill | 説明 | 参照 Exp |
354
369
  |---|---|---|---|
@@ -356,6 +371,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
356
371
  | 41 | [scientific-protein-design](scientific-protein-design/SKILL.md) | ESM-2 変異スキャン・RFdiffusion/ProteinMPNN de novo 設計・バインダー/酵素設計 | 汎用 |
357
372
  | 79 | [scientific-protein-interaction-network](scientific-protein-interaction-network/SKILL.md) | STRING/IntAct/STITCH PPI ネットワーク・トポロジー解析・コミュニティ検出 | 汎用 |
358
373
  | 86 | [scientific-protein-domain-family](scientific-protein-domain-family/SKILL.md) | InterPro/InterProScan ドメイン予測・ファミリー分類・アーキテクチャ可視化 | 汎用 |
374
+ | 93 | [scientific-structural-proteomics](scientific-structural-proteomics/SKILL.md) | EMDB/PDBe/Proteins API/Complex Portal/DeepGO/EVE 構造プロテオミクス | 汎用 |
359
375
 
360
376
  ### L. 精密医療・臨床意思決定(3 種)
361
377
 
@@ -402,19 +418,20 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
402
418
  | 48 | [scientific-pharmacovigilance](scientific-pharmacovigilance/SKILL.md) | FAERS 不均衡分析 (PRR/ROR/IC/EBGM)・MedDRA 階層・時系列トレンド・Naranjo 因果評価 | 汎用 |
403
419
  | 75 | [scientific-pharmacogenomics](scientific-pharmacogenomics/SKILL.md) | PharmGKB/CPIC ガイドライン・Star アレル・代謝型・FDA PGx バイオマーカー | 汎用 |
404
420
 
405
- ### Q. 腫瘍学・疾患研究(3 種)
421
+ ### Q. 腫瘍学・疾患研究(4 種)
406
422
 
407
- 精密腫瘍学・疾患-遺伝子関連研究・がんゲノミクスを担うスキル群。
423
+ 精密腫瘍学・疾患-遺伝子関連研究・がんゲノミクス・希少疾患遺伝学を担うスキル群。
408
424
 
409
425
  | # | Skill | 説明 | 参照 Exp |
410
426
  |---|---|---|---|
411
427
  | 49 | [scientific-precision-oncology](scientific-precision-oncology/SKILL.md) | CIViC/OncoKB/cBioPortal 統合・TMB/MSI 判定・AMP Tiering・MTB レポート | 汎用 |
412
428
  | 50 | [scientific-disease-research](scientific-disease-research/SKILL.md) | GWAS Catalog・DisGeNET GDA・Orphanet/OMIM/HPO 表現型マッチング・PRS 算出 | 汎用 |
413
429
  | 81 | [scientific-cancer-genomics](scientific-cancer-genomics/SKILL.md) | COSMIC/cBioPortal/DepMap がんゲノミクス・変異シグネチャー解析 | 汎用 |
430
+ | 87 | [scientific-rare-disease-genetics](scientific-rare-disease-genetics/SKILL.md) | OMIM/Orphanet/DisGeNET/IMPC 希少疾患遺伝学・統合解析 | 汎用 |
414
431
 
415
- ### R. 量子・先端計算(5 種)
432
+ ### R. 量子・先端計算(6 種)
416
433
 
417
- 量子計算・GNN・ベイズ統計・XAI・深層学習など次世代計算手法を担うスキル群。
434
+ 量子計算・GNN・ベイズ統計・XAI・深層学習・ヘルスケア AI など次世代計算手法を担うスキル群。
418
435
 
419
436
  | # | Skill | 説明 | 参照 Exp |
420
437
  |---|---|---|---|
@@ -423,6 +440,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
423
440
  | 53 | [scientific-bayesian-statistics](scientific-bayesian-statistics/SKILL.md) | PyMC/Stan 階層ベイズ・MCMC 診断・PPC・WAIC/LOO-CV モデル比較・ベイズ最適化 | 汎用 |
424
441
  | 54 | [scientific-explainable-ai](scientific-explainable-ai/SKILL.md) | SHAP/LIME/Captum 特徴量寄与・反実仮想説明・公平性監査・DeepSHAP | 汎用 |
425
442
  | 55 | [scientific-deep-learning](scientific-deep-learning/SKILL.md) | Lightning/timm/Transformers・CNN/ViT/BERT Fine-tune・Optuna HPO・ONNX エクスポート | 汎用 |
443
+ | 96 | [scientific-healthcare-ai](scientific-healthcare-ai/SKILL.md) | PyHealth 臨床 ML パイプライン・フローサイトメトリー・EHR 処理 | 汎用 |
426
444
 
427
445
  ### S. 医用イメージング(1 種)
428
446
 
@@ -460,13 +478,14 @@ scRNA-seq・空間トランスクリプトミクス・エピゲノミクスの
460
478
  | 61 | [scientific-microbiome-metagenomics](scientific-microbiome-metagenomics/SKILL.md) | DADA2 ASV パイプライン・MetaPhlAn/Kraken2・α/β 多様性・ANCOM-BC 差次的存在量・HUMAnN 機能プロファイリング | 汎用 |
461
479
  | 62 | [scientific-environmental-ecology](scientific-environmental-ecology/SKILL.md) | SDM (MaxEnt/RF/GBM)・生物多様性指数・群集序列化 (NMDS/CCA)・保全優先順位ランキング | 汎用 |
462
480
 
463
- ### W. システム生物学(1 種)
481
+ ### W. システム生物学(2 種)
464
482
 
465
- SBML 動的シミュレーション・代謝フラックス・遺伝子制御ネットワーク推定を担うスキル。
483
+ SBML 動的シミュレーション・代謝フラックス・遺伝子制御ネットワーク推定・代謝モデリングを担うスキル群。
466
484
 
467
485
  | # | Skill | 説明 | 参照 Exp |
468
486
  |---|---|---|---|
469
487
  | 63 | [scientific-systems-biology](scientific-systems-biology/SKILL.md) | SBML/RoadRunner シミュレーション・FBA/pFBA (cobrapy)・GRN 推定 (GENIE3)・Sobol 感度解析 | 汎用 |
488
+ | 95 | [scientific-metabolic-modeling](scientific-metabolic-modeling/SKILL.md) | BiGG Models/BioModels ゲノムスケール代謝モデル・反応・代謝物検索 | 汎用 |
470
489
 
471
490
  ### X. 疫学・公衆衛生(1 種)
472
491
 
@@ -551,7 +570,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
551
570
  │ ├── scientific-peer-review-response/
552
571
  │ ├── scientific-revision-tracker/
553
572
  │ ├── scientific-paper-quality/
554
- └── scientific-systematic-review/
573
+ ├── scientific-systematic-review/
574
+ │ └── scientific-biothings-idmapping/
555
575
 
556
576
  │── [B] 統計・探索的解析
557
577
  │ ├── scientific-eda-correlation/
@@ -582,7 +602,10 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
582
602
  │ ├── scientific-proteomics-mass-spectrometry/
583
603
  │ ├── scientific-gene-expression-transcriptomics/
584
604
  │ ├── scientific-pathway-enrichment/
585
- └── scientific-metabolomics-databases/
605
+ ├── scientific-metabolomics-databases/
606
+ │ ├── scientific-human-protein-atlas/
607
+ │ ├── scientific-genome-sequence-tools/
608
+ │ └── scientific-noncoding-rna/
586
609
 
587
610
  │── [G] 化学・材料・イメージング
588
611
  │ ├── scientific-cheminformatics/
@@ -605,13 +628,16 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
605
628
  │ ├── scientific-drug-target-profiling/
606
629
  │ ├── scientific-admet-pharmacokinetics/
607
630
  │ ├── scientific-drug-repurposing/
608
- └── scientific-molecular-docking/
631
+ ├── scientific-molecular-docking/
632
+ │ ├── scientific-pharmacology-targets/
633
+ │ └── scientific-compound-screening/
609
634
 
610
635
  ├── [K] 構造生物学・タンパク質工学
611
636
  │ ├── scientific-protein-structure-analysis/
612
637
  │ ├── scientific-protein-design/
613
638
  │ ├── scientific-protein-interaction-network/
614
- └── scientific-protein-domain-family/
639
+ ├── scientific-protein-domain-family/
640
+ │ └── scientific-structural-proteomics/
615
641
 
616
642
  ├── [L] 精密医療・臨床意思決定
617
643
  │ ├── scientific-variant-interpretation/
@@ -638,14 +664,16 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
638
664
  ├── [Q] 腫瘍学・疾患研究
639
665
  │ ├── scientific-precision-oncology/
640
666
  │ ├── scientific-disease-research/
641
- └── scientific-cancer-genomics/
667
+ ├── scientific-cancer-genomics/
668
+ │ └── scientific-rare-disease-genetics/
642
669
 
643
670
  ├── [R] 量子・先端計算
644
671
  │ ├── scientific-quantum-computing/
645
672
  │ ├── scientific-graph-neural-networks/
646
673
  │ ├── scientific-bayesian-statistics/
647
674
  │ ├── scientific-explainable-ai/
648
- └── scientific-deep-learning/
675
+ ├── scientific-deep-learning/
676
+ │ └── scientific-healthcare-ai/
649
677
 
650
678
  └── [S] 医用イメージング
651
679
  └── scientific-medical-imaging/
@@ -664,7 +692,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
664
692
  │ └── scientific-environmental-ecology/
665
693
 
666
694
  │── [W] システム生物学
667
- └── scientific-systems-biology/
695
+ ├── scientific-systems-biology/
696
+ │ └── scientific-metabolic-modeling/
668
697
 
669
698
  │── [X] 疫学・公衆衛生
670
699
  │ └── scientific-epidemiology-public-health/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/satori",
3
- "version": "0.12.0",
3
+ "version": "0.13.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,298 @@
1
+ ---
2
+ name: scientific-biothings-idmapping
3
+ description: |
4
+ BioThings API (MyGene.info, MyVariant.info, MyChem.info) を活用した
5
+ 遺伝子・変異・化合物の横断的 ID マッピングおよびアノテーション統合スキル。
6
+ ---
7
+
8
+ # Scientific BioThings ID Mapping
9
+
10
+ BioThings API スイート (MyGene, MyVariant, MyChem) を活用した
11
+ 多データベース横断の ID 変換・アノテーション取得パイプラインを提供する。
12
+
13
+ ## When to Use
14
+
15
+ - 遺伝子 ID 間の変換 (Entrez ↔ Ensembl ↔ Symbol ↔ UniProt) を行うとき
16
+ - 変異 ID のアノテーション (ClinVar, dbSNP, CADD 等) を取得するとき
17
+ - 化合物 ID の変換 (DrugBank ↔ ChEMBL ↔ InChIKey ↔ PubChem) を行うとき
18
+ - バッチクエリで多数の ID を一括アノテーションするとき
19
+ - 複数データベースのメタ情報を統合するとき
20
+
21
+ ---
22
+
23
+ ## Quick Start
24
+
25
+ ## 1. MyGene.info 遺伝子アノテーション
26
+
27
+ ```python
28
+ import requests
29
+ import pandas as pd
30
+
31
+ MYGENE_API = "https://mygene.info/v3"
32
+
33
+
34
+ def mygene_query(query, fields=None, species="human", size=10):
35
+ """
36
+ MyGene.info で遺伝子検索。
37
+
38
+ Parameters:
39
+ query: str — gene symbol, Entrez ID, or keyword
40
+ fields: str | None — comma-separated fields
41
+ species: str — "human", "mouse", etc.
42
+
43
+ ToolUniverse:
44
+ MyGene_query_genes(q=query, fields=fields, species=species)
45
+ """
46
+ params = {
47
+ "q": query,
48
+ "species": species,
49
+ "size": size,
50
+ }
51
+ if fields:
52
+ params["fields"] = fields
53
+
54
+ resp = requests.get(f"{MYGENE_API}/query", params=params)
55
+ resp.raise_for_status()
56
+ data = resp.json()
57
+
58
+ hits = data.get("hits", [])
59
+ print(f"MyGene query '{query}': {data.get('total', 0)} total, "
60
+ f"{len(hits)} returned")
61
+ return hits
62
+
63
+
64
+ def mygene_get_gene(gene_id, fields=None):
65
+ """
66
+ MyGene.info 遺伝子詳細アノテーション取得。
67
+
68
+ ToolUniverse:
69
+ MyGene_get_gene_annotation(gene_id=gene_id, fields=fields)
70
+ """
71
+ params = {}
72
+ if fields:
73
+ params["fields"] = fields
74
+
75
+ resp = requests.get(f"{MYGENE_API}/gene/{gene_id}", params=params)
76
+ resp.raise_for_status()
77
+ data = resp.json()
78
+
79
+ print(f"MyGene gene {gene_id}: {data.get('symbol', '?')} "
80
+ f"({data.get('name', '')})")
81
+ return data
82
+
83
+
84
+ def mygene_batch_query(gene_ids, fields=None, species="human"):
85
+ """
86
+ MyGene.info バッチ遺伝子アノテーション。
87
+
88
+ ToolUniverse:
89
+ MyGene_batch_query(ids=gene_ids, fields=fields, species=species)
90
+ """
91
+ payload = {
92
+ "ids": ",".join(str(g) for g in gene_ids),
93
+ "species": species,
94
+ }
95
+ if fields:
96
+ payload["fields"] = fields
97
+
98
+ resp = requests.post(f"{MYGENE_API}/gene", json=payload)
99
+ resp.raise_for_status()
100
+ data = resp.json()
101
+
102
+ print(f"MyGene batch: {len(gene_ids)} queried → {len(data)} results")
103
+ return data
104
+ ```
105
+
106
+ ## 2. MyVariant.info 変異アノテーション
107
+
108
+ ```python
109
+ MYVARIANT_API = "https://myvariant.info/v1"
110
+
111
+
112
+ def myvariant_get(variant_id, fields=None):
113
+ """
114
+ MyVariant.info 変異アノテーション取得。
115
+
116
+ Parameters:
117
+ variant_id: str — HGVS notation (e.g., "chr17:g.7674220C>T")
118
+
119
+ ToolUniverse:
120
+ MyVariant_get_variant_annotation(variant_id=variant_id, fields=fields)
121
+ """
122
+ params = {}
123
+ if fields:
124
+ params["fields"] = fields
125
+
126
+ resp = requests.get(f"{MYVARIANT_API}/variant/{variant_id}", params=params)
127
+ resp.raise_for_status()
128
+ data = resp.json()
129
+
130
+ clinvar = data.get("clinvar", {})
131
+ cadd = data.get("cadd", {})
132
+ print(f"MyVariant {variant_id}: "
133
+ f"ClinVar={clinvar.get('clinical_significance', 'N/A')}, "
134
+ f"CADD={cadd.get('phred', 'N/A')}")
135
+ return data
136
+
137
+
138
+ def myvariant_query(query, fields=None, size=10):
139
+ """
140
+ MyVariant.info 変異検索。
141
+
142
+ ToolUniverse:
143
+ MyVariant_query_variants(q=query, fields=fields, size=size)
144
+ """
145
+ params = {"q": query, "size": size}
146
+ if fields:
147
+ params["fields"] = fields
148
+
149
+ resp = requests.get(f"{MYVARIANT_API}/query", params=params)
150
+ resp.raise_for_status()
151
+ data = resp.json()
152
+
153
+ hits = data.get("hits", [])
154
+ print(f"MyVariant query '{query}': {data.get('total', 0)} total")
155
+ return hits
156
+ ```
157
+
158
+ ## 3. MyChem.info 化合物アノテーション
159
+
160
+ ```python
161
+ MYCHEM_API = "https://mychem.info/v1"
162
+
163
+
164
+ def mychem_get(chem_id, fields=None):
165
+ """
166
+ MyChem.info 化合物アノテーション取得。
167
+
168
+ Parameters:
169
+ chem_id: str — InChIKey, DrugBank ID, ChEMBL ID, etc.
170
+
171
+ ToolUniverse:
172
+ MyChem_get_chemical_annotation(chem_id=chem_id, fields=fields)
173
+ """
174
+ params = {}
175
+ if fields:
176
+ params["fields"] = fields
177
+
178
+ resp = requests.get(f"{MYCHEM_API}/chem/{chem_id}", params=params)
179
+ resp.raise_for_status()
180
+ data = resp.json()
181
+
182
+ drugbank = data.get("drugbank", {})
183
+ print(f"MyChem {chem_id}: {drugbank.get('name', 'N/A')}")
184
+ return data
185
+
186
+
187
+ def mychem_query(query, fields=None, size=10):
188
+ """
189
+ MyChem.info 化合物検索。
190
+
191
+ ToolUniverse:
192
+ MyChem_query_chemicals(q=query, fields=fields, size=size)
193
+ """
194
+ params = {"q": query, "size": size}
195
+ if fields:
196
+ params["fields"] = fields
197
+
198
+ resp = requests.get(f"{MYCHEM_API}/query", params=params)
199
+ resp.raise_for_status()
200
+ data = resp.json()
201
+
202
+ hits = data.get("hits", [])
203
+ print(f"MyChem query '{query}': {data.get('total', 0)} total")
204
+ return hits
205
+ ```
206
+
207
+ ## 4. クロスデータベース ID マッピング
208
+
209
+ ```python
210
+ def cross_db_id_mapping(gene_symbol):
211
+ """
212
+ 遺伝子シンボルから Entrez, Ensembl, UniProt, RefSeq を一括取得。
213
+
214
+ ToolUniverse (横断):
215
+ MyGene_query_genes(q=gene_symbol, fields="entrezgene,ensembl.gene,uniprot,refseq")
216
+ """
217
+ fields = "entrezgene,ensembl.gene,uniprot.Swiss-Prot,refseq.rna,symbol,name"
218
+ hits = mygene_query(gene_symbol, fields=fields)
219
+
220
+ results = []
221
+ for hit in hits:
222
+ ensembl = hit.get("ensembl", {})
223
+ if isinstance(ensembl, list):
224
+ ensembl = ensembl[0] if ensembl else {}
225
+ uniprot = hit.get("uniprot", {})
226
+
227
+ results.append({
228
+ "symbol": hit.get("symbol", ""),
229
+ "name": hit.get("name", ""),
230
+ "entrez_id": hit.get("entrezgene", ""),
231
+ "ensembl_gene": ensembl.get("gene", ""),
232
+ "uniprot_swissprot": uniprot.get("Swiss-Prot", ""),
233
+ "refseq_rna": hit.get("refseq", {}).get("rna", []),
234
+ })
235
+
236
+ df = pd.DataFrame(results)
237
+ print(f"ID mapping '{gene_symbol}': {len(df)} entries")
238
+ return df
239
+ ```
240
+
241
+ ## 5. バッチ統合アノテーション
242
+
243
+ ```python
244
+ def batch_integrated_annotation(gene_symbols, include_variants=False):
245
+ """
246
+ 複数遺伝子のバッチ統合アノテーション。
247
+
248
+ ToolUniverse (横断):
249
+ MyGene_batch_query(ids=entrez_ids, fields=fields)
250
+ MyVariant_query_variants(q=gene_query) [optional]
251
+ """
252
+ # Step 1: Batch gene annotation
253
+ all_hits = []
254
+ for symbol in gene_symbols:
255
+ hits = mygene_query(symbol, fields="entrezgene,symbol,name,summary")
256
+ all_hits.extend(hits[:1]) # top hit per symbol
257
+
258
+ df = pd.DataFrame(all_hits)
259
+ print(f"Batch annotation: {len(gene_symbols)} genes → {len(df)} results")
260
+ return df
261
+ ```
262
+
263
+ ## References
264
+
265
+ ### Output Files
266
+
267
+ | ファイル | 形式 |
268
+ |---|---|
269
+ | `results/mygene_annotation.json` | JSON |
270
+ | `results/myvariant_annotation.json` | JSON |
271
+ | `results/mychem_annotation.json` | JSON |
272
+ | `results/id_mapping.csv` | CSV |
273
+
274
+ ### 利用可能ツール
275
+
276
+ | カテゴリ | 主要ツール | 用途 |
277
+ |---|---|---|
278
+ | BioThings | `MyGene_query_genes` | 遺伝子検索 |
279
+ | BioThings | `MyGene_get_gene_annotation` | 遺伝子詳細 |
280
+ | BioThings | `MyGene_batch_query` | バッチアノテーション |
281
+ | BioThings | `MyVariant_get_variant_annotation` | 変異アノテーション |
282
+ | BioThings | `MyVariant_query_variants` | 変異検索 |
283
+ | BioThings | `MyChem_get_chemical_annotation` | 化合物アノテーション |
284
+ | BioThings | `MyChem_query_chemicals` | 化合物検索 |
285
+
286
+ ### 参照スキル
287
+
288
+ | スキル | 関連 |
289
+ |---|---|
290
+ | `scientific-variant-interpretation` | 変異アノテーション |
291
+ | `scientific-gene-expression-transcriptomics` | 遺伝子発現 |
292
+ | `scientific-drug-target-interaction` | DTI 解析 |
293
+ | `scientific-rare-disease-genetics` | 希少疾患 |
294
+ | `scientific-pathway-enrichment` | パスウェイ解析 |
295
+
296
+ ### 依存パッケージ
297
+
298
+ `requests`, `pandas`