gwas-database
NHGRI-EBI GWAS Catalogに対して、SNPと疾患・形質の関連データを照会します。rs IDや疾患名、遺伝子名による変異の検索、p値やサマリー統計の取得が可能で、遺伝疫学研究やポリジェニックリスクスコアの算出に活用できます。
description の原文を見る
Query NHGRI-EBI GWAS Catalog for SNP-trait associations. Search variants by rs ID, disease/trait, gene, retrieve p-values and summary statistics, for genetic epidemiology and polygenic risk scores.
SKILL.md 本文
GWAS Catalog Database
Overview
GWAS Catalog は、国立ヒトゲノム研究所 (NHGRI) とヨーロッパバイオインフォマティクス研究所 (EBI) により維持管理される、公開されたゲノムワイド関連解析 (GWAS) の包括的なリポジトリです。このカタログには数千の GWAS 論文から厳選された SNP-形質関連、遺伝子変異、関連形質・疾患、p 値、効果量、および多くの研究の完全な要約統計が含まれています。
このスキルを使用する時期
このスキルは以下の内容を含むクエリに使用すべきです:
- 遺伝子変異の関連性: 疾患または形質に関連する SNP の検出
- SNP 検索: 特定の遺伝子変異 (rs ID) に関する情報の取得
- 形質・疾患検索: 表現型の遺伝的関連性の発見
- 遺伝子関連性: 特定の遺伝子内またはその近くの変異の検出
- GWAS 要約統計: 完全なゲノムワイド関連データへのアクセス
- 研究メタデータ: 出版物およびコホート情報の取得
- 集団遺伝学: 祖先特異的関連性の探索
- 多遺伝子リスクスコア: リスク予測モデル用の変異の特定
- 機能的ゲノム学: 変異効果とゲノム文脈の理解
- 系統的レビュー: 遺伝的関連性の包括的な文献統合
コア機能
1. GWAS Catalog のデータ構造の理解
GWAS Catalog は 4 つのコア エンティティを中心に構成されています:
- 研究 (Studies): メタデータ付きの GWAS 論文 (PMID、著者、コホート詳細)
- 関連性 (Associations): 統計的証拠を伴う SNP-形質関連 (p ≤ 5×10⁻⁸)
- 変異 (Variants): ゲノム座標とアレルを持つ遺伝子マーカー (SNP)
- 形質 (Traits): 表現型および疾患 (EFO オントロジー用語にマップされた)
主要な識別子:
- 研究アクセッション:
GCSTID (例: GCST001234) - 変異 ID:
rs番号 (例: rs7903146) またはvariant_id形式 - 形質 ID: EFO 用語 (例: EFO_0001360 (2型糖尿病))
- 遺伝子シンボル: HGNC 承認名 (例: TCF7L2)
2. Web インターフェース検索
https://www.ebi.ac.uk/gwas/ の Web インターフェースは複数の検索モードをサポートしています:
変異による検索 (rs ID):
rs7903146
この SNP のすべての形質関連を返します。
疾患・形質による検索:
type 2 diabetes
Parkinson disease
body mass index
すべての関連遺伝子変異を返します。
遺伝子による検索:
APOE
TCF7L2
遺伝子領域内またはその近くの変異を返します。
染色体領域による検索:
10:114000000-115000000
指定されたゲノム区間内の変異を返します。
出版物による検索:
PMID:20581827
Author: McCarthy MI
GCST001234
研究詳細およびすべての報告された関連を返します。
3. REST API へのアクセス
GWAS Catalog は プログラマティックアクセス用に 2 つの REST API を提供しています:
ベース URL:
- GWAS Catalog API:
https://www.ebi.ac.uk/gwas/rest/api - Summary Statistics API:
https://www.ebi.ac.uk/gwas/summary-statistics/api
API ドキュメント:
- メイン API ドキュメント: https://www.ebi.ac.uk/gwas/rest/docs/api
- Summary Statistics ドキュメント: https://www.ebi.ac.uk/gwas/summary-statistics/docs/
コア エンドポイント:
-
Studies エンドポイント -
/studies/{accessionID}import requests # 特定の研究を取得 url = "https://www.ebi.ac.uk/gwas/rest/api/studies/GCST001795" response = requests.get(url, headers={"Content-Type": "application/json"}) study = response.json() -
Associations エンドポイント -
/associations# 変異の関連を検出 variant = "rs7903146" url = f"https://www.ebi.ac.uk/gwas/rest/api/singleNucleotidePolymorphisms/{variant}/associations" params = {"projection": "associationBySnp"} response = requests.get(url, params=params, headers={"Content-Type": "application/json"}) associations = response.json() -
Variants エンドポイント -
/singleNucleotidePolymorphisms/{rsID}# 変異の詳細を取得 url = "https://www.ebi.ac.uk/gwas/rest/api/singleNucleotidePolymorphisms/rs7903146" response = requests.get(url, headers={"Content-Type": "application/json"}) variant_info = response.json() -
Traits エンドポイント -
/efoTraits/{efoID}# 形質情報を取得 url = "https://www.ebi.ac.uk/gwas/rest/api/efoTraits/EFO_0001360" response = requests.get(url, headers={"Content-Type": "application/json"}) trait_info = response.json()
4. クエリ例とパターン
例 1: 疾患のすべての関連を検出
import requests
trait = "EFO_0001360" # 2型糖尿病
base_url = "https://www.ebi.ac.uk/gwas/rest/api"
# この形質の関連をクエリ
url = f"{base_url}/efoTraits/{trait}/associations"
response = requests.get(url, headers={"Content-Type": "application/json"})
associations = response.json()
# 結果を処理
for assoc in associations.get('_embedded', {}).get('associations', []):
variant = assoc.get('rsId')
pvalue = assoc.get('pvalue')
risk_allele = assoc.get('strongestAllele')
print(f"{variant}: p={pvalue}, risk allele={risk_allele}")
例 2: 変異情報とすべての形質関連を取得
import requests
variant = "rs7903146"
base_url = "https://www.ebi.ac.uk/gwas/rest/api"
# 変異の詳細を取得
url = f"{base_url}/singleNucleotidePolymorphisms/{variant}"
response = requests.get(url, headers={"Content-Type": "application/json"})
variant_data = response.json()
# この変異のすべての関連を取得
url = f"{base_url}/singleNucleotidePolymorphisms/{variant}/associations"
params = {"projection": "associationBySnp"}
response = requests.get(url, params=params, headers={"Content-Type": "application/json"})
associations = response.json()
# 形質名と p 値を抽出
for assoc in associations.get('_embedded', {}).get('associations', []):
trait = assoc.get('efoTrait')
pvalue = assoc.get('pvalue')
print(f"Trait: {trait}, p-value: {pvalue}")
例 3: Summary Statistics へのアクセス
import requests
# Summary Statistics API をクエリ
base_url = "https://www.ebi.ac.uk/gwas/summary-statistics/api"
# p 値閾値で形質による関連を検出
trait = "EFO_0001360" # 2型糖尿病
p_upper = "0.000000001" # p < 1e-9
url = f"{base_url}/traits/{trait}/associations"
params = {
"p_upper": p_upper,
"size": 100 # 結果数
}
response = requests.get(url, params=params)
results = response.json()
# ゲノムワイド有意なヒットを処理
for hit in results.get('_embedded', {}).get('associations', []):
variant_id = hit.get('variant_id')
chromosome = hit.get('chromosome')
position = hit.get('base_pair_location')
pvalue = hit.get('p_value')
print(f"{chromosome}:{position} ({variant_id}): p={pvalue}")
例 4: 染色体領域によるクエリ
import requests
# 特定のゲノム領域の変異を検出
chromosome = "10"
start_pos = 114000000
end_pos = 115000000
base_url = "https://www.ebi.ac.uk/gwas/rest/api"
url = f"{base_url}/singleNucleotidePolymorphisms/search/findByChromBpLocationRange"
params = {
"chrom": chromosome,
"bpStart": start_pos,
"bpEnd": end_pos
}
response = requests.get(url, params=params, headers={"Content-Type": "application/json"})
variants_in_region = response.json()
5. Summary Statistics の操作
GWAS Catalog は多くの研究の完全な要約統計をホストしており、すべてのテストされた変異 (ゲノムワイド有意なヒットだけでなく) へのアクセスを提供しています。
アクセス方法:
- FTP ダウンロード: http://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/
- REST API: Summary Statistics へのクエリベースのアクセス
- Web インターフェース: Web サイトを介して閲覧・ダウンロード
Summary Statistics API の特性:
- 染色体、位置、p 値でフィルタリング
- 研究全体で特定の変異をクエリ
- 効果量とアレル頻度を取得
- 調和化および標準化されたデータへのアクセス
例: 研究の Summary Statistics をダウンロード
import requests
import gzip
# 利用可能な Summary Statistics を取得
base_url = "https://www.ebi.ac.uk/gwas/summary-statistics/api"
url = f"{base_url}/studies/GCST001234"
response = requests.get(url)
study_info = response.json()
# ダウンロードリンクは応答に含まれます
# または FTP を使用します:
# ftp://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCSTXXXXXX/
6. データ統合とクロスリファレンシング
GWAS Catalog は外部リソースへのリンクを提供しています:
ゲノミクス データベース:
- Ensembl: 遺伝子注釈と変異の結果
- dbSNP: 変異識別子と集団頻度
- gnomAD: 集団アレル頻度
機能的リソース:
- Open Targets: ターゲット-疾患関連
- PGS Catalog: 多遺伝子リスクスコア
- UCSC Genome Browser: ゲノム文脈
表現型リソース:
- EFO (Experimental Factor Ontology): 標準化された形質用語
- OMIM: 疾患遺伝子関係
- Disease Ontology: 疾患階層
API 応答のリンクを追従:
import requests
# API 応答には関連リソースの _links が含まれます
response = requests.get("https://www.ebi.ac.uk/gwas/rest/api/studies/GCST001234")
study = response.json()
# 関連のリンクを追従
associations_url = study['_links']['associations']['href']
associations_response = requests.get(associations_url)
クエリワークフロー
ワークフロー 1: 疾患の遺伝的関連の探索
-
EFO 用語またはフリーテキストを使用して形質を特定:
- Web インターフェースで疾患名を検索
- EFO ID を記録 (例: 2型糖尿病の場合 EFO_0001360)
-
API 経由で関連をクエリ:
url = f"https://www.ebi.ac.uk/gwas/rest/api/efoTraits/{efo_id}/associations" -
有意性と集団でフィルタリング:
- p 値をチェック (ゲノムワイド有意: p ≤ 5×10⁻⁸)
- 研究メタデータで祖先情報を確認
- サンプルサイズまたは発見・反復ステータスでフィルタリング
-
変異詳細を抽出:
- 各関連の rs ID
- 効果アレルと方向
- 効果量 (オッズ比、ベータ係数)
- 集団アレル頻度
-
他のデータベースとクロスリファレンス:
- Ensembl で変異の結果を検索
- gnomAD で集団頻度をチェック
- 遺伝子機能とパスウェイを探索
ワークフロー 2: 特定の遺伝子変異の調査
-
変異をクエリ:
url = f"https://www.ebi.ac.uk/gwas/rest/api/singleNucleotidePolymorphisms/{rs_id}" -
すべての形質関連を取得:
url = f"https://www.ebi.ac.uk/gwas/rest/api/singleNucleotidePolymorphisms/{rs_id}/associations" -
多面性を分析:
- この変異に関連するすべての形質を特定
- 形質全体での効果方向を確認
- 共通の生物学的パスウェイを検索
-
ゲノム文脈をチェック:
- 近くの遺伝子を決定
- 変異がコーディング・制御領域にあるかを特定
- 他の変異との連鎖不平衡を確認
ワークフロー 3: 遺伝子中心の関連解析
-
Web インターフェースで遺伝子シンボルで検索、または:
url = f"https://www.ebi.ac.uk/gwas/rest/api/singleNucleotidePolymorphisms/search/findByGene" params = {"geneName": gene_symbol} -
遺伝子領域の変異を取得:
- 遺伝子の染色体座標を取得
- 領域内の変異をクエリ
- プロモーターと制御領域を含める (境界を拡張)
-
関連パターンを分析:
- この遺伝子の変異に関連する形質を特定
- 研究全体で一貫した関連を検索
- 効果量と方向を確認
-
機能的解釈:
- 変異の結果を決定 (ミスセンス、制御など)
- 発現 QTL (eQTL) データをチェック
- パスウェイとネットワークの文脈を確認
ワークフロー 4: 遺伝的証拠の系統的レビュー
-
研究質問を定義:
- 関心のある特定の形質または疾患
- 集団に関する考慮
- 研究デザイン要件
-
包括的な変異抽出:
- 形質のすべての関連をクエリ
- 有意性閾値を設定
- 発見と反復研究を記録
-
品質評価:
- 研究サンプルサイズを確認
- 集団多様性をチェック
- 研究全体で不均一性を評価
- 潜在的なバイアスを特定
-
データ統合:
- 研究全体で関連を集約
- 適用可能な場合はメタ分析を実施
- 要約表を作成
- Manhattan または forest プロットを生成
-
エクスポートと文書化:
- 完全な関連データをダウンロード
- 必要に応じて Summary Statistics をエクスポート
- 検索戦略と日付を文書化
- 再現可能な分析スクリプトを作成
ワークフロー 5: Summary Statistics へのアクセスと分析
-
Summary Statistics を備えた研究を特定:
- Summary Statistics ポータルを閲覧
- FTP ディレクトリリストをチェック
- 利用可能な研究についての API をクエリ
-
Summary Statistics をダウンロード:
# FTP 経由 wget ftp://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCSTXXXXXX/harmonised/GCSTXXXXXX-harmonised.tsv.gz -
特定の変異について API 経由でクエリ:
url = f"https://www.ebi.ac.uk/gwas/summary-statistics/api/chromosomes/{chrom}/associations" params = {"start": start_pos, "end": end_pos} -
処理および分析:
- p 値閾値でフィルタリング
- 効果量と信頼区間を抽出
- 下流分析を実施 (fine-mapping、colocalization など)
応答フォーマットとデータフィールド
関連レコード内のキーフィールド:
rsId: 変異識別子 (rs 番号)strongestAllele: 関連のリスクアレルpvalue: 関連 p 値pvalueText: テキストとしての p 値 (不等号を含む場合がある)orPerCopyNum: オッズ比またはベータ係数betaNum: 効果量 (定量形質の場合)betaUnit: ベータの測定単位range: 信頼区間efoTrait: 関連形質名mappedLabel: EFO マップされた形質用語
研究メタデータフィールド:
accessionId: GCST 研究識別子pubmedId: PubMed IDauthor: 第一著者publicationDate: 出版日ancestryInitial: 発見集団祖先ancestryReplication: 反復集団祖先sampleSize: 合計サンプルサイズ
ページネーション: 結果はページ分割されています (1 ページあたりデフォルト 20 項目)。以下を使用して移動:
sizeパラメータ: 1 ページあたりの結果数pageパラメータ: ページ番号 (0 から始まる)- 応答の
_links: 次・前ページの URL
ベストプラクティス
クエリ戦略
- Web インターフェースで開始して、関連する EFO 用語と研究アクセッションを特定
- API をバルク データ抽出と自動分析に使用
- 大規模な結果セットのページネーション処理を実装
- 不要なリクエストを最小化するため API 応答をキャッシュ
データ解釈
- 常に p 値閾値をチェック (ゲノムワイド: 5×10⁻⁸)
- 祖先情報を確認して集団適用可能性を確認
- 証拠強度を評価する際のサンプルサイズを考慮
- 独立した研究全体で反復を確認
- 効果量推定の winner's curse に注意
レート制限とエシックス
- API 使用ガイドラインを尊重 (過度なリクエストを回避)
- ゲノムワイド分析には Summary Statistics ダウンロードを使用
- API 呼び出し間に適切な遅延を実装
- 反復分析を実施する場合はローカルに結果をキャッシュ
- 出版物で GWAS Catalog を引用
データ品質に関する考慮
- GWAS Catalog は公開された関連をキュレート (矛盾を含む可能性)
- 公開された通りに報告された効果量 (調和化が必要な場合がある)
- 一部の研究は条件付きまたは結合関連を報告
- 結果を組み合わせる際は研究重複をチェック
- 集計と選択バイアスに注意
Python 統合例
GWAS データをクエリおよび分析するための完全なワークフロー:
import requests
import pandas as pd
from time import sleep
def query_gwas_catalog(trait_id, p_threshold=5e-8):
"""
Query GWAS Catalog for trait associations
Args:
trait_id: EFO trait identifier (e.g., 'EFO_0001360')
p_threshold: P-value threshold for filtering
Returns:
pandas DataFrame with association results
"""
base_url = "https://www.ebi.ac.uk/gwas/rest/api"
url = f"{base_url}/efoTraits/{trait_id}/associations"
headers = {"Content-Type": "application/json"}
results = []
page = 0
while True:
params = {"page": page, "size": 100}
response = requests.get(url, params=params, headers=headers)
if response.status_code != 200:
break
data = response.json()
associations = data.get('_embedded', {}).get('associations', [])
if not associations:
break
for assoc in associations:
pvalue = assoc.get('pvalue')
if pvalue and float(pvalue) <= p_threshold:
results.append({
'variant': assoc.get('rsId'),
'pvalue': pvalue,
'risk_allele': assoc.get('strongestAllele'),
'or_beta': assoc.get('orPerCopyNum') or assoc.get('betaNum'),
'trait': assoc.get('efoTrait'),
'pubmed_id': assoc.get('pubmedId')
})
page += 1
sleep(0.1) # Rate limiting
return pd.DataFrame(results)
# Example usage
df = query_gwas_catalog('EFO_0001360') # Type 2 diabetes
print(df.head())
print(f"\nTotal associations: {len(df)}")
print(f"Unique variants: {df['variant'].nunique()}")
リソース
references/api_reference.md
両方の API を含む包括的な API ドキュメント:
- 詳細なエンドポイント仕様
- クエリパラメータとフィルタの完全なリスト
- 応答形式仕様とフィールド説明
- 高度なクエリ例とパターン
- エラー処理とトラブルシューティング
- 外部データベースとの統合
以下の場合にこのリファレンスを参照:
- 複雑な API クエリを構築
- 応答構造を理解
- ページネーションまたはバッチ操作を実装
- API エラーをトラブルシューティング
- 高度なフィルタリングオプションを探索
トレーニング資料
GWAS Catalog チームが提供するワークショップ資料:
- GitHub リポジトリ: https://github.com/EBISPOT/GWAS_Catalog-workshop
- クエリ例を含む Jupyter ノートブック
- クラウド実行の Google Colab 統合
重要な注釈
データ更新
- GWAS Catalog は新しい出版物で定期的に更新
- 包括的なカバレッジについてクエリを定期的に再実行
- Summary Statistics は研究がデータをリリースするたびに追加
- EFO マッピングは時間とともに更新される場合がある
引用要件
GWAS Catalog データを使用する場合は引用:
- Sollis E, et al. (2023) The NHGRI-EBI GWAS Catalog: knowledgebase and deposition resource. Nucleic Acids Research. PMID: 37953337
- 利用可能な場合はアクセス日とバージョンを含める
- 特定の知見について議論する場合は元の研究を引用
制限
- すべての GWAS 論文が含まれるわけではない (キュレーション基準が適用)
- 完全な Summary Statistics は研究のサブセットに対して利用可能
- 効果量は研究間で調和化が必要な場合がある
- 集団多様性は増加していますが、歴史的には限定的
- 一部の関連は条件付きまたは結合効果を表す
データアクセス
- Web インターフェース: 無料、登録不要
- REST API: 無料、API キー不要
- FTP ダウンロード: オープンアクセス
- API にはレート制限が適用 (尊重してください)
追加リソース
- GWAS Catalog ウェブサイト: https://www.ebi.ac.uk/gwas/
- ドキュメント: https://www.ebi.ac.uk/gwas/docs
- API ドキュメント: https://www.ebi.ac.uk/gwas/rest/docs/api
- Summary Statistics API: https://www.ebi.ac.uk/gwas/summary-statistics/docs/
- FTP サイト: http://ftp.ebi.ac.uk/pub/databases/gwas/
- トレーニング資料: https://github.com/EBISPOT/GWAS_Catalog-workshop
- PGS Catalog (多遺伝子スコア): https://www.pgscatalog.org/
- ヘルプとサポート: gwas-info@ebi.ac.uk
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。