Github开源生信云平台 DEMO
LD r² < 0.1
Supplementary Table S8 的核心工作其实就是:
Supplementary Table S8
对 Table S7 中得到的 207 个关联 SNP 进行 LD(Linkage Disequilibrium,连锁不平衡)clumping,去除彼此高度相关的 SNP,只保留每个独立关联区域(locus)中最有代表性的一个 SNP(lead SNP)。
论文正文实际上也写到了:
“A total of 207 SNPs were significantly associated ... under the suggestive significance level of 1×10⁻⁵. Following linkage disequilibrium (LD)-based clumping (LD r² < 0.1), we finally identified 41 lead SNPs.” (PMC)
作者首先做 microbiome GWAS。
对于每一个 SNP,都会得到类似:
然后按照
P < 1 × 10^-5
筛选。
于是得到
所有满足 P < 1e-5 的 SNP ↓ 207 个 SNP
这些就是 Supplementary Table S7。
但是这里有一个问题:
很多 SNP 实际上位于同一个基因区域,而且由于 LD,它们高度相关。
例如:
chr1 rs1001 rs1002 rs1003 rs1004 rs1005
这些 SNP 可能:
r² = 0.95
其实代表的是同一个遗传信号。
如果全部保留,就重复计算了。
LD clumping 的目标就是:
每个关联区域只留下一个代表 SNP。
chr1 rs1001 P=2e-8 rs1002 P=4e-7 rs1003 P=8e-6 rs1004 P=5e-5
如果
r²(rs1001, rs1002)=0.93 r²(rs1001, rs1003)=0.81
说明它们几乎一起遗传。
那么只保留:
rs1001
因为它 P 最小(最显著)。
其它全部归到它的 clump。
PLINK 的 --clump 基本流程就是:
--clump
按 P-value 排序 ↓ 取最显著 SNP 作为 index SNP ↓ 寻找窗口内 与它 LD 很高(r²超过阈值) 的 SNP ↓ 全部标记为同一个 clump ↓ 删除这些 SNP ↓ 继续处理剩余 SNP ↓ 直到结束
因此最终每个 clump 只有一个 lead SNP。
因为:
207 个显著 SNP
实际上并不是 207 个独立信号。
很多都聚集在同一个 locus。
举个简单例子:
207 SNP ↓ Cluster1 有8个 Cluster2 有12个 Cluster3 有5个 Cluster4 有9个 ...
最后可能变成:
Cluster1 → lead rsA Cluster2 → lead rsB Cluster3 → lead rsC ... 总共 41 个 cluster
因此:
207 SNP LD clumping ──────────────► 41 lead SNP
也就是说:
41 代表 41 个独立关联位点(independent association signals),而不是随机挑出来的 41 个 SNP。 (PMC)
论文写的是:
LD-based clumping (LD r² < 0.1)
意思就是:
如果两个 SNP
r² ≥ 0.1
认为它们相关,不独立。
只保留其中最显著的一个。
r² < 0.1
认为它们足够独立,可以同时保留。
rs1 P=1e-8 rs2 P=3e-7 r²=0.75
结果:
保留 rs1 删除 rs2
但如果
r²=0.02
则:
保留 rs1 保留 rs2
因为它们代表两个独立信号。
Table S8 并不是简单地复制 Table S7,而是:
假设 GWAS summary 为 gwas.txt:
gwas.txt
plink \ --bfile reference_panel \ --clump gwas.txt \ --clump-p1 1e-5 \ --clump-p2 1e-5 \ --clump-r2 0.1 \ --clump-kb 250 \ --out result
输出的 result.clumped 中,每个 INDEX SNP(索引 SNP)就是一个 lead SNP。在这篇论文里,经过这种 LD 去冗余后,207 个显著 SNP 被归并成了 41 个相互独立的 lead SNP。实际窗口大小(--clump-kb)取决于作者设置,但核心逻辑就是“按 P 值优先、按 LD 合并,只保留每个 LD 区块中最显著的 SNP”。
result.clumped
INDEX SNP
--clump-kb