@nahisaho/satori 0.21.0 → 0.23.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.
Files changed (24) hide show
  1. package/README.md +67 -39
  2. package/package.json +1 -1
  3. package/src/.github/skills/scientific-active-learning/SKILL.md +289 -0
  4. package/src/.github/skills/scientific-advanced-visualization/SKILL.md +310 -0
  5. package/src/.github/skills/scientific-automl/SKILL.md +264 -0
  6. package/src/.github/skills/scientific-clinical-pharmacology/SKILL.md +361 -0
  7. package/src/.github/skills/scientific-clinical-standards/SKILL.md +444 -0
  8. package/src/.github/skills/scientific-crispr-design/SKILL.md +369 -0
  9. package/src/.github/skills/scientific-ensemble-methods/SKILL.md +263 -0
  10. package/src/.github/skills/scientific-environmental-ecology/SKILL.md +5 -0
  11. package/src/.github/skills/scientific-epidemiology-public-health/SKILL.md +5 -0
  12. package/src/.github/skills/scientific-epigenomics-chromatin/SKILL.md +5 -0
  13. package/src/.github/skills/scientific-glycomics/SKILL.md +274 -0
  14. package/src/.github/skills/scientific-immunoinformatics/SKILL.md +9 -0
  15. package/src/.github/skills/scientific-interactive-dashboard/SKILL.md +346 -0
  16. package/src/.github/skills/scientific-lipidomics/SKILL.md +284 -0
  17. package/src/.github/skills/scientific-metabolomics/SKILL.md +3 -0
  18. package/src/.github/skills/scientific-metagenome-assembled-genomes/SKILL.md +299 -0
  19. package/src/.github/skills/scientific-missing-data-analysis/SKILL.md +312 -0
  20. package/src/.github/skills/scientific-model-organism-db/SKILL.md +8 -0
  21. package/src/.github/skills/scientific-public-health-data/SKILL.md +11 -0
  22. package/src/.github/skills/scientific-systems-biology/SKILL.md +11 -0
  23. package/src/.github/skills/scientific-transfer-learning/SKILL.md +298 -0
  24. package/src/.github/skills/scientific-uncertainty-quantification/SKILL.md +286 -0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## Overview
9
9
 
10
- このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **160 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。124 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
10
+ このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **174 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。131 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
11
11
 
12
12
  ### パイプラインフロー
13
13
 
@@ -208,7 +208,7 @@ symbolic-mathematics ──→ systems-biology ──→ admet-pharmacokinetics
208
208
 
209
209
  ### ToolUniverse MCP ツール連携
210
210
 
211
- 124 のスキル(HIGH 13 + MEDIUM 9 + Phase 3: 20 + Phase 4: 8 + Phase 5: 9 + Phase 6: 7 + Phase 7: 4 + Phase 8: 4 + Phase 9: 5 + Phase 10: 6 + Phase 11: 8 new + 6 existing + Phase 12: 3 new + 12 existing key additions + Phase 13: 3 new + 7 existing key additions)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
211
+ 131 のスキル(HIGH 13 + MEDIUM 9 + Phase 3: 20 + Phase 4: 8 + Phase 5: 9 + Phase 6: 7 + Phase 7: 4 + Phase 8: 4 + Phase 9: 5 + Phase 10: 6 + Phase 11: 8 new + 6 existing + Phase 12: 3 new + 12 existing key additions + Phase 13: 3 new + 7 existing key additions + Phase 14: 1 new + 6 existing key additions)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
212
212
 
213
213
  ```
214
214
  SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・計算)
@@ -277,7 +277,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
277
277
  │ cellxgene-census │───MCP──│ CELLxGENE Census API │
278
278
  │ pharos-targets │───MCP──│ Pharos GraphQL API │
279
279
  │ clingen-curation │───MCP──│ ClinGen Validity/Dosage │
280
- │ ... (124 skills total)│ │ ... (1,200+ tools) │
280
+ │ ... (131 skills total)│ │ ... (1,200+ tools) │
281
281
  └──────────────────────┘ └─────────────────────────────┘
282
282
  ```
283
283
 
@@ -286,27 +286,27 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
286
286
  | 中区分 | スキル数 | 概要 |
287
287
  |---|:---:|---|
288
288
  | A. 基盤・ワークフロー | 17 | パイプライン構築・前処理・データ生成・図表・執筆・仮説立案・批判的レビュー・SI 生成・LaTeX 変換・引用検証・査読対応・改訂追跡・論文品質・系統的レビュー・BioThings ID マッピング・データ投稿・CrossRef メタデータ |
289
- | B. 統計・探索的解析 | 4 | EDA・仮説検定・次元削減・記号数学 |
290
- | C. 機械学習・モデリング | 3 | 回帰・分類・特徴量重要度 |
289
+ | B. 統計・探索的解析 | 6 | EDA・仮説検定・次元削減・記号数学・欠損データ解析・高度可視化 |
290
+ | C. 機械学習・モデリング | 6 | 回帰・分類・特徴量重要度・アクティブラーニング・AutoML・アンサンブル学習 |
291
291
  | D. 実験計画・プロセス最適化 | 2 | DOE・応答曲面法・ベイズ最適化 |
292
292
  | E. 信号・スペクトル・時系列 | 4 | スペクトル解析・生体信号・時系列分解・神経電気生理学 |
