@nahisaho/satori 0.18.0 → 0.19.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 として体系化した **140 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。85 のスキルは [ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP 経由で 1,200 以上の外部科学データベースツールとも連携可能です。
10
+ このディレクトリには、Exp-01〜13 で蓄積した科学データ解析技法を Agent Skills として体系化した **148 個**のスキルを格納しています。Copilot がプロンプトの文脈に応じて適切なスキルを自動ロードし、各実験で確立した解析パターンを再利用します。99 のスキルは [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
- 85 のスキル(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)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
211
+ 99 のスキル(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 key additions)は、[ToolUniverse](https://github.com/mims-harvard/ToolUniverse) SMCP サーバー経由で 1,200 以上の外部科学ツールを利用可能です。各 SKILL.md 内の `### 利用可能ツール` セクションに対応ツールが記載されています。
212
212
 
213
213
  ```
214
214
  SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・計算)
@@ -259,7 +259,15 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
259
259
  │ semantic-scholar │───MCP──│ Semantic Scholar Graph API │
260
260
  │ pharmgkb-pgx │───MCP──│ PharmGKB, CPIC Guidelines │
261
261
  │ crossref-metadata │───MCP──│ CrossRef DOI/Metadata │
262
- ... (85 skills total) │ ... (1,200+ tools) │
262
+ uniprot-proteome │───MCP──│ UniProt REST API
263
+ │ rcsb-pdb-search │───MCP──│ RCSB PDB Search/Data API │
264
+ │ opentargets-genetics │───MCP──│ Open Targets GraphQL │
265
+ │ reactome-pathways │───MCP──│ Reactome Content Service │
266
+ │ depmap-dependencies │───MCP──│ DepMap Portal, Cell Model │
267
+ │ drugbank-resources │───MCP──│ DrugBank API │
268
+ │ civic-evidence │───MCP──│ CIViC REST API │
269
+ │ gnomad-variants │───MCP──│ gnomAD GraphQL API │
270
+ │ ... (99 skills total) │ │ ... (1,200+ tools) │
263
271
  └──────────────────────┘ └─────────────────────────────┘
264
272
  ```
265
273
 
@@ -272,18 +280,18 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
272
280
  | C. 機械学習・モデリング | 3 | 回帰・分類・特徴量重要度 |
273
281
  | D. 実験計画・プロセス最適化 | 2 | DOE・応答曲面法・ベイズ最適化 |
274
282
  | E. 信号・スペクトル・時系列 | 4 | スペクトル解析・生体信号・時系列分解・神経電気生理学 |
275
- | F. 生命科学・オミクス | 22 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA・オントロジー・EBI DB 群・Ensembl ゲノミクス・STRING/BioGRID PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現 |
283
+ | F. 生命科学・オミクス | 24 | バイオインフォ・メタボロ・ゲノム配列・マルチオミクス・ネットワーク・プロテオミクス・トランスクリプトミクス・パスウェイ濃縮・代謝物 DB・HPA・ゲノム配列ツール・非コード RNA・オントロジー・EBI DB 群・Ensembl ゲノミクス・STRING/BioGRID PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイ |
276
284
  | G. 化学・材料・イメージング | 8 | ケモインフォ・材料特性評価・画像形態解析・計算材料科学・ChEMBL アッセイマイニング・MD シミュレーション・高度イメージング・深層化学 |
277
285
  | H. 臨床・疫学・メタ科学 | 5 | 生存解析・因果推論・メタアナリシス・臨床試験解析・臨床レポート |
278
286
  | I. Deep Research・文献検索 | 4 | 科学文献深層リサーチ・エビデンス階層評価・マルチ DB 文献検索・引用ネットワーク・プレプリント横断検索・Semantic Scholar 学術グラフ |
279
- | J. 創薬・ファーマコロジー | 7 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング |
280
- | K. 構造生物学・タンパク質工学 | 6 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー・構造プロテオミクス・AlphaFold DB 構造予測 |
281
- | L. 精密医療・臨床意思決定 | 3 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測 |
287
+ | J. 創薬・ファーマコロジー | 8 | 標的プロファイリング・ADMET/PK・ドラッグリポジショニング・分子ドッキング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank リソース |
288
+ | K. 構造生物学・タンパク質工学 | 7 | PDB/AlphaFold 構造解析・de novo タンパク質設計・PPI ネットワーク・ドメイン/ファミリー・構造プロテオミクス・AlphaFold DB 構造予測・RCSB PDB 構造検索 |
289
+ | L. 精密医療・臨床意思決定 | 5 | 変異解釈 (ACMG/AMP)・エビデンスベース臨床意思決定・バリアント効果予測・CIViC 臨床エビデンス・gnomAD バリアント |
282
290
  | M. 実験室自動化・データ管理 | 2 | 液体ハンドリング・プロトコル管理・ELN/LIMS 連携・ラボデータ管理 |
283
291
  | N. 科学プレゼンテーション・図式 | 2 | 科学スライド・ポスター・ワークフロー図・科学図式 |
284
292
  | O. 研究計画・グラント・規制 | 3 | 助成金申請書・研究方法論・倫理審査・規制科学 |
285
293
  | P. ファーマコビジランス・薬理ゲノミクス | 3 | FAERS 不均衡分析・MedDRA 階層・安全性シグナル検出・PGx 代謝型・PharmGKB 臨床アノテーション |
286
- | Q. 腫瘍学・疾患研究 | 6 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap)・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータ |
294
+ | Q. 腫瘍学・疾患研究 | 8 | 精密腫瘍学 (CIViC/OncoKB)・疾患-遺伝子関連 (GWAS/Orphanet)・がんゲノミクス (COSMIC/DepMap)・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータ・Open Targets 遺伝学・DepMap 依存性 |
287
295
  | R. 量子・先端計算 | 7 | 量子計算・GNN・ベイズ統計・説明可能 AI・深層学習・ヘルスケア AI・強化学習 |
288
296
  | S. 医用イメージング | 1 | DICOM/NIfTI・WSI 病理画像・Radiomics・MONAI |
289
297
  | T. シングルセル・空間・エピゲノミクス | 11 | scRNA-seq・Visium・MERFISH・CELLxGENE・RNA velocity・エピゲノミクス・レギュラトリーゲノミクス・摂動解析・scVI 統合・scATAC-seq/Signac・GPU シングルセル・ENCODE/SCREEN・Human Cell Atlas・高度 Squidpy 空間解析 |
@@ -363,9 +371,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
363
371
  | 24 | [scientific-time-series](scientific-time-series/SKILL.md) | STL 分解・SARIMA 予測・変化点検出・FFT 周期解析・Granger 因果 | 汎用 |
364
372
  | 67 | [scientific-neuroscience-electrophysiology](scientific-neuroscience-electrophysiology/SKILL.md) | SpikeInterface/Kilosort4 スパイクソート・MNE EEG/ERP・NeuroKit2 HRV/EDA・脳機能結合 | 汎用 |
365
373
 
366
- ### F. 生命科学・オミクス(22 種)
374
+ ### F. 生命科学・オミクス(24 種)
367
375
 
368
- バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現を担うスキル群。
376
+ バイオ・オミクス・ネットワーク解析・オントロジー・EBI データベース・ゲノミクス・PPI・発現比較・モデル生物 DB・GEO 発現プロファイル・寄生虫ゲノミクス・ArrayExpress 発現アーカイブ・GTEx 組織発現・UniProt プロテオーム・Reactome パスウェイを担うスキル群。
369
377
 
370
378
  | # | Skill | 説明 | 参照 Exp |
371
379
  |---|---|---|---|
@@ -391,6 +399,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
391
399
  | 132 | [scientific-parasite-genomics](scientific-parasite-genomics/SKILL.md) | PlasmoDB/VectorBase/ToxoDB 寄生虫ゲノミクス・薬剤標的同定 | 汎用 |
392
400
  | 135 | [scientific-arrayexpress-expression](scientific-arrayexpress-expression/SKILL.md) | ArrayExpress/BioStudies REST API 発現実験検索・SDRF メタデータ・データ再解析 | 汎用 |
393
401
  | 137 | [scientific-gtex-tissue-expression](scientific-gtex-tissue-expression/SKILL.md) | GTEx Portal REST API v2 組織特異的発現・eQTL・多組織比較 | 汎用 |
402
+ | 141 | [scientific-uniprot-proteome](scientific-uniprot-proteome/SKILL.md) | UniProt REST API プロテオーム検索・ID マッピング・ドメイン/特徴抽出 | 汎用 |
403
+ | 144 | [scientific-reactome-pathways](scientific-reactome-pathways/SKILL.md) | Reactome Content Service パスウェイ検索・UniProt マッピング・参加者取得 | 汎用 |
394
404
 
395
405
  ### G. 化学・材料・イメージング(8 種)
396
406
 
@@ -430,9 +440,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
430
440
  | 97 | [scientific-preprint-archive](scientific-preprint-archive/SKILL.md) | bioRxiv/medRxiv/arXiv/PMC/CORE/Zenodo/OpenAIRE/Unpaywall プレプリント・OA 横断検索 | 汎用 |
431
441
  | 136 | [scientific-semantic-scholar](scientific-semantic-scholar/SKILL.md) | Semantic Scholar Academic Graph API 論文検索・引用グラフ・著者プロファイル・TLDR | 汎用 |
432
442
 
433
- ### J. 創薬・ファーマコロジー(7 種)
443
+ ### J. 創薬・ファーマコロジー(8 種)
434
444
 
435
- ドラッグディスカバリーの標的評価・薬物動態・リポジショニング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニングを担うスキル群。
445
+ ドラッグディスカバリーの標的評価・薬物動態・リポジショニング・薬理学的ターゲット・化合物スクリーニング・NCI-60 スクリーニング・DrugBank リソースを担うスキル群。
436
446
 
437
447
  | # | Skill | 説明 | 参照 Exp |
438
448
  |---|---|---|---|
@@ -443,10 +453,11 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
443
453
  | 89 | [scientific-pharmacology-targets](scientific-pharmacology-targets/SKILL.md) | BindingDB/GPCRdb/GtoPdb/BRENDA/Pharos 薬理学的ターゲットプロファイリング | 汎用 |
444
454
  | 94 | [scientific-compound-screening](scientific-compound-screening/SKILL.md) | ZINC 化合物ライブラリ検索・バーチャルスクリーニング前処理 | 汎用 |
445
455
  | 120 | [scientific-nci60-screening](scientific-nci60-screening/SKILL.md) | NCI-60/CellMiner/DepMap がん細胞株薬剤応答スクリーニング | 汎用 |
456
+ | 146 | [scientific-drugbank-resources](scientific-drugbank-resources/SKILL.md) | DrugBank API 薬剤情報・薬理 MOA・標的タンパク質・薬物相互作用 | 汎用 |
446
457
 
447
- ### K. 構造生物学・タンパク質工学(6 種)
458
+ ### K. 構造生物学・タンパク質工学(7 種)
448
459
 
449
- タンパク質構造解析・設計・PPI ネットワーク・ドメイン解析・構造プロテオミクス・AlphaFold DB 構造予測を担うスキル群。
460
+ タンパク質構造解析・設計・PPI ネットワーク・ドメイン解析・構造プロテオミクス・AlphaFold DB 構造予測・RCSB PDB 構造検索を担うスキル群。
450
461
 
451
462
  | # | Skill | 説明 | 参照 Exp |
452
463
  |---|---|---|---|
@@ -456,15 +467,19 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
456
467
  | 86 | [scientific-protein-domain-family](scientific-protein-domain-family/SKILL.md) | InterPro/InterProScan ドメイン予測・ファミリー分類・アーキテクチャ可視化 | 汎用 |
457
468
  | 93 | [scientific-structural-proteomics](scientific-structural-proteomics/SKILL.md) | EMDB/PDBe/Proteins API/Complex Portal/DeepGO/EVE 構造プロテオミクス | 汎用 |
458
469
  | 134 | [scientific-alphafold-structures](scientific-alphafold-structures/SKILL.md) | AlphaFold DB REST API 構造予測取得・pLDDT 信頼度・PAE 解析 | 汎用 |
470
+ | 142 | [scientific-rcsb-pdb-search](scientific-rcsb-pdb-search/SKILL.md) | RCSB PDB Search/Data API 構造検索・メタデータ・リガンド情報 | 汎用 |
459
471
 
460
- ### L. 精密医療・臨床意思決定(3 種)
472
+ ### L. 精密医療・臨床意思決定(5 種)
461
473
 
462
- バリアント解釈とエビデンスベース臨床判断を担うスキル群。
474
+ バリアント解釈とエビデンスベース臨床判断・CIViC 臨床エビデンス・gnomAD バリアントを担うスキル群。
463
475
 
464
476
  | # | Skill | 説明 | 参照 Exp |
465
477
  |---|---|---|---|
466
478
  | 42 | [scientific-variant-interpretation](scientific-variant-interpretation/SKILL.md) | ACMG/AMP 28 基準・薬理ゲノミクス (CPIC)・OncoKB 体細胞変異レベル | 汎用 |
467
479
  | 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 バリアント効果予測・コンセンサス病原性判定 | 汎用 |
480
+ | 147 | [scientific-civic-evidence](scientific-civic-evidence/SKILL.md) | CIViC REST API がんバリアント臨床解釈・エビデンス・アサーション | 汎用 |
481
+ | 148 | [scientific-gnomad-variants](scientific-gnomad-variants/SKILL.md) | gnomAD GraphQL 集団アレル頻度・遺伝子制約 (pLI/LOEUF)・リージョンクエリ | 汎用 |
482
+
468
483
  ### M. 実験室自動化・データ管理(2 種)
469
484
 
470
485
  ラボ実験の自動化とデータ管理を担うスキル群。
@@ -503,9 +518,9 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
503
518
  | 75 | [scientific-pharmacogenomics](scientific-pharmacogenomics/SKILL.md) | PharmGKB/CPIC ガイドライン・Star アレル・代謝型・FDA PGx バイオマーカー | 汎用 |
504
519
  | 138 | [scientific-pharmgkb-pgx](scientific-pharmgkb-pgx/SKILL.md) | PharmGKB REST API 臨床アノテーション・薬物遺伝子関連・投与量ガイドライン | 汎用 |
505
520
 
506
- ### Q. 腫瘍学・疾患研究(6 種)
521
+ ### Q. 腫瘍学・疾患研究(8 種)
507
522
 
508
- 精密腫瘍学・疾患-遺伝子関連研究・がんゲノミクス・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータを担うスキル群。
523
+ 精密腫瘍学・疾患-遺伝子関連研究・がんゲノミクス・希少疾患遺伝学・細胞株リソース・ICGC がんゲノムデータ・Open Targets 遺伝学・DepMap 依存性を担うスキル群。
509
524
 
510
525
  | # | Skill | 説明 | 参照 Exp |
511
526
  |---|---|---|---|
@@ -515,6 +530,8 @@ SATORI Skill (方法論・判断) ToolUniverse SMCP (データ取得・
515
530
  | 87 | [scientific-rare-disease-genetics](scientific-rare-disease-genetics/SKILL.md) | OMIM/Orphanet/DisGeNET/IMPC 希少疾患遺伝学・統合解析 | 汎用 |
516
531
  | 101 | [scientific-cell-line-resources](scientific-cell-line-resources/SKILL.md) | Cellosaurus 細胞株検索・STR プロファイル検証・コンタミネーション検出 | 汎用 |
517
532
  | 140 | [scientific-icgc-cancer-data](scientific-icgc-cancer-data/SKILL.md) | ICGC DCC API 国際がんゲノムデータ・体細胞変異・がん種統計 | 汎用 |
533
+ | 143 | [scientific-opentargets-genetics](scientific-opentargets-genetics/SKILL.md) | Open Targets Platform GraphQL 標的-疾患アソシエーション・薬剤エビデンス・L2G | 汎用 |
534
+ | 145 | [scientific-depmap-dependencies](scientific-depmap-dependencies/SKILL.md) | DepMap Portal CRISPR/RNAi 遺伝子依存性・薬剤感受性 | 汎用 |
518
535
 
519
536
  ### R. 量子・先端計算(7 種)
520
537
 
@@ -725,7 +742,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
725
742
  │ ├── scientific-geo-expression/
726
743
  │ ├── scientific-parasite-genomics/
727
744
  │ ├── scientific-arrayexpress-expression/
728
- └── scientific-gtex-tissue-expression/
745
+ ├── scientific-gtex-tissue-expression/
746
+ │ ├── scientific-uniprot-proteome/
747
+ │ └── scientific-reactome-pathways/
729
748
 
730
749
  │── [G] 化学・材料・イメージング
731
750
  │ ├── scientific-cheminformatics/
@@ -757,7 +776,8 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
757
776
  │ ├── scientific-molecular-docking/
758
777
  │ ├── scientific-pharmacology-targets/
759
778
  │ ├── scientific-compound-screening/
760
- └── scientific-nci60-screening/
779
+ ├── scientific-nci60-screening/
780
+ │ └── scientific-drugbank-resources/
761
781
 
762
782
  ├── [K] 構造生物学・タンパク質工学
763
783
  │ ├── scientific-protein-structure-analysis/
@@ -765,12 +785,15 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
765
785
  │ ├── scientific-protein-interaction-network/
766
786
  │ ├── scientific-protein-domain-family/
767
787
  │ ├── scientific-structural-proteomics/
768
- └── scientific-alphafold-structures/
788
+ ├── scientific-alphafold-structures/
789
+ │ └── scientific-rcsb-pdb-search/
769
790
 
770
791
  ├── [L] 精密医療・臨床意思決定
771
792
  │ ├── scientific-variant-interpretation/
772
793
  │ ├── scientific-clinical-decision-support/
773
- └── scientific-variant-effect-prediction/
794
+ ├── scientific-variant-effect-prediction/
795
+ │ ├── scientific-civic-evidence/
796
+ │ └── scientific-gnomad-variants/
774
797
 
775
798
  ├── [M] 実験室自動化・データ管理
776
799
  │ ├── scientific-lab-automation/
@@ -796,7 +819,9 @@ Skills は `.github/skills/` に配置されているため、Copilot が自動
796
819
  │ ├── scientific-cancer-genomics/
797
820
  │ ├── scientific-rare-disease-genetics/
798
821
  │ ├── scientific-cell-line-resources/
799
- └── scientific-icgc-cancer-data/
822
+ ├── scientific-icgc-cancer-data/
823
+ │ ├── scientific-opentargets-genetics/
824
+ │ └── scientific-depmap-dependencies/
800
825
 
801
826
  ├── [R] 量子・先端計算
802
827
  │ ├── scientific-quantum-computing/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/satori",
3
- "version": "0.18.0",
3
+ "version": "0.19.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,292 @@
1
+ ---
2
+ name: scientific-civic-evidence
3
+ description: |
4
+ CIViC 臨床エビデンススキル。CIViC (Clinical Interpretation
5
+ of Variants in Cancer) REST API を用いたバリアント臨床解釈・
6
+ エビデンスアイテム・分子プロファイル・アサーション検索。
7
+ ToolUniverse 連携: civic。
8
+ tu_tools:
9
+ - key: civic
10
+ name: CIViC
11
+ description: がんバリアント臨床解釈データベース
12
+ ---
13
+
14
+ # Scientific CIViC Evidence
15
+
16
+ CIViC (Clinical Interpretation of Variants in Cancer) REST API
17
+ を活用したバリアント臨床解釈・エビデンスアイテム取得・
18
+ 分子プロファイル・アサーションパイプラインを提供する。
19
+
20
+ ## When to Use
21
+
22
+ - がんバリアントの臨床的解釈を検索するとき
23
+ - エビデンスアイテム (薬剤応答・予後・診断) を取得するとき
24
+ - 遺伝子ごとのバリアントサマリーを確認するとき
25
+ - 分子プロファイル (Molecular Profile) を検索するとき
26
+ - アサーション (ガイドライン推奨) を取得するとき
27
+
28
+ ---
29
+
30
+ ## Quick Start
31
+
32
+ ## 1. バリアント検索・臨床解釈
33
+
34
+ ```python
35
+ import requests
36
+ import pandas as pd
37
+
38
+ CIVIC_API = "https://civicdb.org/api"
39
+
40
+
41
+ def civic_variant_search(gene_name, variant_name=None,
42
+ limit=50):
43
+ """
44
+ CIViC — バリアント検索。
45
+
46
+ Parameters:
47
+ gene_name: str — 遺伝子名 (例: "BRAF")
48
+ variant_name: str — バリアント名
49
+ (例: "V600E")
50
+ limit: int — 最大結果数
51
+ """
52
+ url = f"{CIVIC_API}/variants"
53
+ params = {"count": limit}
54
+
55
+ # 遺伝子名で検索
56
+ gene_url = f"{CIVIC_API}/genes/{gene_name}"
57
+ try:
58
+ resp = requests.get(gene_url, timeout=30)
59
+ if resp.status_code == 200:
60
+ gene_data = resp.json()
61
+ else:
62
+ # 検索 API フォールバック
63
+ search_url = f"{CIVIC_API}/genes"
64
+ params_g = {"name": gene_name, "count": 5}
65
+ resp = requests.get(search_url,
66
+ params=params_g,
67
+ timeout=30)
68
+ resp.raise_for_status()
69
+ records = resp.json().get("records", [])
70
+ gene_data = records[0] if records else {}
71
+ except Exception as e:
72
+ print(f" CIViC gene lookup: {e}")
73
+ gene_data = {}
74
+
75
+ if not gene_data:
76
+ return pd.DataFrame()
77
+
78
+ variants = gene_data.get("variants", [])
79
+ rows = []
80
+ for v in variants[:limit]:
81
+ name = v.get("name", "")
82
+ if variant_name and variant_name.lower() \
83
+ not in name.lower():
84
+ continue
85
+ rows.append({
86
+ "variant_id": v.get("id", ""),
87
+ "gene": gene_name,
88
+ "variant_name": name,
89
+ "description": (v.get("description", "")
90
+ [:200]),
91
+ "evidence_count": len(
92
+ v.get("evidence_items", [])),
93
+ })
94
+
95
+ df = pd.DataFrame(rows)
96
+ print(f"CIViC variants: {gene_name} → {len(df)}")
97
+ return df
98
+
99
+
100
+ def civic_gene_summary(gene_name):
101
+ """
102
+ CIViC — 遺伝子サマリー取得。
103
+
104
+ Parameters:
105
+ gene_name: str — 遺伝子名 (例: "EGFR")
106
+ """
107
+ url = f"{CIVIC_API}/genes/{gene_name}"
108
+ resp = requests.get(url, timeout=30)
109
+ resp.raise_for_status()
110
+ data = resp.json()
111
+
112
+ result = {
113
+ "gene_id": data.get("id", ""),
114
+ "name": data.get("name", ""),
115
+ "description": data.get("description", ""),
116
+ "n_variants": len(data.get("variants", [])),
117
+ "aliases": "; ".join(
118
+ data.get("aliases", [])),
119
+ }
120
+ return result
121
+ ```
122
+
123
+ ## 2. エビデンスアイテム取得
124
+
125
+ ```python
126
+ def civic_evidence_items(variant_id, limit=50):
127
+ """
128
+ CIViC — エビデンスアイテム取得。
129
+
130
+ Parameters:
131
+ variant_id: int — バリアント ID
132
+ limit: int — 最大結果数
133
+ """
134
+ url = f"{CIVIC_API}/variants/{variant_id}"
135
+ resp = requests.get(url, timeout=30)
136
+ resp.raise_for_status()
137
+ data = resp.json()
138
+
139
+ rows = []
140
+ for ev in data.get("evidence_items", [])[:limit]:
141
+ drugs = [d.get("name", "")
142
+ for d in ev.get("drugs", [])]
143
+ rows.append({
144
+ "evidence_id": ev.get("id", ""),
145
+ "variant_id": variant_id,
146
+ "evidence_type": ev.get(
147
+ "evidence_type", ""),
148
+ "evidence_level": ev.get(
149
+ "evidence_level", ""),
150
+ "evidence_direction": ev.get(
151
+ "evidence_direction", ""),
152
+ "clinical_significance": ev.get(
153
+ "clinical_significance", ""),
154
+ "disease": ev.get("disease", {}).get(
155
+ "name", ""),
156
+ "drugs": "; ".join(drugs),
157
+ "rating": ev.get("rating", ""),
158
+ "status": ev.get("status", ""),
159
+ "source_citation": ev.get(
160
+ "source", {}).get("citation", ""),
161
+ })
162
+
163
+ df = pd.DataFrame(rows)
164
+ print(f"CIViC evidence: variant {variant_id} "
165
+ f"→ {len(df)} items")
166
+ return df
167
+ ```
168
+
169
+ ## 3. アサーション取得
170
+
171
+ ```python
172
+ def civic_assertions(gene_name=None, limit=50):
173
+ """
174
+ CIViC — アサーション (ガイドライン推奨) 取得。
175
+
176
+ Parameters:
177
+ gene_name: str — 遺伝子名フィルタ
178
+ limit: int — 最大結果数
179
+ """
180
+ url = f"{CIVIC_API}/assertions"
181
+ params = {"count": limit}
182
+
183
+ resp = requests.get(url, params=params, timeout=30)
184
+ resp.raise_for_status()
185
+ data = resp.json()
186
+
187
+ rows = []
188
+ for a in data.get("records", []):
189
+ genes = [g.get("name", "")
190
+ for g in a.get("genes", [])]
191
+ if gene_name and gene_name not in genes:
192
+ continue
193
+ drugs = [d.get("name", "")
194
+ for d in a.get("drugs", [])]
195
+ rows.append({
196
+ "assertion_id": a.get("id", ""),
197
+ "genes": "; ".join(genes),
198
+ "variant": a.get("variant", {}).get(
199
+ "name", ""),
200
+ "disease": a.get("disease", {}).get(
201
+ "name", ""),
202
+ "drugs": "; ".join(drugs),
203
+ "assertion_type": a.get(
204
+ "assertion_type", ""),
205
+ "assertion_direction": a.get(
206
+ "assertion_direction", ""),
207
+ "clinical_significance": a.get(
208
+ "clinical_significance", ""),
209
+ "amp_level": a.get("amp_level", ""),
210
+ "status": a.get("status", ""),
211
+ })
212
+
213
+ df = pd.DataFrame(rows)
214
+ print(f"CIViC assertions: {len(df)}")
215
+ return df
216
+ ```
217
+
218
+ ## 4. CIViC 統合パイプライン
219
+
220
+ ```python
221
+ def civic_pipeline(gene_name, variant_name=None,
222
+ output_dir="results"):
223
+ """
224
+ CIViC 統合パイプライン。
225
+
226
+ Parameters:
227
+ gene_name: str — 遺伝子名 (例: "BRAF")
228
+ variant_name: str — バリアント名 (例: "V600E")
229
+ output_dir: str — 出力ディレクトリ
230
+ """
231
+ from pathlib import Path
232
+ output_dir = Path(output_dir)
233
+ output_dir.mkdir(parents=True, exist_ok=True)
234
+
235
+ # 1) 遺伝子サマリー
236
+ summary = civic_gene_summary(gene_name)
237
+ pd.DataFrame([summary]).to_csv(
238
+ output_dir / "civic_gene.csv", index=False)
239
+
240
+ # 2) バリアント検索
241
+ variants = civic_variant_search(gene_name,
242
+ variant_name)
243
+ variants.to_csv(output_dir / "civic_variants.csv",
244
+ index=False)
245
+
246
+ # 3) トップバリアントのエビデンス
247
+ if not variants.empty:
248
+ top_vid = variants.iloc[0]["variant_id"]
249
+ evidence = civic_evidence_items(top_vid)
250
+ evidence.to_csv(
251
+ output_dir / "civic_evidence.csv",
252
+ index=False)
253
+
254
+ # 4) アサーション
255
+ assertions = civic_assertions(gene_name)
256
+ assertions.to_csv(
257
+ output_dir / "civic_assertions.csv",
258
+ index=False)
259
+
260
+ print(f"CIViC pipeline: {gene_name} → {output_dir}")
261
+ return {"variants": variants}
262
+ ```
263
+
264
+ ---
265
+
266
+ ## ToolUniverse 連携
267
+
268
+ | TU Key | ツール名 | 連携内容 |
269
+ |--------|---------|---------|
270
+ | `civic` | CIViC | がんバリアント臨床解釈 (~12 tools) |
271
+
272
+ ## パイプライン統合
273
+
274
+ ```
275
+ variant-interpretation → civic-evidence → precision-oncology
276
+ (ClinVar バリアント) (CIViC REST) (精密腫瘍学)
277
+ │ │ ↓
278
+ gnomad-variants ────────────┘ drug-target-profiling
279
+ (集団頻度) │ (標的プロファイリング)
280
+
281
+ opentargets-genetics
282
+ (OT 標的-疾患)
283
+ ```
284
+
285
+ ## パイプライン出力
286
+
287
+ | ファイル | 説明 | 次スキル |
288
+ |---------|------|---------|
289
+ | `results/civic_gene.csv` | 遺伝子サマリー | → cancer-genomics |
290
+ | `results/civic_variants.csv` | バリアント一覧 | → variant-interpretation |
291
+ | `results/civic_evidence.csv` | エビデンス | → precision-oncology |
292
+ | `results/civic_assertions.csv` | アサーション | → pharmacogenomics |
@@ -4,6 +4,10 @@ description: |
4
4
  化合物スクリーニングスキル。ZINC データベースを活用した購入可能化合物検索、
5
5
  SMILES/名前ベースの類似性検索、カタログフィルタリング、
6
6
  バーチャルスクリーニング前処理パイプライン。
7
+ tu_tools:
8
+ - key: zinc
9
+ name: ZINC
10
+ description: 購入可能化合物データベース
7
11
  ---
8
12
 
9
13
  # Scientific Compound Screening