mcpField
G
gene-database

gene-database

github.com/davila7データ・データベース33.0k272 回インストール1 日前に更新
リポジトリ

gene-database について

Gene Databaseは、NCBI E-utilitiesとDatasets APIを使って遺伝子データを検索するスキルです。遺伝子研究やデータ処理向けに、個別・一括検索スクリプトと複数のデータ形式を提供します。

主な機能

  1. 01名称やシンボルによる遺伝子検索
  2. 02IDによる遺伝子データ取得
  3. 03遺伝子の一括検索
  4. 04機能、表現型、経路の検索
  5. 05JSON、XML、FASTAなどに対応

活用シーン

  1. 01遺伝子リストの検証
  2. 02遺伝子パネルのメタデータ取得
  3. 03遺伝子識別子の相互参照
  4. 04遺伝子アノテーション表の作成

インストール

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

$npx skills add https://github.com/davila7/claude-code-templates --skill gene-database

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

同梱ファイル

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

references/
api_reference.md
common_workflows.md
scripts/
batch_gene_lookup.py
fetch_gene_data.py
query_gene.py

詳細

Gene データベース

概要

NCBI Gene は、多様な生物種の遺伝子情報を統合した包括的なデータベースです。命名法、参照配列(RefSeqs)、染色体マップ、生物学的経路、遺伝的変異、表現型、そして世界の主要なゲノムリソースへの相互参照を提供します。

このスキルを使用するタイミング

このスキルは、遺伝子シンボルや ID による検索、遺伝子配列およびメタデータの取得、遺伝子機能や経路の分析、または一括での遺伝子検索を行う際に使用してください。

クイックスタート

NCBI は遺伝子データにアクセスするための主要な API を 2 つ提供しています。

  1. E-utilities(従来型): すべての Entrez データベースを対象とした、柔軟なクエリが可能な高機能 API
  2. NCBI Datasets API(新しい方式): 簡素化されたワークフローで遺伝子データの取得に最適化された API

複雑なクエリやデータベースをまたぐ検索には E-utilities を、メタデータと配列を 1 回のリクエストで取得する単純な遺伝子データ取得には Datasets API を選択してください。

一般的なワークフロー

シンボルまたは名称による遺伝子検索

生物種を横断して遺伝子をシンボルまたは名称で検索するには、次の手順を実行します。

  1. E-utilities ESearch を使用して scripts/query_gene.py スクリプトを実行します
  2. 遺伝子シンボルと生物種を指定します(例: "BRCA1 in human")
  3. スクリプトが該当する Gene ID を返します

クエリの例:

  • 遺伝子シンボル: insulin[gene name] AND human[organism]
  • 疾患を伴う遺伝子: dystrophin[gene name] AND muscular dystrophy[disease]
  • 染色体上の位置: human[organism] AND 17q21[chromosome]
ID による遺伝子情報の取得

既知の Gene ID について詳細情報を取得するには、次の手順を実行します。

  1. 包括的なデータを取得するには、Datasets API を使用して scripts/fetch_gene_data.py を実行します
  2. あるいは、特定の形式が必要な場合は、E-utilities EFetch を使用して scripts/query_gene.py を実行します
  3. 出力形式(JSON、XML、テキスト)を指定します

Datasets API は次の情報を返します。

  • 遺伝子の命名法と別名
  • 転写産物およびタンパク質の参照配列(RefSeqs)
  • 染色体上の位置とマッピング
  • Gene Ontology(GO)アノテーション
  • 関連する出版物
一括での遺伝子検索

複数の遺伝子をまとめて扱うには、次の手順を実行します。

  1. 効率的な一括処理には scripts/batch_gene_lookup.py を使用します
  2. 遺伝子シンボルまたは ID のリストを指定します
  3. シンボルによるクエリの場合は生物種を指定します
  4. スクリプトはレート制限を自動的に処理します(API キーを使用すると 10 リクエスト/秒)

このワークフローは次の用途に役立ちます。

  • 遺伝子リストの検証
  • 遺伝子パネルのメタデータの取得
  • 遺伝子識別子の相互参照
  • 遺伝子アノテーション表の作成
生物学的文脈による検索

特定の生物学的機能や表現型に関連する遺伝子を見つけるには、次の手順を実行します。

  1. Gene Ontology(GO)用語または表現型のキーワードを指定して E-utilities を使用します
  2. 経路名や疾患との関連でクエリします
  3. 生物種、染色体、その他の属性で絞り込みます

検索の例:

  • 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 を選択してください。

ベストプラクティス

  1. 遺伝子シンボルで検索する場合は、曖昧さを避けるために必ず生物種を指定する
  2. 可能な場合は、正確な検索のために Gene ID を使用する
  3. 複数の遺伝子を扱う場合は、API 呼び出しを最小限に抑えるためにリクエストをまとめて送信する(バッチ処理)
  4. 冗長なクエリを減らすために、結果をローカルにキャッシュする
  5. より高いレート制限を得るために、スクリプトに API キーを含める
  6. 一時的な障害に備えて、リトライロジックでエラーを適切に処理する
  7. バッチ処理の前に、タイプミスを検出するために遺伝子シンボルを検証する

リソース

このスキルには以下が含まれます。

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 - 一般的な遺伝子クエリとユースケースの例

コメント