293
- | F. 生命科学・オミクス | 26 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA・オントロジー・EBI DB 群・Ensembl ゲノミクス・STRING/BioGRID PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワーク |
293
+ | F. 生命科学・オミクス | 28 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA・オントロジー・EBI DB 群・Ensembl ゲノミクス・STRING/BioGRID PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワーク・糖鎖解析・リピドミクス |
294
294
  | G. 化学・材料・イメージング | 9 | ケモインフォ・材料特性評価・画像形態解析・計算材料科学・ChEMBL アッセイマイニング・MD シミュレーション・高度イメージング・深層化学・STITCH 化学-タンパク質ネットワーク |
295
- | H. 臨床・疫学・メタ科学 | 6 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート・バイオバンク大規模コホート |
295
+ | H. 臨床・疫学・メタ科学 | 7 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート・バイオバンク大規模コホート・臨床標準用語 |
296
296
  | I. Deep Research・文献検索 | 4 | 科学文献深層リサーチ・エビデンス階層評価・マルチ DB 文献検索・引用ネットワーク・プレプリント横断検索・Semantic Scholar 学術グラフ |
297
297
  | J. 創薬・ファーマコロジー | 9 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank リソース・Pharos ターゲット |
298
298
  | K. 構造生物学・タンパク質工学 | 7 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー・構造プロテオミクス・AlphaFold DB 構造予測・RCSB PDB 構造検索 |
299
299
  | L. 精密医療・臨床意思決定 | 6 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測・CIViC 臨床エビデンス・gnomAD バリアント・ClinGen キュレーション |
300
- | M. 実験室自動化・データ管理 | 2 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理 |
301
- | N. 科学プレゼンテーション・図式 | 2 | 科学スライド・ポスター・ワークフロー図・科学図式 |
300
+ | M. 実験室自動化・データ管理 | 3 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理・CRISPR gRNA 設計 |
301
+ | N. 科学プレゼンテーション・図式 | 3 | 科学スライド・ポスター・ワークフロー図・科学図式・インタラクティブダッシュボード |
302
302
  | O. 研究計画・グラント・規制 | 3 | 助成金申請書・研究方法論・倫理審査・規制科学 |
303
- | P. ファーマコビジランス・薬理ゲノミクス | 3 | FAERS 不均衡分析・MedDRA 階層・安全性シグナル検出・PGx 代謝型・PharmGKB 臨床アノテーション |
303
+ | P. ファーマコビジランス・薬理ゲノミクス | 4 | FAERS 不均衡分析・MedDRA 階層・安全性シグナル検出・PGx 代謝型・PharmGKB 臨床アノテーション・臨床薬理学 PopPK/PBPK |
304
304
  | Q. 腫瘍学・疾患研究 | 10 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap)・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータ・Open Targets 遺伝学・DepMap 依存性・Monarch オントロジー・GDC ポータル |
305
- | R. 量子・先端計算 | 7 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習・ヘルスケア AI・強化学習 |
305
+ | R. 量子・先端計算 | 9 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習・ヘルスケア AI・強化学習・転移学習・不確実性定量化 |
306
306
  | S. 医用イメージング | 1 | DICOM/NIfTI・WSI 病理画像・Radiomics・MONAI |
307
307
  | T. シングルセル・空間・エピゲノミクス | 13 | scRNA-seq・Visium・MERFISH・CELLxGENE・RNA velocity・エピゲノミクス・レギュラトリーゲノミクス・摂動解析・scVI 統合・scATAC-seq/Signac・GPU シングルセル・ENCODE/SCREEN・Human Cell Atlas・高度 Squidpy 空間解析・空間マルチオミクス・CELLxGENE Census |
308
308
  | U. 免疫・感染症 | 2 | 免疫情報学・MHC 結合予測・病原体ゲノミクス・AMR・IEDB |
309
- | V. マイクロバイオーム・環境 | 8 | 16S/メタゲノム・α/β 多様性・SDM・OBIS・GBIF・系統解析・rRNA 分類学・植物バイオロジー・海洋生態学・環境地理空間データ・古生物学 |
309
+ | V. マイクロバイオーム・環境 | 9 | 16S/メタゲノム・α/β 多様性・SDM・OBIS・GBIF・系統解析・rRNA 分類学・植物バイオロジー・海洋生態学・環境地理空間データ・古生物学・MAG 再構築 |
310
310
  | W. システム生物学 | 4 | SBML シミュレーション・FBA・GRN 推定・BioModels・代謝モデリング・Metabolic Atlas・代謝フラックス解析 |
311
311
  | X. 疫学・公衆衛生 | 3 | リスク指標 (RR/OR)・年齢標準化・空間疫学・WHO・CDC・公衆衛生データ・環境毒性学 |
312
312
  | Y. 集団遺伝学 | 2 | HWE・PCA/ADMIXTURE・Fst・選択スキャン・gnomAD・GWAS・GWAS Catalog |
@@ -340,9 +340,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
340
340
  | 119 | [scientific-data-submission](scientific-data-submission/SKILL.md) | GenBank/SRA/GEO/BioProject/BioSample データ投稿・FAIR 原則準拠 | 汎用 |
341
341
  | 139 | [scientific-crossref-metadata](scientific-crossref-metadata/SKILL.md) | CrossRef REST API DOI 解決・論文メタデータ・引用数・ジャーナル情報 | 汎用 |
342
342
 
343
- ### B. 統計・探索的解析(4 種)
343
+ ### B. 統計・探索的解析(6 種)
344
344
 
345
- データの理解・検定・次元削減・記号数学を担うスキル群。
345
+ データの理解・検定・次元削減・記号数学・欠損データ解析・高度可視化を担うスキル群。
346
346
 
347
347
  | # | Skill | 説明 | 参照 Exp |
