@nahisaho/satori 0.20.0 → 0.21.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 +42 -23
- package/package.json +1 -1
- package/src/.github/skills/scientific-biothings-idmapping/SKILL.md +4 -0
- package/src/.github/skills/scientific-cellxgene-census/SKILL.md +257 -0
- package/src/.github/skills/scientific-clingen-curation/SKILL.md +258 -0
- package/src/.github/skills/scientific-clinical-nlp/SKILL.md +250 -0
- package/src/.github/skills/scientific-drug-repurposing/SKILL.md +4 -0
- package/src/.github/skills/scientific-gtex-tissue-expression/SKILL.md +5 -2
- package/src/.github/skills/scientific-hgnc-nomenclature/SKILL.md +282 -0
- package/src/.github/skills/scientific-human-cell-atlas/SKILL.md +3 -0
- package/src/.github/skills/scientific-human-protein-atlas/SKILL.md +4 -0
- package/src/.github/skills/scientific-metabolomics-network/SKILL.md +311 -0
- package/src/.github/skills/scientific-pharmacogenomics/SKILL.md +4 -0
- package/src/.github/skills/scientific-pharos-targets/SKILL.md +276 -0
- package/src/.github/skills/scientific-protein-structure-analysis/SKILL.md +4 -0
- package/src/.github/skills/scientific-variant-effect-prediction/SKILL.md +7 -0
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **
|
|
10
|
+
このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **160 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。124 のスキルは [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
|
-
|
|
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 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
|
|
212
212
|
|
|
213
213
|
```
|
|
214
214
|
SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・計算)
|
|
@@ -270,7 +270,14 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
270
270
|
│ monarch-ontology │───MCP──│ Monarch Initiative API │
|
|
271
271
|
│ gdc-portal │───MCP──│ NCI GDC REST API │
|
|
272
272
|
│ stitch-chemical-net│───MCP──│ STITCH Chemical-Protein │
|
|
273
|
-
│
|
|
273
|
+
│ drug-repurposing │───MCP──│ Pharos IDG Targets │
|
|
274
|
+
│ pharmacogenomics │───MCP──│ FDA PGx Biomarkers │
|
|
275
|
+
│ gtex-tissue-expr │───MCP──│ GTEx v2 REST API │
|
|
276
|
+
│ protein-structure │───MCP──│ ProteinsPlus Binding Sites │
|
|
277
|
+
│ cellxgene-census │───MCP──│ CELLxGENE Census API │
|
|
278
|
+
│ pharos-targets │───MCP──│ Pharos GraphQL API │
|
|
279
|
+
│ clingen-curation │───MCP──│ ClinGen Validity/Dosage │
|
|
280
|
+
│ ... (124 skills total)│ │ ... (1,200+ tools) │
|
|
274
281
|
└──────────────────────┘ └─────────────────────────────┘
|
|
275
282
|
```
|
|
276
283
|
|
|
@@ -283,13 +290,13 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
283
290
|
| C. 機械学習・モデリング | 3 | 回帰・分類・特徴量重要度 |
|
|
284
291
|
| D. 実験計画・プロセス最適化 | 2 | DOE・応答曲面法・ベイズ最適化 |
|
|
285
292
|
| E. 信号・スペクトル・時系列 | 4 | スペクトル解析・生体信号・時系列分解・神経電気生理学 |
|
|
286
|
-
| F. 生命科学・オミクス |
|
|
293
|
+
| F. 生命科学・オミクス | 26 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA・オントロジー・EBI DB 群・Ensembl ゲノミクス・STRING/BioGRID PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワーク |
|
|
287
294
|
| G. 化学・材料・イメージング | 9 | ケモインフォ・材料特性評価・画像形態解析・計算材料科学・ChEMBL アッセイマイニング・MD シミュレーション・高度イメージング・深層化学・STITCH 化学-タンパク質ネットワーク |
|
|
288
295
|
| H. 臨床・疫学・メタ科学 | 6 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート・バイオバンク大規模コホート |
|
|
289
296
|
| I. Deep Research・文献検索 | 4 | 科学文献深層リサーチ・エビデンス階層評価・マルチ DB 文献検索・引用ネットワーク・プレプリント横断検索・Semantic Scholar 学術グラフ |
|
|
290
|
-
| J. 創薬・ファーマコロジー |
|
|
297
|
+
| J. 創薬・ファーマコロジー | 9 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank リソース・Pharos ターゲット |
|
|
291
298
|
| K. 構造生物学・タンパク質工学 | 7 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー・構造プロテオミクス・AlphaFold DB 構造予測・RCSB PDB 構造検索 |
|
|
292
|
-
| L. 精密医療・臨床意思決定 |
|
|
299
|
+
| L. 精密医療・臨床意思決定 | 6 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測・CIViC 臨床エビデンス・gnomAD バリアント・ClinGen キュレーション |
|
|
293
300
|
| M. 実験室自動化・データ管理 | 2 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理 |
|
|
294
301
|
| N. 科学プレゼンテーション・図式 | 2 | 科学スライド・ポスター・ワークフロー図・科学図式 |
|
|
295
302
|
| O. 研究計画・グラント・規制 | 3 | 助成金申請書・研究方法論・倫理審査・規制科学 |
|
|
@@ -297,13 +304,13 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
297
304
|
| Q. 腫瘍学・疾患研究 | 10 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap)・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータ・Open Targets 遺伝学・DepMap 依存性・Monarch オントロジー・GDC ポータル |
|
|
298
305
|
| R. 量子・先端計算 | 7 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習・ヘルスケア AI・強化学習 |
|
|
299
306
|
| S. 医用イメージング | 1 | DICOM/NIfTI・WSI 病理画像・Radiomics・MONAI |
|
|
300
|
-
| T. シングルセル・空間・エピゲノミクス |
|
|
307
|
+
| T. シングルセル・空間・エピゲノミクス | 13 | scRNA-seq・Visium・MERFISH・CELLxGENE・RNA velocity・エピゲノミクス・レギュラトリーゲノミクス・摂動解析・scVI 統合・scATAC-seq/Signac・GPU シングルセル・ENCODE/SCREEN・Human Cell Atlas・高度 Squidpy 空間解析・空間マルチオミクス・CELLxGENE Census |
|
|
301
308
|
| U. 免疫・感染症 | 2 | 免疫情報学・MHC 結合予測・病原体ゲノミクス・AMR・IEDB |
|
|
302
309
|
| V. マイクロバイオーム・環境 | 8 | 16S/メタゲノム・α/β 多様性・SDM・OBIS・GBIF・系統解析・rRNA 分類学・植物バイオロジー・海洋生態学・環境地理空間データ・古生物学 |
|
|
303
310
|
| W. システム生物学 | 4 | SBML シミュレーション・FBA・GRN 推定・BioModels・代謝モデリング・Metabolic Atlas・代謝フラックス解析 |
|
|
304
311
|
| X. 疫学・公衆衛生 | 3 | リスク指標 (RR/OR)・年齢標準化・空間疫学・WHO・CDC・公衆衛生データ・環境毒性学 |
|
|
305
312
|
| Y. 集団遺伝学 | 2 | HWE・PCA/ADMIXTURE・Fst・選択スキャン・gnomAD・GWAS・GWAS Catalog |
|
|
306
|
-
| Z. 科学テキストマイニング |
|
|
313
|
+
| Z. 科学テキストマイニング | 3 | NER・関係抽出・知識グラフ・BERTopic・PubTator バイオアノテーション・臨床 NLP |
|
|
307
314
|
|
|
308
315
|
---
|
|
309
316
|
|
|
@@ -374,9 +381,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
374
381
|
| 24 | [scientific-time-series](scientific-time-series/SKILL.md) | STL 分解・SARIMA 予測・変化点検出・FFT 周期解析・Granger 因果 | 汎用 |
|
|
375
382
|
| 67 | [scientific-neuroscience-electrophysiology](scientific-neuroscience-electrophysiology/SKILL.md) | SpikeInterface/Kilosort4 スパイクソート・MNE EEG/ERP・NeuroKit2 HRV/EDA・脳機能結合 | 汎用 |
|
|
376
383
|
|
|
377
|
-
### F. 生命科学・オミクス(
|
|
384
|
+
### F. 生命科学・オミクス(26 種)
|
|
378
385
|
|
|
379
|
-
バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome
|
|
386
|
+
バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ・HGNC 命名法・代謝ネットワークを担うスキル群。
|
|
380
387
|
|
|
381
388
|
| # | Skill | 説明 | 参照 Exp |
|
|
382
389
|
|---|---|---|---|
|
|
@@ -404,6 +411,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
404
411
|
| 137 | [scientific-gtex-tissue-expression](scientific-gtex-tissue-expression/SKILL.md) | GTEx Portal REST API v2 組織特異的発現・eQTL・多組織比較 | 汎用 |
|
|
405
412
|
| 141 | [scientific-uniprot-proteome](scientific-uniprot-proteome/SKILL.md) | UniProt REST API プロテオーム検索・ID マッピング・ドメイン/特徴抽出 | 汎用 |
|
|
406
413
|
| 144 | [scientific-reactome-pathways](scientific-reactome-pathways/SKILL.md) | Reactome Content Service パスウェイ検索・UniProt マッピング・参加者取得 | 汎用 |
|
|
414
|
+
| 159 | [scientific-hgnc-nomenclature](scientific-hgnc-nomenclature/SKILL.md) | HGNC REST API 遺伝子命名法・公式シンボル検索・エイリアス解決・遺伝子ファミリー | 汎用 |
|
|
415
|
+
| 160 | [scientific-metabolomics-network](scientific-metabolomics-network/SKILL.md) | 代謝物相関ネットワーク構築・KEGG パスウェイグラフ・ハブ代謝物・エンリッチメント | 汎用 |
|
|
407
416
|
|
|
408
417
|
### G. 化学・材料・イメージング(9 種)
|
|
409
418
|
|
|
@@ -445,9 +454,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
445
454
|
| 97 | [scientific-preprint-archive](scientific-preprint-archive/SKILL.md) | bioRxiv/medRxiv/arXiv/PMC/CORE/Zenodo/OpenAIRE/Unpaywall プレプリント・OA 横断検索 | 汎用 |
|
|
446
455
|
| 136 | [scientific-semantic-scholar](scientific-semantic-scholar/SKILL.md) | Semantic Scholar Academic Graph API 論文検索・引用グラフ・著者プロファイル・TLDR | 汎用 |
|
|
447
456
|
|
|
448
|
-
### J. 創薬・ファーマコロジー(
|
|
457
|
+
### J. 創薬・ファーマコロジー(9 種)
|
|
449
458
|
|
|
450
|
-
ドラッグディスカバリーの標的評価・薬物動態・リポジショニング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank
|
|
459
|
+
ドラッグディスカバリーの標的評価・薬物動態・リポジショニング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank リソース・Pharos ターゲットを担うスキル群。
|
|
451
460
|
|
|
452
461
|
| # | Skill | 説明 | 参照 Exp |
|
|
453
462
|
|---|---|---|---|
|
|
@@ -459,6 +468,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
459
468
|
| 94 | [scientific-compound-screening](scientific-compound-screening/SKILL.md) | ZINC 化合物ライブラリ検索・バーチャルスクリーニング前処理 | 汎用 |
|
|
460
469
|
| 120 | [scientific-nci60-screening](scientific-nci60-screening/SKILL.md) | NCI-60/CellMiner/DepMap がん細胞株薬剤応答スクリーニング | 汎用 |
|
|
461
470
|
| 146 | [scientific-drugbank-resources](scientific-drugbank-resources/SKILL.md) | DrugBank API 薬剤情報・薬理 MOA・標的タンパク質・薬物相互作用 | 汎用 |
|
|
471
|
+
| 156 | [scientific-pharos-targets](scientific-pharos-targets/SKILL.md) | Pharos/TCRD IDG ターゲット TDL 分類・疾患関連・リガンド検索 | 汎用 |
|
|
462
472
|
|
|
463
473
|
### K. 構造生物学・タンパク質工学(7 種)
|
|
464
474
|
|
|
@@ -474,9 +484,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
474
484
|
| 134 | [scientific-alphafold-structures](scientific-alphafold-structures/SKILL.md) | AlphaFold DB REST API 構造予測取得・pLDDT 信頼度・PAE 解析 | 汎用 |
|
|
475
485
|
| 142 | [scientific-rcsb-pdb-search](scientific-rcsb-pdb-search/SKILL.md) | RCSB PDB Search/Data API 構造検索・メタデータ・リガンド情報 | 汎用 |
|
|
476
486
|
|
|
477
|
-
### L. 精密医療・臨床意思決定(
|
|
487
|
+
### L. 精密医療・臨床意思決定(6 種)
|
|
478
488
|
|
|
479
|
-
バリアント解釈とエビデンスベース臨床判断・CIViC 臨床エビデンス・gnomAD
|
|
489
|
+
バリアント解釈とエビデンスベース臨床判断・CIViC 臨床エビデンス・gnomAD バリアント・ClinGen キュレーションを担うスキル群。
|
|
480
490
|
|
|
481
491
|
| # | Skill | 説明 | 参照 Exp |
|
|
482
492
|
|---|---|---|---|
|
|
@@ -484,6 +494,7 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
|
|
|
484
494
|
| 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 バリアント効果予測・コンセンサス病原性判定 | 汎用 |
|
|
485
495
|
| 147 | [scientific-civic-evidence](scientific-civic-evidence/SKILL.md) | CIViC REST API がんバリアント臨床解釈・エビデンス・アサーション | 汎用 |
|
|
486
496
|
| 148 | [scientific-gnomad-variants](scientific-gnomad-variants/SKILL.md) | gnomAD GraphQL 集団アレル頻度・遺伝子制約 (pLI/LOEUF)・リージョンクエリ | 汎用 |
|
|
497
|
+
| 157 | [scientific-clingen-curation](scientific-clingen-curation/SKILL.md) | ClinGen 遺伝子-疾患バリディティ・投与量感受性・臨床アクショナビリティ | 汎用 |
|
|
487
498
|
|
|
488
499
|
### M. 実験室自動化・データ管理(2 種)
|
|
489
500
|
|
|
@@ -562,9 +573,9 @@ DICOM・WSI 等の医用画像の解析・セグメンテーションを担う
|
|
|
562
573
|
|---|---|---|---|
|
|
563
574
|
| 56 | [scientific-medical-imaging](scientific-medical-imaging/SKILL.md) | DICOM/NIfTI 処理・MONAI U-Net/SwinUNETR・WSI パッチ抽出・Radiomics・3D 可視化 | 汎用 |
|
|
564
575
|
|
|
565
|
-
### T. シングルセル・空間・エピゲノミクス(
|
|
576
|
+
### T. シングルセル・空間・エピゲノミクス(13 種)
|
|
566
577
|
|
|
567
|
-
scRNA-seq・空間トランスクリプトミクス・エピゲノミクス・制御ゲノミクス・摂動解析・scVI 統合・scATAC-seq・GPU シングルセル・ENCODE/SCREEN・Human Cell Atlas・高度 Squidpy
|
|
578
|
+
scRNA-seq・空間トランスクリプトミクス・エピゲノミクス・制御ゲノミクス・摂動解析・scVI 統合・scATAC-seq・GPU シングルセル・ENCODE/SCREEN・Human Cell Atlas・高度 Squidpy 空間解析・空間マルチオミクス・CELLxGENE Census の解析パイプラインを担うスキル群。
|
|
568
579
|
|
|
569
580
|
| # | Skill | 説明 | 参照 Exp |
|
|
570
581
|
|---|---|---|---|
|
|
@@ -580,6 +591,7 @@ scRNA-seq・空間トランスクリプトミクス・エピゲノミクス・
|
|
|
580
591
|
| 126 | [scientific-human-cell-atlas](scientific-human-cell-atlas/SKILL.md) | HCA Data Portal プロジェクト/ファイル・CELLxGENE Census 大規模アトラス | 汎用 |
|
|
581
592
|
| 131 | [scientific-squidpy-advanced](scientific-squidpy-advanced/SKILL.md) | Squidpy 空間自己相関・共起解析・近傍エンリッチメント・ニッチ同定 | 汎用 |
|
|
582
593
|
| 152 | [scientific-spatial-multiomics](scientific-spatial-multiomics/SKILL.md) | MERFISH/CODEX 空間マルチオミクス統合・共検出解析・空間コミュニティ検出 | 汎用 |
|
|
594
|
+
| 155 | [scientific-cellxgene-census](scientific-cellxgene-census/SKILL.md) | CELLxGENE Census API 大規模シングルセルアトラス・細胞型分布・遺伝子発現 | 汎用 |
|
|
583
595
|
|
|
584
596
|
### U. 免疫・感染症(2 種)
|
|
585
597
|
|
|
@@ -635,14 +647,15 @@ SBML 動的シミュレーション・代謝フラックス解析・遺伝子制
|
|
|
635
647
|
| 65 | [scientific-population-genetics](scientific-population-genetics/SKILL.md) | PLINK2 QC・HWE 検定・PCA/ADMIXTURE・Weir-Cockerham Fst・iHS/Tajima's D 選択スキャン | 汎用 |
|
|
636
648
|
| 133 | [scientific-gwas-catalog](scientific-gwas-catalog/SKILL.md) | NHGRI-EBI GWAS Catalog REST API 関連解析・研究検索・PheWAS | 汎用 |
|
|
637
649
|
|
|
638
|
-
### Z. 科学テキストマイニング(
|
|
650
|
+
### Z. 科学テキストマイニング(3 種)
|
|
639
651
|
|
|
640
|
-
科学文献からの情報抽出・知識グラフ構築・トピックモデリング・バイオメディカル NER を担うスキル群。
|
|
652
|
+
科学文献からの情報抽出・知識グラフ構築・トピックモデリング・バイオメディカル NER・臨床 NLP を担うスキル群。
|
|
641
653
|
|
|
642
654
|
| # | Skill | 説明 | 参照 Exp |
|
|
643
655
|
|---|---|---|---|
|
|
644
656
|
| 66 | [scientific-text-mining-nlp](scientific-text-mining-nlp/SKILL.md) | BioBERT/SciSpaCy NER・関係抽出・知識グラフ構築 (Louvain)・BERTopic トピックモデリング・引用ネットワーク分析 | 汎用 |
|
|
645
657
|
| 106 | [scientific-biomedical-pubtator](scientific-biomedical-pubtator/SKILL.md) | PubTator3 バイオメディカル NER・エンティティ関係抽出・知識グラフ構築 | 汎用 |
|
|
658
|
+
| 158 | [scientific-clinical-nlp](scientific-clinical-nlp/SKILL.md) | MedSpaCy/scispaCy 臨床テキスト NER・否定検出・セクション分類・UMLS リンキング | 汎用 |
|
|
646
659
|
|
|
647
660
|
---
|
|
648
661
|
|
|
@@ -753,7 +766,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
|
|
|
753
766
|
│ ├── scientific-arrayexpress-expression/
|
|
754
767
|
│ ├── scientific-gtex-tissue-expression/
|
|
755
768
|
│ ├── scientific-uniprot-proteome/
|
|
756
|
-
│
|
|
769
|
+
│ ├── scientific-reactome-pathways/
|
|
770
|
+
│ ├── scientific-hgnc-nomenclature/
|
|
771
|
+
│ └── scientific-metabolomics-network/
|
|
757
772
|
│
|
|
758
773
|
│── [G] 化学・材料・イメージング
|
|
759
774
|
│ ├── scientific-cheminformatics/
|
|
@@ -788,7 +803,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
|
|
|
788
803
|
│ ├── scientific-pharmacology-targets/
|
|
789
804
|
│ ├── scientific-compound-screening/
|
|
790
805
|
│ ├── scientific-nci60-screening/
|
|
791
|
-
│
|
|
806
|
+
│ ├── scientific-drugbank-resources/
|
|
807
|
+
│ └── scientific-pharos-targets/
|
|
792
808
|
│
|
|
793
809
|
├── [K] 構造生物学・タンパク質工学
|
|
794
810
|
│ ├── scientific-protein-structure-analysis/
|
|
@@ -804,7 +820,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
|
|
|
804
820
|
│ ├── scientific-clinical-decision-support/
|
|
805
821
|
│ ├── scientific-variant-effect-prediction/
|
|
806
822
|
│ ├── scientific-civic-evidence/
|
|
807
|
-
│
|
|
823
|
+
│ ├── scientific-gnomad-variants/
|
|
824
|
+
│ └── scientific-clingen-curation/
|
|
808
825
|
│
|
|
809
826
|
├── [M] 実験室自動化・データ管理
|
|
810
827
|
│ ├── scientific-lab-automation/
|
|
@@ -860,7 +877,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
|
|
|
860
877
|
│ ├── scientific-encode-screen/
|
|
861
878
|
│ ├── scientific-human-cell-atlas/
|
|
862
879
|
│ ├── scientific-squidpy-advanced/
|
|
863
|
-
│
|
|
880
|
+
│ ├── scientific-spatial-multiomics/
|
|
881
|
+
│ └── scientific-cellxgene-census/
|
|
864
882
|
│
|
|
865
883
|
│── [U] 免疫・感染症
|
|
866
884
|
│ ├── scientific-immunoinformatics/
|
|
@@ -893,7 +911,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
|
|
|
893
911
|
│
|
|
894
912
|
└── [Z] 科学テキストマイニング
|
|
895
913
|
├── scientific-text-mining-nlp/
|
|
896
|
-
|
|
914
|
+
├── scientific-biomedical-pubtator/
|
|
915
|
+
└── scientific-clinical-nlp/
|
|
897
916
|
```
|
|
898
917
|
|
|
899
918
|
> 注: 実際のファイルシステム上ではすべてのスキルディレクトリは `.github/skills/` 直下にフラットに配置されています。上記の中区分グルーピングは論理的な分類です。
|
package/package.json
CHANGED
|
@@ -3,6 +3,10 @@ name: scientific-biothings-idmapping
|
|
|
3
3
|
description: |
|
|
4
4
|
BioThings API (MyGene.info, MyVariant.info, MyChem.info) を活用した
|
|
5
5
|
遺伝子・変異・化合物の横断的 ID マッピングおよびアノテーション統合スキル。
|
|
6
|
+
tu_tools:
|
|
7
|
+
- key: biothings
|
|
8
|
+
name: BioThings
|
|
9
|
+
description: MyGene/MyVariant/MyChem 統合アノテーション API
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# Scientific BioThings ID Mapping
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scientific-cellxgene-census
|
|
3
|
+
description: |
|
|
4
|
+
CELLxGENE Census 大規模シングルセルアトラススキル。
|
|
5
|
+
CZ CELLxGENE Census API によるヒト/マウス全アトラスの
|
|
6
|
+
メタデータ検索・遺伝子発現クエリ・セルタイプ分布解析・
|
|
7
|
+
データセット横断統合パイプライン。
|
|
8
|
+
ToolUniverse 連携: cellxgene_census。
|
|
9
|
+
tu_tools:
|
|
10
|
+
- key: cellxgene_census
|
|
11
|
+
name: CELLxGENE Census
|
|
12
|
+
description: 大規模シングルセルアトラスデータアクセス API
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Scientific CELLxGENE Census
|
|
16
|
+
|
|
17
|
+
CZ CELLxGENE Census API を活用した大規模シングルセルアトラスの
|
|
18
|
+
メタデータ検索・遺伝子発現クエリ・セルタイプ分布解析・
|
|
19
|
+
データセット横断統合パイプラインを提供する。
|
|
20
|
+
|
|
21
|
+
## When to Use
|
|
22
|
+
|
|
23
|
+
- 数千万細胞規模のシングルセルアトラスから特定組織/疾患のデータを抽出するとき
|
|
24
|
+
- 組織横断的なセルタイプ分布を比較するとき
|
|
25
|
+
- 特定遺伝子の全アトラスにわたる発現パターンを検索するとき
|
|
26
|
+
- Census データセットをメタデータベースでフィルタリングするとき
|
|
27
|
+
- AnnData/Sparse 行列として大規模データを効率的に取得するとき
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Quick Start
|
|
32
|
+
|
|
33
|
+
## 1. Census メタデータ検索
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
import cellxgene_census
|
|
37
|
+
import pandas as pd
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def census_datasets(organism="Homo sapiens",
|
|
41
|
+
tissue=None, disease=None):
|
|
42
|
+
"""
|
|
43
|
+
CELLxGENE Census — データセットメタデータ検索。
|
|
44
|
+
|
|
45
|
+
Parameters:
|
|
46
|
+
organism: str — 生物種
|
|
47
|
+
tissue: str — 組織フィルタ
|
|
48
|
+
disease: str — 疾患フィルタ
|
|
49
|
+
"""
|
|
50
|
+
with cellxgene_census.open_soma() as census:
|
|
51
|
+
datasets = census["census_info"]["datasets"].read(
|
|
52
|
+
).concat().to_pandas()
|
|
53
|
+
|
|
54
|
+
if tissue:
|
|
55
|
+
datasets = datasets[
|
|
56
|
+
datasets["dataset_title"].str.contains(
|
|
57
|
+
tissue, case=False, na=False)]
|
|
58
|
+
if disease:
|
|
59
|
+
datasets = datasets[
|
|
60
|
+
datasets["dataset_title"].str.contains(
|
|
61
|
+
disease, case=False, na=False)]
|
|
62
|
+
|
|
63
|
+
print(f"Census datasets: {len(datasets)} matched")
|
|
64
|
+
return datasets
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def census_cell_metadata(organism="Homo sapiens",
|
|
68
|
+
tissue=None,
|
|
69
|
+
cell_type=None,
|
|
70
|
+
max_cells=10000):
|
|
71
|
+
"""
|
|
72
|
+
CELLxGENE Census — セルメタデータ取得。
|
|
73
|
+
|
|
74
|
+
Parameters:
|
|
75
|
+
organism: str — 生物種
|
|
76
|
+
tissue: str — 組織フィルタ
|
|
77
|
+
cell_type: str — セルタイプフィルタ
|
|
78
|
+
max_cells: int — 最大セル数
|
|
79
|
+
"""
|
|
80
|
+
obs_filters = []
|
|
81
|
+
if tissue:
|
|
82
|
+
obs_filters.append(
|
|
83
|
+
f"tissue_general == '{tissue}'")
|
|
84
|
+
if cell_type:
|
|
85
|
+
obs_filters.append(
|
|
86
|
+
f"cell_type == '{cell_type}'")
|
|
87
|
+
value_filter = " and ".join(obs_filters) \
|
|
88
|
+
if obs_filters else None
|
|
89
|
+
|
|
90
|
+
with cellxgene_census.open_soma() as census:
|
|
91
|
+
obs_df = cellxgene_census.get_obs(
|
|
92
|
+
census, organism,
|
|
93
|
+
value_filter=value_filter,
|
|
94
|
+
column_names=[
|
|
95
|
+
"cell_type", "tissue_general",
|
|
96
|
+
"disease", "sex", "development_stage",
|
|
97
|
+
"dataset_id", "assay"],
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
df = obs_df.head(max_cells)
|
|
101
|
+
print(f"Census cells: {len(df)} retrieved "
|
|
102
|
+
f"(filter: {value_filter})")
|
|
103
|
+
return df
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## 2. 遺伝子発現クエリ
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
def census_gene_expression(organism="Homo sapiens",
|
|
110
|
+
gene_symbols=None,
|
|
111
|
+
tissue=None,
|
|
112
|
+
max_cells=5000):
|
|
113
|
+
"""
|
|
114
|
+
CELLxGENE Census — 遺伝子発現データ取得。
|
|
115
|
+
|
|
116
|
+
Parameters:
|
|
117
|
+
organism: str — 生物種
|
|
118
|
+
gene_symbols: list[str] — 遺伝子シンボルリスト
|
|
119
|
+
tissue: str — 組織フィルタ
|
|
120
|
+
max_cells: int — 最大セル数
|
|
121
|
+
"""
|
|
122
|
+
obs_filter = (f"tissue_general == '{tissue}'"
|
|
123
|
+
if tissue else None)
|
|
124
|
+
var_filter = None
|
|
125
|
+
if gene_symbols:
|
|
126
|
+
genes_str = "', '".join(gene_symbols)
|
|
127
|
+
var_filter = f"feature_name in ['{genes_str}']"
|
|
128
|
+
|
|
129
|
+
with cellxgene_census.open_soma() as census:
|
|
130
|
+
adata = cellxgene_census.get_anndata(
|
|
131
|
+
census, organism,
|
|
132
|
+
obs_value_filter=obs_filter,
|
|
133
|
+
var_value_filter=var_filter,
|
|
134
|
+
obs_column_names=[
|
|
135
|
+
"cell_type", "tissue_general",
|
|
136
|
+
"disease"],
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
if max_cells and len(adata) > max_cells:
|
|
140
|
+
import numpy as np
|
|
141
|
+
idx = np.random.choice(
|
|
142
|
+
len(adata), max_cells, replace=False)
|
|
143
|
+
adata = adata[idx]
|
|
144
|
+
|
|
145
|
+
print(f"Census expression: {adata.shape[0]} cells × "
|
|
146
|
+
f"{adata.shape[1]} genes")
|
|
147
|
+
return adata
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 3. セルタイプ分布解析
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
def celltype_distribution(organism="Homo sapiens",
|
|
154
|
+
tissue=None):
|
|
155
|
+
"""
|
|
156
|
+
組織別セルタイプ分布解析。
|
|
157
|
+
|
|
158
|
+
Parameters:
|
|
159
|
+
organism: str — 生物種
|
|
160
|
+
tissue: str — 組織フィルタ
|
|
161
|
+
"""
|
|
162
|
+
obs_filter = (f"tissue_general == '{tissue}'"
|
|
163
|
+
if tissue else None)
|
|
164
|
+
|
|
165
|
+
with cellxgene_census.open_soma() as census:
|
|
166
|
+
obs_df = cellxgene_census.get_obs(
|
|
167
|
+
census, organism,
|
|
168
|
+
value_filter=obs_filter,
|
|
169
|
+
column_names=["cell_type",
|
|
170
|
+
"tissue_general"],
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
# セルタイプカウント
|
|
174
|
+
ct_counts = obs_df["cell_type"].value_counts()
|
|
175
|
+
ct_df = pd.DataFrame({
|
|
176
|
+
"cell_type": ct_counts.index,
|
|
177
|
+
"count": ct_counts.values,
|
|
178
|
+
"fraction": ct_counts.values / ct_counts.sum(),
|
|
179
|
+
})
|
|
180
|
+
|
|
181
|
+
print(f"Cell types: {len(ct_df)} types, "
|
|
182
|
+
f"total {ct_counts.sum()} cells")
|
|
183
|
+
return ct_df
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## 4. Census 統合パイプライン
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
def census_pipeline(organism="Homo sapiens",
|
|
190
|
+
tissue=None,
|
|
191
|
+
gene_symbols=None,
|
|
192
|
+
output_dir="results"):
|
|
193
|
+
"""
|
|
194
|
+
CELLxGENE Census 統合パイプライン。
|
|
195
|
+
|
|
196
|
+
Parameters:
|
|
197
|
+
organism: str — 生物種
|
|
198
|
+
tissue: str — 組織
|
|
199
|
+
gene_symbols: list[str] — 対象遺伝子
|
|
200
|
+
output_dir: str — 出力ディレクトリ
|
|
201
|
+
"""
|
|
202
|
+
from pathlib import Path
|
|
203
|
+
output_dir = Path(output_dir)
|
|
204
|
+
output_dir.mkdir(parents=True, exist_ok=True)
|
|
205
|
+
|
|
206
|
+
# 1) データセットメタデータ
|
|
207
|
+
datasets = census_datasets(organism, tissue)
|
|
208
|
+
datasets.to_csv(output_dir / "census_datasets.csv",
|
|
209
|
+
index=False)
|
|
210
|
+
|
|
211
|
+
# 2) セルタイプ分布
|
|
212
|
+
ct_dist = celltype_distribution(organism, tissue)
|
|
213
|
+
ct_dist.to_csv(
|
|
214
|
+
output_dir / "celltype_distribution.csv",
|
|
215
|
+
index=False)
|
|
216
|
+
|
|
217
|
+
# 3) 遺伝子発現 (指定時)
|
|
218
|
+
adata = None
|
|
219
|
+
if gene_symbols:
|
|
220
|
+
adata = census_gene_expression(
|
|
221
|
+
organism, gene_symbols, tissue)
|
|
222
|
+
adata.write_h5ad(
|
|
223
|
+
output_dir / "census_expression.h5ad")
|
|
224
|
+
|
|
225
|
+
print(f"Census pipeline → {output_dir}")
|
|
226
|
+
return {
|
|
227
|
+
"datasets": datasets,
|
|
228
|
+
"celltype_dist": ct_dist,
|
|
229
|
+
"adata": adata,
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## ToolUniverse 連携
|
|
236
|
+
|
|
237
|
+
| TU Key | ツール名 | 連携内容 |
|
|
238
|
+
|--------|---------|---------|
|
|
239
|
+
| `cellxgene_census` | CELLxGENE Census | 大規模シングルセルアトラス API |
|
|
240
|
+
|
|
241
|
+
## パイプライン統合
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
human-cell-atlas → cellxgene-census → single-cell-genomics
|
|
245
|
+
(HCA Portal) (Census 大規模) (Scanpy 解析)
|
|
246
|
+
│ │ ↓
|
|
247
|
+
spatial-multiomics ────┘ scvi-integration
|
|
248
|
+
(空間統合) (scVI/scANVI)
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## パイプライン出力
|
|
252
|
+
|
|
253
|
+
| ファイル | 説明 | 次スキル |
|
|
254
|
+
|---------|------|---------|
|
|
255
|
+
| `results/census_datasets.csv` | データセット一覧 | → human-cell-atlas |
|
|
256
|
+
| `results/celltype_distribution.csv` | セルタイプ分布 | → single-cell-genomics |
|
|
257
|
+
| `results/census_expression.h5ad` | 発現行列 (AnnData) | → scvi-integration |
|