quickgo-database について
QuickGO の遺伝子オントロジーと証拠リソースを照会するコマンドラインスキルです。遺伝子産物の機能マッピング、GO 関係の探索、注釈根拠の確認を行う研究者向けで、QuickGO REST API 用のラッパーを介して検索します。
主な機能
- 01GO 用語と関係の検索
- 02遺伝子産物の注釈検索
- 03遺伝子記号から ID を解決
- 04証拠オントロジー用語の照会
- 05GO Slim の要約作成
活用シーン
- 01遺伝子産物を機能注釈に対応付け
- 02GO 用語に注釈された遺伝子を検索
- 03用語の定義と祖先関係を確認
- 04GO Slim で候補遺伝子を要約
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google-deepmind/ science-skills --skill quickgo-databaseインストール後、Claude Code で/quickgo-databaseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/annotations.mdcitation.bibeco_terms.mdgene_products.mdgo_terms.mdscripts/quickgo_tool.py詳細
QuickGO データベーススキル
GO(Gene Ontology)アノテーションは、遺伝子の機能を示す主な方法の 1 つです。QuickGO は、EMBL-EBI の Gene Ontology Annotation(GOA)グループが運営する、GO および Evidence & Conclusion Ontology(ECO)の高速なウェブベースのブラウザーです。
遺伝子産物(タンパク質、RNA、複合体)の機能的属性を調べるための一元化されたリソースを提供します。遺伝子(例:USH2A)を特定の生物学的プロセス(例:光刺激の感覚知覚)、分子機能、細胞構成要素に関連付けられるため、機能アノテーションのマッピングにおける主要なツールです。
前提条件
uv:uvスキルを読み、セットアップ手順に従って、uvがインストールされ、PATH に設定されていることを確認してください。- ユーザーへの通知:ワークスペースのルートディレクトリに .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 つのサブコマンドがあります。
go:GO タームの情報(定義、祖先、子孫、スリムなど)を取得します。references/go_terms.md を参照してください。annotation:遺伝子産物と GO タームを関連付ける機能アノテーションを検索します。これは主な機能マッパーです。references/annotations.md を参照してください。geneproduct:遺伝子シンボル(PROCなど)を正式なデータベース識別子に解決します。references/gene_products.md を参照してください。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