348
348
  |---|---|---|---|
@@ -350,16 +350,21 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
350
350
  | 15 | [scientific-statistical-testing](scientific-statistical-testing/SKILL.md) | 仮説検定・多重比較・エンリッチメント・ベイズ推論 | 03, 04, 06, 07 |
351
351
  | 16 | [scientific-pca-tsne](scientific-pca-tsne/SKILL.md) | PCA / t-SNE / UMAP 次元削減・クラスタリング | 02, 03, 07, 11, 13 |
352
352
  | 105 | [scientific-symbolic-mathematics](scientific-symbolic-mathematics/SKILL.md) | SymPy 解析的微積分・ODE 求解・線形代数・科学モデリング記号計算 | 汎用 |
353
+ | 172 | [scientific-missing-data-analysis](scientific-missing-data-analysis/SKILL.md) | 欠損パターン診断 (MCAR/MAR/MNAR)・Little's MCAR テスト・MICE 多重代入・KNN/MissForest 補完 | 汎用 |
354
+ | 173 | [scientific-advanced-visualization](scientific-advanced-visualization/SKILL.md) | Plotly 3D・Altair 宣言的可視化・Parallel Coordinates・出版品質図・アニメーション | 汎用 |
353
355
 
354
- ### C. 機械学習・モデリング(3 種)
356
+ ### C. 機械学習・モデリング(6 種)
355
357
 
356
- 教師あり学習と特徴量解釈を担うスキル群。
358
+ 教師あり学習・特徴量解釈・アクティブラーニング・AutoML・アンサンブル学習を担うスキル群。
357
359
 
358
360
  | # | Skill | 説明 | 参照 Exp |
359
361
  |---|---|---|---|
360
362
  | 17 | [scientific-ml-regression](scientific-ml-regression/SKILL.md) | マルチターゲット回帰・モデル比較・レーダーチャート | 05, 12, 13 |
361
363
  | 18 | [scientific-ml-classification](scientific-ml-classification/SKILL.md) | 分類 ML・ROC・PR 曲線・混同行列・PDP・Volcano | 03, 05 |
362
364
  | 19 | [scientific-feature-importance](scientific-feature-importance/SKILL.md) | Tree-based & Permutation 特徴量重要度・PDP | 05, 12, 13 |
365
+ | 167 | [scientific-active-learning](scientific-active-learning/SKILL.md) | 不確実性サンプリング・QBC・バッチ AL・能動学習ループ・停止基準 | 汎用 |
366
+ | 168 | [scientific-automl](scientific-automl/SKILL.md) | Optuna HPO・マルチモデル AutoML・自動特徴量エンジニアリング・AutoML レポート | 汎用 |
367
+ | 169 | [scientific-ensemble-methods](scientific-ensemble-methods/SKILL.md) | XGBoost/LightGBM/CatBoost 比較・Stacking OOF・Voting・アンサンブル多様性 | 汎用 |
363
368
 
364
369
  ### D. 実験計画・プロセス最適化(2 種)
365
370
 
@@ -381,9 +386,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
381
386
  | 24 | [scientific-time-series](scientific-time-series/SKILL.md) | STL 分解・SARIMA 予測・変化点検出・FFT 周期解析・Granger 因果 | 汎用 |
382
387
  | 67 | [scientific-neuroscience-electrophysiology](scientific-neuroscience-electrophysiology/SKILL.md) | SpikeInterface/Kilosort4 スパイクソート・MNE EEG/ERP・NeuroKit2 HRV/EDA・脳機能結合 | 汎用 |
383
388
 
384
- ### F. 生命科学・オミクス(26 種)
389
+ ### F. 生命科学・オミクス(28 種)
385
390
 
386
- バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワークを担うスキル群。
391
+ バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワーク・糖鎖解析・リピドミクスを担うスキル群。
387
392
 
388
393
  | # | Skill | 説明 | 参照 Exp |
389
394
  |---|---|---|---|
@@ -413,6 +418,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
413
418
  | 144 | [scientific-reactome-pathways](scientific-reactome-pathways/SKILL.md) | Reactome Content Service パスウェイ検索・UniProt マッピング・参加者取得 | 汎用 |
414
419
  | 159 | [scientific-hgnc-nomenclature](scientific-hgnc-nomenclature/SKILL.md) | HGNC REST API 遺伝子命名法・公式シンボル検索・エイリアス解決・遺伝子ファミリー | 汎用 |
415
420
  | 160 | [scientific-metabolomics-network](scientific-metabolomics-network/SKILL.md) | 代謝物相関ネットワーク構築・KEGG パスウェイグラフ・ハブ代謝物・エンリッチメント | 汎用 |
421
+ | 161 | [scientific-glycomics](scientific-glycomics/SKILL.md) | GlyGen/GlyConnect 糖鎖データベース統合・糖タンパク質部位検索・MS 断片化予測 | 汎用 |
422
+ | 162 | [scientific-lipidomics](scientific-lipidomics/SKILL.md) | LipidMAPS/SwissLipids 脂質構造検索・サブクラス分類・脂質差次解析・脂質エンリッチメント | 汎用 |
416
423
 
417
424
  ### G. 化学・材料・イメージング(9 種)
418
425
 
@@ -430,9 +437,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
430
437
  | 115 | [scientific-deep-chemistry](scientific-deep-chemistry/SKILL.md) | DeepChem GCN/MPNN/AttentiveFP 分子特性予測・MoleculeNet・ChemBERTa | 汎用 |
