gene-database について
Gene Databaseは、NCBI E-utilitiesとDatasets APIを使って遺伝子データを検索するスキルです。遺伝子研究やデータ処理向けに、個別・一括検索スクリプトと複数のデータ形式を提供します。
主な機能
- 01名称やシンボルによる遺伝子検索
- 02IDによる遺伝子データ取得
- 03遺伝子の一括検索
- 04機能、表現型、経路の検索
- 05JSON、XML、FASTAなどに対応
活用シーン
- 01遺伝子リストの検証
- 02遺伝子パネルのメタデータ取得
- 03遺伝子識別子の相互参照
- 04遺伝子アノテーション表の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill gene-databaseインストール後、Claude Code で/gene-databaseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api_reference.mdcommon_workflows.mdscripts/batch_gene_lookup.pyfetch_gene_data.pyquery_gene.py詳細
Gene データベース
概要
NCBI Gene は、多様な生物種の遺伝子情報を統合した包括的なデータベースです。命名法、参照配列(RefSeqs)、染色体マップ、生物学的経路、遺伝的変異、表現型、そして世界の主要なゲノムリソースへの相互参照を提供します。
このスキルを使用するタイミング
このスキルは、遺伝子シンボルや ID による検索、遺伝子配列およびメタデータの取得、遺伝子機能や経路の分析、または一括での遺伝子検索を行う際に使用してください。
クイックスタート
NCBI は遺伝子データにアクセスするための主要な API を 2 つ提供しています。
- E-utilities(従来型): すべての Entrez データベースを対象とした、柔軟なクエリが可能な高機能 API
- NCBI Datasets API(新しい方式): 簡素化されたワークフローで遺伝子データの取得に最適化された API
複雑なクエリやデータベースをまたぐ検索には E-utilities を、メタデータと配列を 1 回のリクエストで取得する単純な遺伝子データ取得には Datasets API を選択してください。
一般的なワークフロー
シンボルまたは名称による遺伝子検索
生物種を横断して遺伝子をシンボルまたは名称で検索するには、次の手順を実行します。
- E-utilities ESearch を使用して
scripts/query_gene.pyスクリプトを実行します - 遺伝子シンボルと生物種を指定します(例: "BRCA1 in human")
- スクリプトが該当する Gene ID を返します
クエリの例:
- 遺伝子シンボル:
insulin[gene name] AND human[organism] - 疾患を伴う遺伝子:
dystrophin[gene name] AND muscular dystrophy[disease] - 染色体上の位置:
human[organism] AND 17q21[chromosome]
ID による遺伝子情報の取得
既知の Gene ID について詳細情報を取得するには、次の手順を実行します。
- 包括的なデータを取得するには、Datasets API を使用して
scripts/fetch_gene_data.pyを実行します - あるいは、特定の形式が必要な場合は、E-utilities EFetch を使用して
scripts/query_gene.pyを実行します - 出力形式(JSON、XML、テキスト)を指定します
Datasets API は次の情報を返します。
- 遺伝子の命名法と別名
- 転写産物およびタンパク質の参照配列(RefSeqs)
- 染色体上の位置とマッピング
- Gene Ontology(GO)アノテーション
- 関連する出版物
一括での遺伝子検索
複数の遺伝子をまとめて扱うには、次の手順を実行します。
- 効率的な一括処理には
scripts/batch_gene_lookup.pyを使用します - 遺伝子シンボルまたは ID のリストを指定します
- シンボルによるクエリの場合は生物種を指定します
- スクリプトはレート制限を自動的に処理します(API キーを使用すると 10 リクエスト/秒)
このワークフローは次の用途に役立ちます。
- 遺伝子リストの検証
- 遺伝子パネルのメタデータの取得
- 遺伝子識別子の相互参照
- 遺伝子アノテーション表の作成
生物学的文脈による検索
特定の生物学的機能や表現型に関連する遺伝子を見つけるには、次の手順を実行します。
- Gene Ontology(GO)用語または表現型のキーワードを指定して E-utilities を使用します
- 経路名や疾患との関連でクエリします
- 生物種、染色体、その他の属性で絞り込みます
検索の例:
- GO 用語による検索:
GO:0006915[biological process](アポトーシス) - 表現型による検索:
diabetes[phenotype] AND mouse[organism] - 経路による検索:
insulin signaling pathway[pathway]
API アクセスのパターン
レート制限:
- API キーなし: E-utilities は 3 リクエスト/秒、Datasets API は 5 リクエスト/秒
- API キーあり: 両方の API で 10 リクエスト/秒
認証: レート制限を引き上げるには、https://www.ncbi.nlm.nih.gov/account/ で無料の NCBI API キーに登録してください。
エラー処理: どちらの API も標準的な HTTP ステータスコードを返します。よくあるエラーは次のとおりです。
- 400: クエリの形式が不正、またはパラメーターが無効
- 429: レート制限を超過
- 404: Gene ID が見つからない
失敗したリクエストは、指数バックオフを用いて再試行してください。
スクリプトの使用方法
query_gene.py
E-utilities(ESearch、ESummary、EFetch)を使用して NCBI Gene を検索します。
python scripts/query_gene.py --search "BRCA1" --organism "human"
python scripts/query_gene.py --id 672 --format json
python scripts/query_gene.py --search "insulin[gene] AND diabetes[disease]"
fetch_gene_data.py
NCBI Datasets API を使用して包括的な遺伝子データを取得します。
python scripts/fetch_gene_data.py --gene-id 672
python scripts/fetch_gene_data.py --symbol BRCA1 --taxon human
python scripts/fetch_gene_data.py --symbol TP53 --taxon "Homo sapiens" --output json
batch_gene_lookup.py
複数の遺伝子クエリを効率的に処理します。
python scripts/batch_gene_lookup.py --file gene_list.txt --organism human
python scripts/batch_gene_lookup.py --ids 672,7157,5594 --output results.json
API リファレンス
エンドポイント、パラメーター、レスポンス形式、サンプルを含む詳細な API ドキュメントについては、以下を参照してください。
references/api_reference.md- E-utilities および Datasets API の包括的な API ドキュメントreferences/common_workflows.md- 追加のサンプルとユースケースパターン
特定の API エンドポイントの詳細、パラメーターオプション、またはレスポンス構造の情報が必要な場合は、これらのリファレンスを検索してください。
データ形式
NCBI Gene のデータは複数の形式で取得できます。
- JSON: プログラムによる処理に最適な構造化データ
- XML: 詳細なメタデータを含む階層型の形式
- GenBank: アノテーション付きの配列データ
- FASTA: 配列データのみ
- Text: 人が読める形式の要約
最新のアプリケーションには JSON、詳細なメタデータが必要なレガシーシステムには XML、配列解析のワークフローには FASTA を選択してください。
ベストプラクティス
- 遺伝子シンボルで検索する場合は、曖昧さを避けるために必ず生物種を指定する
- 可能な場合は、正確な検索のために Gene ID を使用する
- 複数の遺伝子を扱う場合は、API 呼び出しを最小限に抑えるためにリクエストをまとめて送信する(バッチ処理)
- 冗長なクエリを減らすために、結果をローカルにキャッシュする
- より高いレート制限を得るために、スクリプトに API キーを含める
- 一時的な障害に備えて、リトライロジックでエラーを適切に処理する
- バッチ処理の前に、タイプミスを検出するために遺伝子シンボルを検証する
リソース
このスキルには以下が含まれます。
scripts/
query_gene.py- E-utilities(ESearch、ESummary、EFetch)を使用して遺伝子を検索するfetch_gene_data.py- NCBI Datasets API を使用して遺伝子データを取得するbatch_gene_lookup.py- 複数の遺伝子クエリを効率的に処理する
references/
api_reference.md- E-utilities と Datasets API の両方に関する詳細な API ドキュメントcommon_workflows.md- 一般的な遺伝子クエリとユースケースの例