GWAS Catalog(EMBL-EBI 与 NHGRI 维护)系统收录已发表的全基因组关联研究结果。它是最上游的原始数据源——Open Targets Genetics 等平台的分析都建立在它之上。需要追溯到原始关联、或做自定义分析时,就要直接用它。
数据结构
| 字段 | 含义 |
|---|---|
| STUDY ACCESSION | 研究编号(GCST 开头) |
| DISEASE/TRAIT | 研究的性状或疾病 |
| MAPPED_TRAIT | 映射到 EFO 本体的标准术语 |
| SNPS | 关联变异(rsID) |
| CHR_ID / CHR_POS | 染色体位置 |
| P-VALUE | 关联显著性 |
| OR or BETA | 效应量(比值比或回归系数) |
| RISK ALLELE FREQUENCY | 风险等位基因频率 |
| MAPPED_GENE | 按位置映射的基因(仅供参考,见下文) |
| INITIAL SAMPLE SIZE | 样本量与人群构成 |
取数
# 全量下载
wget https://www.ebi.ac.uk/gwas/api/search/downloads/full -O gwas_catalog.tsv
# REST API 按性状查询
curl "https://www.ebi.ac.uk/gwas/rest/api/efoTraits/EFO_0001360/associations"
import pandas as pd
df = pd.read_csv("gwas_catalog.tsv", sep="\t", low_memory=False)
# 筛某疾病的全基因组显著关联
t2d = df[(df["MAPPED_TRAIT"].str.contains("type II diabetes", na=False)) &
(df["P-VALUE"] < 5e-8)] # 标准显著性阈值
print(t2d[["SNPS", "MAPPED_GENE", "P-VALUE", "OR or BETA",
"INITIAL SAMPLE SIZE"]].head(20))
5×10⁻⁸ 是全基因组显著性的标准阈值,来自对约 100 万个独立检验的 Bonferroni 校正。低于这个阈值的关联需谨慎对待(除非有独立重复验证)。
MAPPED_GENE 的陷阱
这一列是按基因组位置最近邻映射的结果,不是因果基因。前面提过,约 90% 的 GWAS 变异在非编码区,调控元件可以跨越很远作用。直接把 MAPPED_GENE 当靶点是这个领域最常见的错误。
正确的做法是走完整的链条:
- 1. 精细定位(fine-mapping):在 LD 区块内确定最可能的因果变异及其可信集合。
- 2. 功能注释:变异落在什么调控元件上、在哪些组织中活跃。
- 3. QTL 共定位:该变异是否也是某基因的 eQTL/pQTL,且信号共定位。这是最有分量的一步。
- 4. 染色质互作:Hi-C 等数据显示的物理接触。
- 5. 功能验证:CRISPR 编辑该位点,看目标基因表达是否改变。
这条链条正是 Open Targets Genetics 的 L2G 打分(见 250《Open Targets Genetics》)在自动化做的事。除非要做自定义分析,直接用 L2G 结果比自己从 GWAS Catalog 推更可靠。
解读 GWAS 结果的几条纪律
- 效应量通常很小:常见变异的 OR 多在 1.05~1.3 之间。这说明该基因参与疾病过程,但不说明药物干预能有多大效果——药物的抑制强度远超一个常见变异的效应。
- 看样本量与人群:小样本研究的关联重复性差。同时注意人群构成,GWAS 严重偏向欧洲血统人群。
- 关注方向性:风险等位基因是增加还是降低基因功能?这决定了应该抑制还是激活该靶点。方向搞反的后果是致命的。
- 罕见变异更有价值:外显子组测序发现的功能丧失变异,效应量大、方向明确,对靶点验证的价值远高于常见变异关联。
- Summary statistics:越来越多研究提供完整的汇总统计量,做共定位和孟德尔随机化需要这个,而不只是显著位点列表。
关键要点
- MAPPED_GENE 是位置最近邻,不是因果基因,直接当靶点是常见错误;
- 从关联到靶点需要走完精细定位 → QTL 共定位 → 功能验证的链条;
- 常见变异效应量小,提示方向而非可达疗效幅度;
- 务必确认风险等位基因是增强还是削弱基因功能,方向不能搞反。
延伸资源
- 整合分析平台:250《Open Targets Genetics》、249《Open Targets Platform》;
- 临床变异:253《ClinVar》;遗传病:254《OMIM》;
- 疾病-基因关联:251《DisGeNET》。