431
438
  | 154 | [scientific-stitch-chemical-network](scientific-stitch-chemical-network/SKILL.md) | STITCH 化学物質-タンパク質相互作用ネットワーク・ネットワーク薬理学・ポリファーマコロジー | 汎用 |
432
439
 
433
- ### H. 臨床・疫学・メタ科学(6 種)
440
+ ### H. 臨床・疫学・メタ科学(7 種)
434
441
 
435
- 臨床試験・因果推論・メタアナリシス・臨床試験解析・バイオバンク大規模コホートを担うスキル群。
442
+ 臨床試験・因果推論・メタアナリシス・臨床試験解析・バイオバンク大規模コホート・臨床標準用語を担うスキル群。
436
443
 
437
444
  | # | Skill | 説明 | 参照 Exp |
438
445
  |---|---|---|---|
@@ -442,6 +449,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
442
449
  | 71 | [scientific-clinical-trials-analytics](scientific-clinical-trials-analytics/SKILL.md) | ClinicalTrials.gov API v2 検索・競合ランドスケープ・AE/アウトカム抽出 | 汎用 |
443
450
  | 85 | [scientific-clinical-reporting](scientific-clinical-reporting/SKILL.md) | SOAP ノート・バイオマーカーレポート・ファーマコゲノミクス・FHIR JSON | 汎用 |
444
451
  | 151 | [scientific-biobank-cohort](scientific-biobank-cohort/SKILL.md) | UK Biobank/BBJ/All of Us 大規模コホート・GWAS サマリー統計・PheWAS | 汎用 |
452
+ | 166 | [scientific-clinical-standards](scientific-clinical-standards/SKILL.md) | LOINC/ICD-10/ICD-11 臨床標準コード検索・FHIR R4 マッピング・用語相互運用 | 汎用 |
445
453
 
446
454
  ### I. Deep Research・文献検索(4 種)
447
455
 
@@ -496,23 +504,25 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
496
504
  | 148 | [scientific-gnomad-variants](scientific-gnomad-variants/SKILL.md) | gnomAD GraphQL 集団アレル頻度・遺伝子制約 (pLI/LOEUF)・リージョンクエリ | 汎用 |
497
505
  | 157 | [scientific-clingen-curation](scientific-clingen-curation/SKILL.md) | ClinGen 遺伝子-疾患バリディティ・投与量感受性・臨床アクショナビリティ | 汎用 |
498
506
 
499
- ### M. 実験室自動化・データ管理(2 種)
507
+ ### M. 実験室自動化・データ管理(3 種)
500
508
 
501
- ラボ実験の自動化とデータ管理を担うスキル群。
509
+ ラボ実験の自動化とデータ管理・CRISPR gRNA 設計を担うスキル群。
502
510
 
503
511
  | # | Skill | 説明 | 参照 Exp |
504
512
  |---|---|---|---|
505
513
  | 44 | [scientific-lab-automation](scientific-lab-automation/SKILL.md) | PyLabRobot/Opentrons プロトコル・SOP テンプレート・ELN/LIMS 連携・QC 検証 | 汎用 |
506
514
  | 72 | [scientific-lab-data-management](scientific-lab-data-management/SKILL.md) | Benchling ELN/DNA 設計・DNAnexus PaaS・OMERO バイオイメージング・Protocols.io | 汎用 |
515
+ | 164 | [scientific-crispr-design](scientific-crispr-design/SKILL.md) | CRISPR gRNA 設計・Cas9/Cas12a PAM 検索・オフターゲットスコアリング・sgRNA ライブラリ構築 | 汎用 |
507
516
 
508
- ### N. 科学プレゼンテーション・図式(2 種)
517
+ ### N. 科学プレゼンテーション・図式(3 種)
509
518
 
510
- 学会発表用スライド・ポスター・科学図式のデザインを担うスキル群。
519
+ 学会発表用スライド・ポスター・科学図式・インタラクティブダッシュボードのデザインを担うスキル群。
511
520
 
512
521
  | # | Skill | 説明 | 参照 Exp |
513
522
  |---|---|---|---|
514
523
  | 45 | [scientific-presentation-design](scientific-presentation-design/SKILL.md) | 15 スライド構成テンプレート・tikzposter・matplotlib ワークフロー図・アクセシビリティ | 汎用 |
515
524
  | 73 | [scientific-scientific-schematics](scientific-scientific-schematics/SKILL.md) | CONSORT フロー図・NN アーキテクチャ図・パスウェイ図・TikZ/SVG | 汎用 |
525
+ | 174 | [scientific-interactive-dashboard](scientific-interactive-dashboard/SKILL.md) | Streamlit/Dash/Panel 科学データダッシュボード・パラメータ探索 UI・リアルタイム解析 | 汎用 |
516
526
 
517
527
  ### O. 研究計画・グラント・規制(3 種)
518
528
 
@@ -524,15 +534,16 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
524
534
  | 47 | [scientific-research-methodology](scientific-research-methodology/SKILL.md) | SCAMPER/TRIZ ブレインストーミング・研究デザインマトリクス・FINER 基準・IRB 倫理チェック | 汎用 |
525
535
  | 74 | [scientific-regulatory-science](scientific-regulatory-science/SKILL.md) | FDA Orange Book/医療機器 510(k)/ISO 13485 QMS/CAPA/USPTO 特許検索 | 汎用 |
526
536
 
527
- ### P. ファーマコビジランス・薬理ゲノミクス(3 種)
537
+ ### P. ファーマコビジランス・薬理ゲノミクス(4 種)
528
538
 
