gget について
ggetは、生物情報学研究者向けのコマンドラインツール兼Pythonパッケージです。ゲノムデータベースへの統一インターフェースを備え、遺伝子情報や配列、構造、発現、疾患関連の解析を行えます。
主な機能
- 0120以上のゲノムデータベースに統一アクセス
- 02遺伝子・転写産物・配列情報の取得
- 03配列解析とマルチプルアラインメント
- 04タンパク質構造と発現データの取得
- 05コマンドラインとPythonに対応
活用シーン
- 01遺伝子や転写産物の詳細検索
- 02配列比較とアラインメントの実行
- 03発現や疾患・薬物との関連の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill ggetインストール後、Claude Code で/ggetを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/common_workflows.mddatabase_info.mdmodule_catalog.mdmodule_reference.mdworkflows.mdscripts/batch_sequence_analysis.pyenrichment_pipeline.pygene_analysis.py詳細
gget
概要
ggetは、20以上のゲノムデータベースと解析手法に統一された方法でアクセスできる、コマンドラインのバイオインフォマティクスツールおよびPythonパッケージです。遺伝子情報、配列解析、タンパク質構造、ウイルス配列、発現データ、疾患との関連、マウスの組織・細胞特異性指標を検索できます。ほとんどのggetモジュールは、コマンドラインツールとPython関数の両方として動作します。
重要:ggetが照会するデータベースは継続的に更新されるため、構造が変わることがあります。ここに記載する情報は、gget 0.30.5(2026-06-07時点のPyPI最新版)を対象としています。再現性のある作業には、gget==0.30.5を固定してください。上流データベースのアダプターが動作しない場合は、リリースノートを確認してからggetを更新してください。
インストール
競合を避けるため、クリーンな仮想環境にggetをインストールしてください。
# Reproducible install targeting this skill
uv venv .venv
source .venv/bin/activate
uv pip install "gget==0.30.5"
# In Python/Jupyter
import gget
クイックスタート
すべてのモジュールに共通する基本的な使用パターン:
# Command-line
gget <module> [arguments] [options]
# Python
gget.module(arguments, options)
ほとんどのモジュールは、次の形式で返します:
- コマンドライン:JSON(デフォルト)、または
-csvフラグを指定したCSV - Python:DataFrameまたは辞書
モジュール共通のフラグ:
-o/--out:結果をファイルに保存します-q/--quiet:進行状況の情報を抑制します-csv:CSV形式で返します(コマンドラインのみ)
Pythonの引数名は通常、先頭のダッシュを除いた長いCLIオプションと一致します。たとえば、--census_versionはcensus_version=...になります。正確な最新のシグネチャは、gget <module> --helpで確認してください。
モジュールのカテゴリ
ggetには、6つのカテゴリに分かれた23個のモジュールがあります。各モジュールのパラメーター、CLIおよびPythonの例、戻り値の形式については references/module_catalog.mdを参照してください。各パラメーターの詳細なドキュメントは references/module_reference.mdにあります。
| カテゴリ | モジュール |
|---|---|
| 1. リファレンスと遺伝子情報 | ref(Ensemblリファレンスのダウンロード)、search(遺伝子検索)、info(遺伝子/転写産物の詳細)、seq(塩基配列とタンパク質配列) |
| 2. 配列解析とアラインメント | blast、blat、muscle(多重アラインメント)、diamond(ローカルアラインメント) |
| 3. 構造・タンパク質解析 | pdb(構造とメタデータ)、alphafold(構造予測)、elm(線状モチーフ) |
| 4. 発現・疾患データ | archs4(相関、組織発現)、cellxgene(単一細胞)、enrichr(エンリッチメント)、bgee(オルソロジーと発現)、opentargets(疾患と薬剤)、cbio(がんゲノミクス)、cosmic(変異) |
| 5. ウイルス・マウスの特異性 | virus(ウイルス配列)、8cube(マウスの特異性と発現) |
| 6. その他のツール | mutate(変異配列)、gpt(テキスト生成)、setup(モジュール依存関係のインストール) |
一部のモジュールは初回使用前に一度だけgget setupを実行する必要があります(alphafold、elm、cellxgene)。また、cosmicはデータベースをダウンロードするためのCOSMIC認証情報を求めます。
よくあるワークフロー
遺伝子の特性評価、構造比較、発現とエンリッチメントの解析、疾患・薬剤との関連、オルソロジーの比較、kallistoやアラインメント用のリファレンスファイル準備など、複数のモジュールを組み合わせたパイプラインの実例は references/common_workflows.mdにあります。より詳細な例は references/workflows.mdを参照してください。
ベストプラクティス
データの取得
- 大規模なクエリでは
--limitを使って結果の量を制御します - 再現性を確保するため、
-o/--outを使って結果を保存します - 解析間の一貫性を保つため、データベースのバージョン/リリースを確認します
- 本番用スクリプトでは、出力を減らすために
--quietを使います
配列解析
- BLAST/BLATでは、まずデフォルトのパラメーターを使い、その後で感度を調整します
- ローカルアラインメントを高速化するには、
gget diamondで--threadsを使います - 繰り返しクエリを行う場合は、
--diamond_dbでDIAMONDデータベースを保存します - 多重配列アラインメントでは、大規模なデータセットに
-s5/--super5を使います
発現データと疾患データ
- cellxgene では遺伝子シンボルの大文字・小文字が区別されます(例:
'PAX7'と'Pax7')。 - alphafold、cellxgene、elm、gpt を初めて使用する前に、
gget setupを実行してください。 - エンリッチメント解析では、利便性のためデータベースのショートカットを使用してください。
- ダウンロードの繰り返しを避けるため、
-ddを指定して cBioPortal のデータをキャッシュしてください。 - OpenTargets では、フィルターを作成する前に返された列名を確認してください。gget 0.30.5 は新しい OpenTargets API スキーマに準拠しています。
構造予測
- AlphaFold のマルチマー予測では、精度を高めるために
-mr 20を使用してください。 - 最終構造を AMBER で緩和するには、
-rフラグを使用してください。 plot=Trueを指定して、Python で結果を可視化してください。- AlphaFold で予測を実行する前に、PDB データベースを確認してください。
ウイルスデータ
- 広範なウイルスデータセットをリクエストする前に、
gget virusで絞り込み条件を厳しくしてください。 - 再現性の確保と部分ダウンロード後の復旧のため、後続の結果とともに
command_summary.txtを保管してください。 - 中断されたウイルスのメタデータ/配列ダウンロードを再開するには、
--baselineと--merge-resultsを使用してください。
エラー処理
- データベースの構造は変更されるため、アダプターが動作しなくなった場合は、上流のリリースノートを確認し、修正済みの新しいバージョンを明示的に固定してください。
- 再現可能な環境のため、動作が確認されたバージョンを固定してください:
uv pip install "gget==0.30.5" - gget info では、一度に処理する Ensembl ID を最大約 1000 件にしてください。
- 大規模な解析では、API クエリにレート制限を実装してください。
- 依存関係の競合を避けるため、仮想環境を使用してください。
- COSMIC と OpenAI の認証情報は、名前付き環境変数または対話形式のプロンプトに保持してください。実際の認証情報を例、ノートブック、ログに記載しないでください。
出力形式
コマンドライン
- デフォルト:JSON
- CSV:
-csvフラグを追加 - FASTA:gget seq、gget mutate
- PDB:gget pdb、gget alphafold
- PNG:gget cbio plot
- FASTA/CSV/JSONL のフォルダー:gget virus
Python
- デフォルト:DataFrame または辞書
- JSON:
json=Trueパラメーターを追加 - ファイルに保存:
save=Trueを追加するか、out="filename"を指定 - AnnData:gget cellxgene
- DataFrame/JSON:gget 8cube specificity、psi_block、expression
リソース
このスキルには、各モジュールの詳細情報を記載したリファレンスドキュメントが含まれています。
references/
module_reference.md- すべてのモジュールの包括的なパラメーターリファレンスdatabase_info.md- クエリ対象のデータベースと更新頻度に関する情報workflows.md- 拡張版のワークフロー例とユースケース
詳細については、以下をご覧ください。
- 公式ドキュメント:https://pachterlab.github.io/gget/
- GitHub の課題:https://github.com/pachterlab/gget/issues
- 引用:Luebbert, L. & Pachter, L. (2023). Efficient querying of genomic reference databases with gget. Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836
エージェントの運用手順
- 環境を確認します。 ネットワークに接続できること、必要に応じて API キーがあること、データベースの最新の API ドキュメントとレート制限を確認します。
- 入力を特定します。 データまたはユーザーから、形式、識別子、パラメーターを確認します。結果に影響する値は推測せず、質問してください。
- まず小規模に実行します。 既知のレコードを 1 件取得し、一括クエリの前にレスポンス形式を確認します。
- 上記の手順と参考情報を使って、タスク全体を実行します。
- 結果を検証します。 識別子が解決できること、レコード数を報告すること、データベースのバージョンまたはアクセス日を記録することを確認します。
- 報告します。 実行した内容(バージョン、コマンド、パラメーター)、確認した内容、未解決の点を明示します。
| このような場合 | 対応方法 |
|---|---|
| HTTP 429 または 5xx エラーが発生した場合 | バックオフとリクエストのバッチ処理でレート制限を守り、部分的な結果は正直に報告します。 |
| これらの手順に記載された関数、フラグ、エンドポイントがインストール済みバージョンにない場合 | インストール済みバージョンのドキュメント(help()、--help、公式ドキュメント)を確認し、対応方法を調整してユーザーに伝えます。API を捏造してはいけません。 |
| 必須の入力、識別子、パラメーターが曖昧な場合 | ユーザーに質問するか、実行前に前提を明示します。 |
整合性のルール
- 結果、パラメーター、識別子、引用、統計値を捏造してはいけません。実行または検証できない場合は、その旨を明確に伝えます。
- アクセッション番号、ID、レコードを捏造してはいけません。見つからない場合は「見つかりません」と報告します。
- ここに記載されているバージョン固有の詳細は古くなっている可能性があるため、インストール済みバージョンの公式ドキュメントで確認します。
- 費用が発生する操作、共有 GPU やクラウドクォータを消費する操作、個人データや患者データに触れる操作、取り消しできない操作の前には、ユーザーに確認します。
関連スキル
biopython:Biopython(Bio.Seq、Bio.SeqIO、Bio.Align、Bio.Entrez、Bio.Blast、Bio.PDB、Bio.Phylo、Bio.motifs、Bio.SeqUtils、Bio.Restriction)を提供し、…bioservices:40 以上のバイオインフォマティクスサービスに対応する統一 Python インターフェースです。pathway-enrichment:遺伝子リストまたはランキングされた遺伝子データに対して、経路と遺伝子セットのエンリッチメント解析を実行し、結果を解釈します。