mcpField
Q
quickgo-database

quickgo-database

github.com/google-deepmindデータ・データベース3.4k2.1k 回インストール5 日前に更新
リポジトリ

quickgo-database について

QuickGO の遺伝子オントロジーと証拠リソースを照会するコマンドラインスキルです。遺伝子産物の機能マッピング、GO 関係の探索、注釈根拠の確認を行う研究者向けで、QuickGO REST API 用のラッパーを介して検索します。

主な機能

  1. 01GO 用語と関係の検索
  2. 02遺伝子産物の注釈検索
  3. 03遺伝子記号から ID を解決
  4. 04証拠オントロジー用語の照会
  5. 05GO Slim の要約作成

活用シーン

  1. 01遺伝子産物を機能注釈に対応付け
  2. 02GO 用語に注釈された遺伝子を検索
  3. 03用語の定義と祖先関係を確認
  4. 04GO Slim で候補遺伝子を要約

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google-deepmind/science-skills --skill quickgo-database

インストール後、Claude Code で/quickgo-databaseを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
annotations.md
citation.bib
eco_terms.md
gene_products.md
go_terms.md
scripts/
quickgo_tool.py

詳細

QuickGO データベーススキル

GO(Gene Ontology)アノテーションは、遺伝子の機能を示す主な方法の 1 つです。QuickGO は、EMBL-EBI の Gene Ontology Annotation(GOA)グループが運営する、GO および Evidence & Conclusion Ontology(ECO)の高速なウェブベースのブラウザーです。

遺伝子産物(タンパク質、RNA、複合体)の機能的属性を調べるための一元化されたリソースを提供します。遺伝子(例:USH2A)を特定の生物学的プロセス(例:光刺激の感覚知覚)、分子機能、細胞構成要素に関連付けられるため、機能アノテーションのマッピングにおける主要なツールです。

前提条件

  1. uv:uv スキルを読み、セットアップ手順に従って、uv がインストールされ、PATH に設定されていることを確認してください。
  2. ユーザーへの通知:ワークスペースのルートディレクトリに .licenses/quickgo_database_LICENSE.txt がまだ存在しない場合は、(1)https://www.ebi.ac.uk/QuickGO/ および https://www.ebi.ac.uk/QuickGO/api/index.html で利用条件を確認するようユーザーに目立つ形で通知し、次に(2)通知文とタイムスタンプを記録したファイルを作成してください。

使用方法

このスキルは、QuickGO REST API にクエリを送信する Python CLI ラッパー scripts/quickgo_tool.py を提供します。リクエストの整形、レート制限の遵守、大容量になる可能性のある JSON レスポンスの安全な保存を処理します。

基本ルール

  • ラッパーを使用する:データベースに直接アクセスするのではなく、必ず提供されているヘルパースクリプトを実行してデータベースにクエリを送信してください。スクリプトは必要なレート制限を自動的に適用し、適切に処理します。
  • ページネーションと上限:--limit 100 を使用して、エンドポイントごとの結果を 1 ページ最大 100 件に制限してください。より大きなデータセットには --page パラメーターを使用してください。
  • 出力ファイル:必ず --output フラグを使用してレスポンスをファイルに逐次保存するか、jq で解析してください。
  • エビデンスコード:ノイズの多い予測を避けるため、電子的エビデンス(ECO:0000501)よりも実験的エビデンス(ECO:0000269)を優先してください。
  • 分類群によるフィルタリング:臨床またはヒトのゲノムデータを分析する場合は、--taxonId 9606 を使用して結果をヒトに限定してください。
  • 通知:このスキルを使用した場合は、そのことを出力に明記してください。

このツールには、主に 4 つのサブコマンドがあります。

  1. go:GO タームの情報(定義、祖先、子孫、スリムなど)を取得します。references/go_terms.md を参照してください。
  2. annotation:遺伝子産物と GO タームを関連付ける機能アノテーションを検索します。これは主な機能マッパーです。references/annotations.md を参照してください。
  3. geneproduct:遺伝子シンボル(PROC など)を正式なデータベース識別子に解決します。references/gene_products.md を参照してください。
  4. eco:Evidence & Conclusion Ontology のタームを扱います(アノテーションがどのように導出されたかを示すために使用されます。例:実験的か電子的か)。references/eco_terms.md を参照してください。

よくあるワークフロー

1. 遺伝子を機能にマッピングする(アノテーション)

遺伝子の機能を調べるには、まずシンボルを UniProtKB ID に解決してから、そのアノテーションをクエリする必要があります。ノイズの多い電子的予測を避けるため、実験的エビデンス(例:EXP の ECO:0000269、または IDA、IMP など)でフィルタリングするのが適切な場合がよくあります。

# Step 1: Find the UniProtKB ID for human (9606) gene PROC
uv run scripts/quickgo_tool.py geneproduct search --query "PROC" --taxonId 9606 --limit 5 --output proc_id.json
# (Look at proc_id.json, observe the ID is e.g., UniProtKB:P04070)

# Step 2: Find experimental GO annotations for that ID
uv run scripts/quickgo_tool.py annotation search --geneProductId "UniProtKB:P04070" --taxonId 9606 --evidenceCode "ECO:0000269" --limit 50 --output proc_annotations.json
2. 経路に属するすべての遺伝子を見つける

特定の GO ターム(例:「転写因子活性」を表す GO:0003700)にアノテーションされた遺伝子をすべて見つけるには:

# Find human genes with this specific molecular function
uv run scripts/quickgo_tool.py annotation search --goId "GO:0003700" --taxonId 9606 --limit 50 --output tf_genes.json
3. GO 階層を調べる

特定の GO タームがより広いカテゴリの子孫にあたるかを確認したり、その定義を取得したりするには:

# Fetch term details (definitions, synonyms)
uv run scripts/quickgo_tool.py go terms --ids "GO:0003150" --output term_details.json

# Check ancestry (e.g., is GO:0001917 a child of something?)
uv run scripts/quickgo_tool.py go terms --ids "GO:0001917" --relation ancestors --output term_ancestors.json
4. GO Slim の概要を作成する

候補遺伝子のリストがあり、機能の概要を大まかに把握したい場合は、事前定義された GO Slim にマッピングできます。まず遺伝子のアノテーションを取得して GO ID を抽出し、それらの ID をスリムエンドポイントに渡してください:

# Step 1: Find GO IDs for candidate genes (e.g., via their UniProt IDs, fetching their annotations)
# ... (output yields e.g., GO:0006915,GO:0008219)

# Step 2: Create a slim summary from those specific GO IDs
uv run scripts/quickgo_tool.py go slim --slimsToIds "GO:0005575,GO:0008150,GO:0003674" --slimsFromIds "GO:0006915,GO:0008219" --output my_slim.json

コメント