529
- 市販後医薬品安全性監視と薬理ゲノミクス・PharmGKB 臨床アノテーションのためのシグナル検出・定量評価を担うスキル群。
539
+ 市販後医薬品安全性監視と薬理ゲノミクス・PharmGKB 臨床アノテーション・臨床薬理学モデリングのためのシグナル検出・定量評価を担うスキル群。
530
540
 
531
541
  | # | Skill | 説明 | 参照 Exp |
532
542
  |---|---|---|---|
533
543
  | 48 | [scientific-pharmacovigilance](scientific-pharmacovigilance/SKILL.md) | FAERS 不均衡分析 (PRR/ROR/IC/EBGM)・MedDRA 階層・時系列トレンド・Naranjo 因果評価 | 汎用 |
534
544
  | 75 | [scientific-pharmacogenomics](scientific-pharmacogenomics/SKILL.md) | PharmGKB/CPIC ガイドライン・Star アレル・代謝型・FDA PGx バイオマーカー | 汎用 |
535
545
  | 138 | [scientific-pharmgkb-pgx](scientific-pharmgkb-pgx/SKILL.md) | PharmGKB REST API 臨床アノテーション・薬物遺伝子関連・投与量ガイドライン | 汎用 |
546
+ | 165 | [scientific-clinical-pharmacology](scientific-clinical-pharmacology/SKILL.md) | PopPK NLME・PBPK シミュレーション・TDM 投与量最適化・Emax PD モデリング | 汎用 |
536
547
 
537
548
  ### Q. 腫瘍学・疾患研究(10 種)
538
549
 
@@ -551,9 +562,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
551
562
  | 149 | [scientific-monarch-ontology](scientific-monarch-ontology/SKILL.md) | Monarch Initiative 疾患-遺伝子-表現型オントロジー・HPO・エンティティ検索 | 汎用 |
552
563
  | 150 | [scientific-gdc-portal](scientific-gdc-portal/SKILL.md) | NCI Genomic Data Commons REST API・プロジェクト/ケース/SSM 検索 | 汎用 |
553
564
 
554
- ### R. 量子・先端計算(7 種)
565
+ ### R. 量子・先端計算(9 種)
555
566
 
556
- 量子計算・GNN・ベイズ統計・XAI・深層学習・ヘルスケア AI・強化学習など次世代計算手法を担うスキル群。
567
+ 量子計算・GNN・ベイズ統計・XAI・深層学習・ヘルスケア AI・強化学習・転移学習・不確実性定量化など次世代計算手法を担うスキル群。
557
568
 
558
569
  | # | Skill | 説明 | 参照 Exp |
559
570
  |---|---|---|---|
@@ -564,6 +575,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
564
575
  | 55 | [scientific-deep-learning](scientific-deep-learning/SKILL.md) | Lightning/timm/Transformers・CNN/ViT/BERT Fine-tune・Optuna HPO・ONNX エクスポート | 汎用 |
565
576
  | 96 | [scientific-healthcare-ai](scientific-healthcare-ai/SKILL.md) | PyHealth 臨床 ML パイプライン・フローサイトメトリー・EHR 処理 | 汎用 |
566
577
  | 104 | [scientific-reinforcement-learning](scientific-reinforcement-learning/SKILL.md) | Stable-Baselines3/PufferLib RL エージェント訓練・分子設計/実験最適化 RL | 汎用 |
578
+ | 170 | [scientific-transfer-learning](scientific-transfer-learning/SKILL.md) | Vision/NLP ファインチューニング・Few-shot・知識蒸留・ドメイン適応 | 汎用 |
579
+ | 171 | [scientific-uncertainty-quantification](scientific-uncertainty-quantification/SKILL.md) | Conformal Prediction・MC Dropout・深層アンサンブル・Calibration・ECE | 汎用 |
567
580
 
568
581
  ### S. 医用イメージング(1 種)
569
582
 
@@ -602,9 +615,9 @@ scRNA-seq・空間トランスクリプトミクス・エピゲノミクス・
602
615
  | 59 | [scientific-immunoinformatics](scientific-immunoinformatics/SKILL.md) | MHC-I/II 結合予測・B 細胞エピトープ・TCR/BCR レパトア多様性・抗体 CDR 解析・ワクチン候補ランキング | 汎用 |
603
616
  | 60 | [scientific-infectious-disease](scientific-infectious-disease/SKILL.md) | 病原体 WGS QC・AMR 遺伝子検出・MLST 型別・系統解析 (IQ-TREE)・SIR/SEIR 数理モデル | 汎用 |
604
617
 
605
- ### V. マイクロバイオーム・環境(8 種)
618
+ ### V. マイクロバイオーム・環境(9 種)
606
619
 
607
- マイクロバイオーム解析・環境/生態系モデリング・系統解析・rRNA 分類学・植物バイオロジー・海洋生態学・環境地理空間データ・古生物学を担うスキル群。
620
+ マイクロバイオーム解析・環境/生態系モデリング・系統解析・rRNA 分類学・植物バイオロジー・海洋生態学・環境地理空間データ・古生物学・MAG 再構築を担うスキル群。
608
621
 
609
622
  | # | Skill | 説明 | 参照 Exp |
610
623
  |---|---|---|---|
@@ -616,6 +629,7 @@ scRNA-seq・空間トランスクリプトミクス・エピゲノミクス・
616
629
  | 122 | [scientific-marine-ecology](scientific-marine-ecology/SKILL.md) | OBIS/WoRMS/GBIF/FishBase 海洋生物多様性・分布解析 | 汎用 |
