alterlab-gwas について
alterlab-gwasは、GWAS Catalogを利用する遺伝学研究者向けの検索スキルです。コマンドラインスクリプトで変異、形質、遺伝子、研究情報を取得し、複数段階の分析手順も参照できます。
主な機能
- 01SNP・形質・遺伝子・研究の検索
- 02形質テキストからIDへの解決
- 03関連情報と研究メタデータの絞り込み
- 04全サマリー統計へのリンク取得
- 05ページネーションと結果解釈の案内
活用シーン
- 01変異に関連する疾患や形質の検索
- 02祖先集団ごとの関連結果の比較
- 03研究のサマリー統計の取得
- 04遺伝子や形質の関連エビデンス整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-gwasインストール後、Claude Code で/alterlab-gwasを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/api_reference.mddata_fields_and_best_practices.mdquery_examples.mdquery_workflows.mdscripts/query_gwas.py詳細
GWAS Catalog データベース
概要
GWAS Catalog は、NHGRI と EBI が管理する、公開済みのゲノムワイド関連解析研究を集約したリポジトリです。数千件の GWAS 論文から、SNP と形質の関連、遺伝的バリアント、関連する形質や疾患、p 値、効果量、および多くの研究の完全なサマリー統計を収録しています。
スクリプト
scripts/query_gwas.py — GWAS Catalog REST API をクエリします(標準ライブラリのみを使用し、JSON を標準出力に出力します)。
python scripts/query_gwas.py variant rs7903146 # associations for a SNP (strongest first)
python scripts/query_gwas.py trait MONDO_0005148 --size 100 # associations for a trait
python scripts/query_gwas.py gene TCF7L2 # associations mapped to a gene
python scripts/query_gwas.py find-trait "type 2 diabetes" # free text -> efo_id
python scripts/query_gwas.py study GCST001795 # study metadata (+ summary-stats FTP link)
このスキルを使用する場面
次の用途でこのスキルを使用します。
- 遺伝的バリアントの関連 — 疾患や形質に関連する SNP
- SNP の検索 — 特定のバリアント(rs ID)に関する情報
- 形質/疾患の検索 — 表現型に関する遺伝的関連
- 遺伝子の関連 — 特定の遺伝子内または近傍にあるバリアント
- GWAS サマリー統計 — 完全なゲノムワイド関連データ
- 研究メタデータ — 論文とコホートに関する情報
- 集団遺伝学 — 祖先集団固有の関連
- ポリジェニックリスクスコア — リスク予測モデルに用いるバリアント
- 機能ゲノミクス / システマティックレビュー — バリアントの影響、文献の統合
該当しないケース
| ケース | 代わりに使用 |
|---|---|
| 薬剤標的の標的と疾患の関連スコア、L2G/共局在のエビデンス | alterlab-opentargets |
| バリアントの臨床的病原性(ACMG/AMP、レビューの星評価) | alterlab-clinvar |
| 集団のアレル頻度または遺伝子の制約 | alterlab-gnomad |
| バリアントが制御する遺伝子/組織(eQTL/sQTL) | alterlab-gtex |
| バリアントの影響(VEP)、座標、遺伝子モデル | alterlab-ensembl |
データモデル
4 つの主要エンティティがあり、それぞれに正規識別子があります。
- 研究 →
GCSTアクセッション(例:GCST001234) - 関連 → p 値を伴う SNP と形質の関連(ゲノムワイド有意:p ≤ 5×10⁻⁸)
- バリアント →
rs番号(例:rs7903146) - 形質 →
efo_idのオントロジー略称(例:MONDO_0005148 = 2 型糖尿病)。遺伝子には HGNC シンボルを使用します(例:TCF7L2)
形質 ID に関する注意(2026-09 に確認): 多くの形質は MONDO/現行の EFO 略称に再マッピングされており、古い ID を指定するとエラーではなく空のページが返されます。
associations?efo_id=EFO_0001360(旧 2 型糖尿病 ID)では 0 件ですが、efo_id=MONDO_0005148では数千件が返されます。まず自由記述のテキストをGET /v2/efo-traits?efo_trait=type 2 diabetesで解決し、返されたefo_idを使用してください。古い論文やパイプラインでは、従来の EFO ID が引き続き使われている場合があります。
API
- GWAS Catalog REST API v2(2025 年 8 月リリース):
https://www.ebi.ac.uk/gwas/rest/api/v2— キュレーション済みの主要な関連、研究、SNP、形質、遺伝子、論文を提供します。無料で、キーは不要です。リクエスト数は 1 秒あたり 15 件に制限されています。デフォルトのページサイズは 20 です(タイムアウトを避けるため、sizeは 200 以下にしてください)。対話型リファレンス:https://www.ebi.ac.uk/gwas/rest/api/v2/docs - 旧 v1(
/gwas/rest/api/singleNucleotidePolymorphisms/...、/efoTraits/...、camelCase フィールド)は非推奨で、2026 年 5 月までに廃止される予定でした。現在も応答する可能性はありますが、新しいコードでは使用しないでください。 - Summary Statistics API(
/gwas/summary-statistics/api)は廃止済みです(HTTP 410)。完全なサマリー統計は FTP サイトから提供されています(ワークフローのステップ 6 を参照)。EBI は後継 API を「近日公開」と説明しています。
v2 の主要なエンドポイント:/v2/associations(rs_id、efo_id、efo_trait、mapped_gene、accession_id、pubmed_id でフィルタリング。sort=p_value&direction=asc)、/v2/studies および /v2/studies/{accession_id}、/v2/single-nucleotide-polymorphisms(rs_id、mapped_gene、または chromosome と bp_start/bp_end で検索)、/v2/efo-traits、/v2/genes/{gene_name}。レスポンスは HAL+JSON 形式で、フィールド名は snake_case です。結果は _embedded.<resource>(associations、studies、snps、efo_traits)の下に、ページネーション情報は page(totalElements、totalPages、number)に、次のページは _links.next に含まれます。
コアワークフロー
- エンティティを特定する —
efo_id(形質。自由記述のテキストは/v2/efo-traits?efo_trait=で解決します)、rs ID(バリアント)、GCST(研究)、または HGNC シンボル(遺伝子)を取得します。 - 対応するエンドポイントにクエリする — 形質/バリアント/研究/遺伝子/領域を対象にします。
page/sizeでページを順に取得するか、_links.nextをたどります。 - フィルタリングする — p 値(ゲノムワイド有意性は ≤ 5×10⁻⁸)、祖先集団、サンプルサイズ、発見/再現のステータスで絞り込みます。
- 抽出する — rs ID と効果アレル(
snp_allele[])、効果量(or_per_copy_numまたはbetaのテキスト)、p 値を取得します。非常に強いシグナルではp_valueが0.0にアンダーフローするため(2 型糖尿病の rs7903146 では 3×10⁻¹³¹⁵ に達します)、pvalue_mantissa/pvalue_exponentを使って順位付けし、報告してください。 - 相互参照する — Ensembl(結果)、gnomAD(頻度)、Open Targets、PGS Catalog を参照します。
- ゲノムワイド解析の場合 —
/v2/studies?efo_id=...&full_pvalue_set=trueで研究を検索します。各研究のfull_summary_statsフィールドに FTP ディレクトリが記載されています。ハーモナイズ済みファイルはhttps://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST<range>/<GCST>/harmonised/<GCST>.h.tsv.gz(GWAS-SSF の列、tabix インデックス付きの.tbi)にあるため、ファイル全体をダウンロードする代わりに、tabix <url> 10:112900000-113200000を使って領域をリモートで取得できます。この目的で関連エンドポイントをスクレイピングしないでください。そこにあるのはキュレーション済みの主要ヒットのみです。
ルーティングガイダンス
- API 呼び出しを作成する/コピーして使えるコードが必要(エンドポイント、4 つの実例、サマリー統計へのアクセス、相互参照、全ページを取得する Python ヘルパー)→
references/query_examples.md。 - 複数ステップのタスクに取り組む(疾患、バリアント、遺伝子を中心とした分析、系統的レビュー、サマリー統計の分析)、または ウェブインターフェースの検索構文を確認する →
references/query_workflows.md。 - レスポンスのフィールド名、ページネーションの詳細、ベストプラクティス/データ品質のガイダンスが必要 →
references/data_fields_and_best_practices.md。 - 詳細なエンドポイント仕様、すべてのクエリパラメーター、エラー処理、高度なフィルタリングが必要 →
references/api_reference.md。
リファレンス一覧
references/query_examples.md— REST エンドポイントのコード、代表的なクエリ例 4 件(疾患、バリアント、サマリー統計、染色体領域)、サマリー統計へのアクセス、相互参照、DataFrame を返すページネーション対応の Python 統合コード一式。references/query_workflows.md— 5 つのステップごとのクエリワークフロー(疾患、バリアント、遺伝子、系統的レビュー、サマリー統計)と、ウェブインターフェースの検索モード。references/data_fields_and_best_practices.md— 関連/研究のレスポンスフィールド、ページネーション、クエリと解釈のベストプラクティス、レート制限に関する倫理、データ品質に関する考慮事項。references/api_reference.md— 包括的なエンドポイント仕様、クエリパラメーター/フィルター、レスポンス形式、エラー処理、外部データベースとの統合。
引用とリソース
GWAS Catalog のデータを使用する場合は、次の文献を引用してください。
-
Sollis E, et al. (2023) The NHGRI-EBI GWAS Catalog: knowledgebase and deposition resource. Nucleic Acids Research 51:D977-D985. PMID: 36350656. DOI: 10.1093/nar/gkac1010
-
入手可能な場合はアクセス日とバージョンを記載してください。特定の知見について論じる際は、元の研究も引用してください。
-
ウェブサイト: https://www.ebi.ac.uk/gwas/
-
ドキュメント: https://www.ebi.ac.uk/gwas/docs
-
API v2 のドキュメント: https://www.ebi.ac.uk/gwas/rest/api/v2/docs (OpenAPI: https://www.ebi.ac.uk/gwas/rest/api/v2/rest-api-doc.yaml)
-
サマリー統計へのアクセス: https://www.ebi.ac.uk/gwas/docs/methods/summary-statistics
-
トレーニング資料: https://github.com/EBISPOT/GWAS_Catalog-workshop (Jupyter ノートブック、Colab)
-
PGS Catalog(ポリジェニックスコア): https://www.pgscatalog.org/
-
ヘルプとサポート: [email protected]