617
630
  | 128 | [scientific-environmental-geodata](scientific-environmental-geodata/SKILL.md) | SoilGrids/WorldClim 環境地理空間データ・種分布モデル環境変数 | 汎用 |
618
631
  | 129 | [scientific-paleobiology](scientific-paleobiology/SKILL.md) | PBDB 化石産出記録・分類群検索・地質年代多様性曲線 | 汎用 |
632
+ | 163 | [scientific-metagenome-assembled-genomes](scientific-metagenome-assembled-genomes/SKILL.md) | MetaBAT2/CONCOCT ビニング・CheckM2 品質評価・GTDB-Tk 分類・MAG パイプライン | 汎用 |
619
633
 
620
634
  ### W. システム生物学(4 種)
621
635
 
@@ -725,12 +739,17 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
725
739
  │ ├── scientific-eda-correlation/
726
740
  │ ├── scientific-statistical-testing/
727
741
  │ ├── scientific-pca-tsne/
728
- └── scientific-symbolic-mathematics/
742
+ ├── scientific-symbolic-mathematics/
743
+ │ ├── scientific-missing-data-analysis/
744
+ │ └── scientific-advanced-visualization/
729
745
 
730
746
  │── [C] 機械学習・モデリング
731
747
  │ ├── scientific-ml-regression/
732
748
  │ ├── scientific-ml-classification/
733
- └── scientific-feature-importance/
749
+ ├── scientific-feature-importance/
750
+ │ ├── scientific-active-learning/
751
+ │ ├── scientific-automl/
752
+ │ └── scientific-ensemble-methods/
734
753
 
735
754
  │── [D] 実験計画・プロセス最適化
736
755
  │ ├── scientific-doe/
@@ -768,7 +787,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
768
787
  │ ├── scientific-uniprot-proteome/
769
788
  │ ├── scientific-reactome-pathways/
770
789
  │ ├── scientific-hgnc-nomenclature/
771
- └── scientific-metabolomics-network/
790
+ ├── scientific-metabolomics-network/
791
+ │ ├── scientific-glycomics/
792
+ │ └── scientific-lipidomics/
772
793
 
773
794
  │── [G] 化学・材料・イメージング
774
795
  │ ├── scientific-cheminformatics/
@@ -787,7 +808,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
787
808
  │ ├── scientific-meta-analysis/
788
809
  │ ├── scientific-clinical-trials-analytics/
789
810
  │ ├── scientific-clinical-reporting/
790
- └── scientific-biobank-cohort/
811
+ ├── scientific-biobank-cohort/
812
+ │ └── scientific-clinical-standards/
791
813
 
792
814
  ├── [I] Deep Research・文献検索
793
815
  │ ├── scientific-deep-research/
@@ -825,11 +847,13 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
825
847
 
826
848
  ├── [M] 実験室自動化・データ管理
827
849
  │ ├── scientific-lab-automation/
828
- └── scientific-lab-data-management/
850
+ ├── scientific-lab-data-management/
851
+ │ └── scientific-crispr-design/
829
852
 
830
853
  ├── [N] 科学プレゼンテーション・図式
831
854
  │ ├── scientific-presentation-design/
832
- └── scientific-scientific-schematics/
855
+ ├── scientific-scientific-schematics/
856
+ │ └── scientific-interactive-dashboard/
833
857
 
834
858
  └── [O] 研究計画・グラント・規制
835
859
  ├── scientific-grant-writing/
@@ -839,7 +863,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
839
863
  ├── [P] ファーマコビジランス・薬理ゲノミクス
840
864
  │ ├── scientific-pharmacovigilance/
841
865
  │ ├── scientific-pharmacogenomics/
842
- └── scientific-pharmgkb-pgx/
866
+ ├── scientific-pharmgkb-pgx/
867
+ │ └── scientific-clinical-pharmacology/
843
868
 
844
869
  ├── [Q] 腫瘍学・疾患研究
845
870
  │ ├── scientific-precision-oncology/
@@ -860,7 +885,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
860
885
  │ ├── scientific-explainable-ai/
861
886
  │ ├── scientific-deep-learning/
862
887
  │ ├── scientific-healthcare-ai/
863
- └── scientific-reinforcement-learning/
888
+ ├── scientific-reinforcement-learning/
889
+ │ ├── scientific-transfer-learning/
890
+ │ └── scientific-uncertainty-quantification/
864
891
 
865
892
  └── [S] 医用イメージング
866
893
  └── scientific-medical-imaging/
@@ -892,7 +919,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
892
919
  │ ├── scientific-plant-biology/
893
920
  │ ├── scientific-marine-ecology/
894
921
  │ ├── scientific-environmental-geodata/
895
- └── scientific-paleobiology/
922
+ ├── scientific-paleobiology/
923
+ │ └── scientific-metagenome-assembled-genomes/
896
924
 
897
925
  │── [W] システム生物学
898
926
  │ ├── scientific-systems-biology/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/satori",
3
- "version": "0.21.0",
3
+ "version": "0.23.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,289 @@
1
+ ---
2
+ name: scientific-active-learning
3
+ description: |
4
+ アクティブラーニング (能動学習) スキル。不確実性サンプリング・
5
+ Query-by-Committee・期待モデル変化・プール型/ストリーム型・
6
+ バッチアクティブラーニング・停止基準判定・
7
+ モデル改善パイプライン。
8
+ ---
9
+
10
+ # Scientific Active Learning
11
+
12
+ ラベル付けコストを最小化しながらモデル精度を最大化する
13
+ アクティブラーニング戦略の設計・実行・評価パイプラインを提供する。
14
+
15
+ ## When to Use
16
+
17
+ - 少量のラベル付きデータで効率的にモデルを改善するとき
18
+ - ラベル付けコストが高い実験データを扱うとき
19
+ - 不確実性サンプリングでモデルの弱点を特定するとき
20
+ - Query-by-Committee で意見が分かれるサンプルを選択するとき
21
+ - バッチアクティブラーニングで複数サンプルを同時取得するとき
22
+ - 停止基準 (パフォーマンス収束) を判定するとき
23
+
24
+ ---
25
+
26
+ ## Quick Start
27
+
28
+ ## 1. 不確実性サンプリング
29
+
30
+ ```python
31
+ import numpy as np
32
+ import pandas as pd
33
+ from sklearn.base import clone
34
+ from sklearn.ensemble import RandomForestClassifier
35
+ from sklearn.metrics import accuracy_score
36
+
37
+
38
+ def uncertainty_sampling(model, X_pool, strategy="entropy"):
39
+ """
40
+ 不確実性ベース サンプリング。
41
+
42
+ Parameters:
43
+ model: fitted sklearn classifier
44
+ X_pool: np.ndarray — ラベルなしプール
45
+ strategy: str — "entropy" / "margin" / "least_confident"
46
+ Returns:
47
+ indices: np.ndarray — 不確実性降順のインデックス
48
+ """
49
+ proba = model.predict_proba(X_pool)
50
+
51
+ if strategy == "entropy":
52
+ scores = -np.sum(proba * np.log(proba + 1e-10), axis=1)
53
+ elif strategy == "margin":
54
+ sorted_p = np.sort(proba, axis=1)
55
+ scores = 1.0 - (sorted_p[:, -1] - sorted_p[:, -2])
56
+ elif strategy == "least_confident":
57
+ scores = 1.0 - np.max(proba, axis=1)
58
+ else:
59
+ raise ValueError(f"Unknown strategy: {strategy}")
60
+
61
+ indices = np.argsort(scores)[::-1]
62
+ print(f"Uncertainty ({strategy}): top score = {scores[indices[0]]:.4f}")
63
+ return indices
64
+
65
+
66
+ def query_by_committee(models, X_pool, n_members=5):
67
+ """
68
+ Query-by-Committee サンプリング。
69
+
70
+ Parameters:
71
+ models: list — 学習済み分類器リスト
72
+ X_pool: np.ndarray — ラベルなしプール
73
+ n_members: int — 委員会メンバ数
74
+ """
75
+ predictions = np.array([m.predict(X_pool) for m in models[:n_members]])
76
+ # Vote entropy
77
+ n_samples = X_pool.shape[0]
78
+ n_classes = len(np.unique(predictions))
79
+ scores = np.zeros(n_samples)
80
+
81
+ for i in range(n_samples):
82
+ votes = predictions[:, i]
83
+ _, counts = np.unique(votes, return_counts=True)
84
+ proba = counts / len(votes)
85
+ scores[i] = -np.sum(proba * np.log(proba + 1e-10))
86
+
87
+ indices = np.argsort(scores)[::-1]
88
+ print(f"QBC: top disagreement = {scores[indices[0]]:.4f}")
89
+ return indices
90
+ ```
91
+
92
+ ## 2. バッチアクティブラーニング
93
+
94
+ ```python
95
+ def batch_active_learning(model, X_pool, batch_size=10,
96
+ strategy="entropy", diversity_weight=0.5):
97
+ """
98
+ 多様性を考慮したバッチアクティブラーニング。
99
+
100
+ Parameters:
101
+ model: fitted classifier
102
+ X_pool: np.ndarray — ラベルなしプール
103
+ batch_size: int — バッチサイズ
104
+ strategy: str — 不確実性戦略
105
+ diversity_weight: float — 多様性重み (0-1)
106
+ """
107
+ from sklearn.metrics.pairwise import euclidean_distances
108
+
109
+ # 不確実性スコア
110
+ indices = uncertainty_sampling(model, X_pool, strategy)
111
+
112
+ # 候補プール (上位 batch_size * 3)
113
+ candidate_size = min(batch_size * 3, len(indices))
114
+ candidates = indices[:candidate_size]
115
+
116
+ # 多様性ベース選択 (k-center greedy)
117
+ selected = [candidates[0]]
118
+ for _ in range(batch_size - 1):
119
+ remaining = [c for c in candidates if c not in selected]
120
+ if not remaining:
121
+ break
122
+
123
+ dists = euclidean_distances(
124
+ X_pool[remaining], X_pool[selected])
125
+ min_dists = dists.min(axis=1)
126
+
127
+ # 不確実性ランクを正規化
128
+ uncertainty_ranks = np.array([
129
+ np.where(indices == r)[0][0] for r in remaining])
130
+ uncertainty_scores = 1.0 - uncertainty_ranks / len(indices)
131
+
132
+ # 複合スコア
133
+ combined = (diversity_weight * min_dists / (min_dists.max() + 1e-10)
134
+ + (1 - diversity_weight) * uncertainty_scores)
135
+
136
+ best_idx = remaining[np.argmax(combined)]
137
+ selected.append(best_idx)
138
+
139
+ print(f"Batch AL: selected {len(selected)} diverse-uncertain samples")
140
+ return np.array(selected)
141
+ ```
142
+
143
+ ## 3. アクティブラーニングループ
144
+
145
+ ```python
146
+ def active_learning_loop(X_labeled, y_labeled, X_pool, y_pool_true,
147
+ X_test, y_test,
148
+ model=None, n_rounds=20, batch_size=10,
149
+ strategy="entropy"):
150
+ """
151
+ アクティブラーニング実験ループ。
152
+
153
+ Parameters:
154
+ X_labeled: np.ndarray — 初期ラベル付きデータ
155
+ y_labeled: np.ndarray — 初期ラベル
156
+ X_pool: np.ndarray — ラベルなしプール
157
+ y_pool_true: np.ndarray — プールの真ラベル (Oracle)
158
+ X_test: np.ndarray — テストデータ
159
+ y_test: np.ndarray — テストラベル
160
+ model: sklearn classifier (default: RF)
161
+ n_rounds: int — ラウンド数
162
+ batch_size: int — バッチサイズ
163
+ strategy: str — サンプリング戦略
164
+ """
165
+ if model is None:
166
+ model = RandomForestClassifier(n_estimators=100, random_state=42)
167
+
168
+ X_l = X_labeled.copy()
169
+ y_l = y_labeled.copy()
170
+ X_p = X_pool.copy()
171
+ y_p = y_pool_true.copy()
172
+
173
+ history = []
174
+ for rnd in range(n_rounds):
175
+ m = clone(model).fit(X_l, y_l)
176
+ acc = accuracy_score(y_test, m.predict(X_test))
177
+ history.append({
178
+ "round": rnd,
179
+ "n_labeled": len(y_l),
180
+ "accuracy": round(acc, 4),
181
+ "pool_size": len(y_p),
182
+ })
183
+
184
+ if len(X_p) == 0:
185
+ break
186
+
187
+ # バッチ選択
188
+ selected = batch_active_learning(
189
+ m, X_p, batch_size, strategy)
190
+
191
+ # Oracle に問い合わせ
192
+ X_l = np.vstack([X_l, X_p[selected]])
193
+ y_l = np.concatenate([y_l, y_p[selected]])
194
+
195
+ mask = np.ones(len(X_p), dtype=bool)
196
+ mask[selected] = False
197
+ X_p = X_p[mask]
198
+ y_p = y_p[mask]
199
+
200
+ df = pd.DataFrame(history)
201
+ improvement = df["accuracy"].iloc[-1] - df["accuracy"].iloc[0]
202
+ print(f"AL loop: {n_rounds} rounds, "
203
+ f"acc {df['accuracy'].iloc[0]:.3f} → {df['accuracy'].iloc[-1]:.3f} "
204
+ f"(+{improvement:.3f})")
205
+ return df
206
+
207
+
208
+ def compare_strategies(X_labeled, y_labeled, X_pool, y_pool_true,
209
+ X_test, y_test, n_rounds=20, batch_size=10):
210
+ """
211
+ 複数アクティブラーニング戦略の比較。
212
+
213
+ Parameters: (同上)
214
+ """
215
+ strategies = ["entropy", "margin", "least_confident"]
216
+ results = {}
217
+
218
+ for strat in strategies:
219
+ history = active_learning_loop(
220
+ X_labeled, y_labeled, X_pool, y_pool_true,
221
+ X_test, y_test,
222
+ n_rounds=n_rounds, batch_size=batch_size,
223
+ strategy=strat)
224
+ results[strat] = history
225
+
226
+ # ランダムベースライン
227
+ np.random.seed(42)
228
+ random_history = active_learning_loop(
229
+ X_labeled, y_labeled,
230
+ X_pool[np.random.permutation(len(X_pool))],
231
+ y_pool_true[np.random.permutation(len(y_pool_true))],
232
+ X_test, y_test,
233
+ n_rounds=n_rounds, batch_size=batch_size,
234
+ strategy="least_confident")
235
+ results["random"] = random_history
236
+
237
+ print(f"Strategy comparison: {len(strategies) + 1} methods evaluated")
238
+ return results
239
+ ```
240
+
241
+ ## 4. 停止基準判定
242
+
243
+ ```python
244
+ def stopping_criterion(history_df, patience=5, min_improvement=0.001):
245
+ """
246
+ アクティブラーニング停止基準判定。
247
+
248
+ Parameters:
249
+ history_df: pd.DataFrame — AL 履歴
250
+ patience: int — 改善なしラウンド数
251
+ min_improvement: float — 最小改善幅
252
+ """
253
+ accs = history_df["accuracy"].values
254
+ if len(accs) < patience + 1:
255
+ return False, "insufficient rounds"
256
+
257
+ recent = accs[-patience:]
258
+ best_before = accs[:-patience].max()
259
+ improvement = recent.max() - best_before
260
+
261
+ if improvement < min_improvement:
262
+ return True, (f"converged: improvement {improvement:.5f} "
263
+ f"< threshold {min_improvement}")
264
+
265
+ return False, f"continuing: improvement {improvement:.5f}"
266
+ ```
267
+
268
+ ---
269
+
270
+ ## パイプライン統合
271
+
272
+ ```
273
+ eda-correlation → active-learning → ml-classification
274
+ (データ探索) (サンプル選択) (モデル構築)
275
+ │ │ ↓
276
+ missing-data ─────────┘ ensemble-methods
277
+ (欠損値処理) (アンサンブル)
278
+
279
+ uncertainty-quantification
280
+ (不確実性定量化)
281
+ ```
282
+
283
+ ## パイプライン出力
284
+
285
+ | ファイル | 説明 | 次スキル |
286
+ |---------|------|---------|
287
+ | `al_history.csv` | AL ラウンド履歴 | → 停止判定 |
288
+ | `selected_samples.csv` | 選択サンプル | → ラベル付け |
289
+ | `strategy_comparison.csv` | 戦略比較 | → advanced-visualization |