Skip to content

把三个 A 级候选放到转录层与甲基化层重测

这一层为什么必须做

血浆 pQTL 测的不是蛋白分子数,而是抗体或适配体的结合信号。靶蛋白自身的错义变异会 改变结合力,被读成"丰度变化"——APOL1 的表位伪影就是这么来的。

eQTL 测的是 mRNA,全程不经过任何结合反应,对表位伪影免疫。 所以这一层不是"再加一层证据",而是对第一层的独立检验。

〇、做了什么

数据结局方法
转录层eQTLGen 血液 cis-eQTL(N≤31,684)FinnGen R9 黄斑病变 / 视网膜病变 / T2D(易感性对照)MR(Wald/IVW + Egger/WM)+ Steiger + coloc.abf
甲基化层US_Blood mQTL同上SMR + HEIDI
跨层同变异对齐plink LD + 等位对齐后符号比较

代码:multiomics-mr/07_r9dm/07a07h

一、工具覆盖:三个基因全部可分析

07_r9dm/eqtl_gene_coverage.csv

基因cis-eQTL 数(FDR<0.05)F≥10 后最小 p顶点 SNP最大 F状态
IFNAR17997991.9×10⁻³⁰³rs81785761386可分析
ERMAP135413543.3×10⁻³¹⁰rs112107313906可分析
APOL11261268.5×10⁻⁶⁰rs76406801266可分析

没有一个是"无工具"——这一层的阴性结果是真阴性,不是没测

二、转录层 MR 主结果

07_r9dm/eqtl_mr_r9dm_full.csv

基因结局角色nSNPbsepFDRPP.H4Steiger
IFNAR1黄斑病变44+0.1930.0473.5×10⁻⁵1.8×10⁻⁴0.235
IFNAR1视网膜病变44+0.0720.0265.2×10⁻³0.01550.011
IFNAR1T2D对照44+0.0450.0114.0×10⁻⁵0.012
APOL1黄斑病变6−0.3800.2450.1210.2720.984
APOL1视网膜病变6−0.1290.1130.2530.4560.501
APOL1T2D对照6+0.0250.0490.6170.009
ERMAP黄斑病变41−0.0370.0420.3780.5290.011
ERMAP视网膜病变41−0.0170.0210.4110.5290.010
ERMAPT2D对照41+0.0080.0120.5050.005

三、★ 先别急着读方向:两层用的不是同一个变异

这是最容易读错的地方。把 eQTL 顶点与血浆 pQTL 哨兵拿去 plink 算 LD:

07_r9dm/cross_layer_ld.csv(1000G EUR,n=503)

基因eQTL 顶点pQTL 哨兵D'
IFNAR1rs8178576rs9141420.0951.00
ERMAPrs11210731rs112107100.0310.38
APOL1rs76406801rs136168该 SNP 不在 1000G 面板

两层各自的最强信号基本独立。 所以表二里 IFNAR1 的 b=+0.193 与血浆层的 b=−0.246不构成"矛盾"——它们测的是同一个基因区里两个不同的调控信号。

这是普遍现象,不是我们数据的毛病

UKB-PPP 原文即报告:只有一小部分血浆 cis-pQTL 与对应基因的全血 cis-eQTL 由同一个因果变异驱动。 血浆 pQTL 测的是细胞外蛋白,血液 eQTL 测的主要是白细胞内 RNA,两者分离是常态。 (UKB-PPP, bioRxiv 2022Nat Genet 2024 fine-mapped eQTL/pQTL

四、干净的比较:同一个变异,mRNA 与蛋白往哪走

把血浆层用的那个哨兵 SNP 本身拿去 eQTLGen 查,等位对齐后比符号。 这是唯一能真正回答"转录与蛋白是否一致"的做法。

07_r9dm/same_variant_cross_layer.csv

基因哨兵效应等位血浆蛋白 β同等位 mRNA ZmRNA p同向?
APOL1rs136168A−0.318+15.634.9×10⁻⁵⁵
ERMAPrs11210710T−0.091−5.749.7×10⁻⁹
IFNAR1rs914142A−0.450+21.959.1×10⁻¹⁰⁷

一个必须说清的技术点

在同一个 SNP 上,两层 MR 的分子(疾病 β)完全相同, 所以"MR 估计符号相反"是暴露侧符号翻转的算术后果,本身不含任何额外信息。 真正的信息量只在"同一等位下 mRNA 与血浆蛋白反向"这一件事本身。 07_r9dm/matched_single_variant_mr.csv 把这一点显式算了出来,避免把同一件事重复计为两条证据。

五、逐个候选的结论

5.1 APOL1:转录层站在 SomaScan 一边,成为撤回的第三条独立证据

同一个等位(rs136168-A)下:

测量对象方向
mRNA(eQTLGen,p=4.9×10⁻⁵⁵)
SomaScan 适配体 11510_31(p=1.8×10⁻²⁵¹)(+0.378)
Olink 抗体(UKB-PPP)(−0.318)

三个测量里两个说"升高",只有 Olink 抗体说"降低"。 加上 rs136168 与错义变异 rs2239785(K150E) r²=1.000指向 Olink 抗体的结合表位被 K150E 扰动这一解释。撤回结论进一步加固。

这一类现象已有系统性估计,可直接引用

Epitope Effect Prevalence in Affinity-based pQTL studies(bioRxiv 2025) 在 UKB / deCODE / Fenland 共 5,817 个靶点中:两平台都测到 cis-pQTL 的有 914 个蛋白, 其中 301 个(33%)与错义变异连锁37 个蛋白在两平台方向相反85 个蛋白的错义 pQTL 只在单平台显著。作者结论是错义介导的表位效应影响 不超过 12% 的 cis-pQTL 结果。

APOL1 正好同时落在这两类里:主适配体与抗体方向相反(37 类), 第二适配体 9506_10 无信号(p=0.176,85 类)。这不是我们数据的孤例,是有命名的已知现象。

但表位效应的比例有两个互相冲突的已发表估计,写作时必须两个都给:

来源估计口径
bioRxiv 2025(上文)≤12%错义介导的表位效应
Eldjarn 2023 NatureOlink 约 23%、SomaScan 约 24%表位效应总体(含非错义机制)

两者差近一倍,只引 12% 会低估这个问题的普遍性

一个我们无法完全排除的替代解释

Eldjarn 2023 明确指出:平台间方向不一致也可能源于蛋白异构体(proteoform), 而非试剂结合被扰动——他们以神经丝轻链(NFL)为例(Olink OR=1.64 vs SomaScan OR=0.53), 并写明"我们没有关于两个平台各自测到哪种异构体的信息"。

我们判定 APOL1 为表位伪影,靠的是两条异构体解释不易给出的证据: ① 工具与 K150E 错义变异 r²=1.000;② 同一蛋白的第二条适配体完全无信号,且两个独立队列一致 (deCODE p=0.176 / ARIC p=0.694)。但异构体机制我们的数据无法完全排除,须写进讨论。

★ 另一条独立佐证:deCODE 自己的补充表 ST19 就把 rs2239785 列为 APOL1 适配体 11510-31 的 cis 哨兵之一,其 LD class 中明确含 rs136168(我们的工具),并标注 any coding same gene = Ycis eQTL coding genes = APOL1 (e); APOL1 (c)deCODE 自己标记了这个位点涉及 APOL1 编码变异,同时独立印证了我们算出的 r²=1.000。

至于转录层自身的 MR:b=−0.380 但 p=0.121,不显著(只有 6 个工具)。 coloc PP.H4=0.984 看似很高,但见第七节的限制说明,不能单独当判据。

5.2 ERMAP:新增两条硬伤,降级理由从 8 条变成 10 条

07_r9dm/ermap_demotion_evidence.csv

转录层本身是阴性(b=−0.037,p=0.378;PP.H4=0.011 不共定位)。 但这次真正的新发现在基因归属上:

⑦ 哨兵 rs11210710 是 6 个基因的 cis-eQTL,而 ERMAP 是其中最弱的一个:

eGeneZp
CCDC2394.023.3×10⁻³¹⁰
RP5-994D16.920.641.3×10⁻⁹⁴
LEPRE1−19.951.5×10⁻⁸⁸
ZMYND128.551.3×10⁻¹⁷
SLC2A1-AS16.167.4×10⁻¹⁰
ERMAP−5.749.7×10⁻⁹

⑧ 我们自己流水线的生信注释,把这个变异归给了 CLDN19(upstream_gene_variant),不是 ERMAP。

⑨(★2026-08-03 新增)SomaScan 上的 cis-pQTL 不存在:deCODE n=35,367,p=0.619, 完全没有信号;ARIC p=0.0029 也过不了 cis 区 Bonferroni(1.9×10⁻⁵)。

⑩(★2026-08-03 新增)两个平台对 ERMAP 的测量互不相关Eldjarn 2023 ST6同一批人身上 同时用两个平台测同一蛋白,ERMAP 的相关性只有 r = −0.026(p=0.33,不显著)—— 对比 APOL1 的 0.687、IFNAR1 的 0.188。

ERMAP 的问题性质要改写

之前的说法是"效应弱、衰减可疑"。加上⑨⑩之后,正确的说法是: 两个平台测的根本不是同一个东西,ERMAP 的问题在测量本身。

合计:反对 10 条、支持 1 条(同变异跨层同向)、中性 1 条(单细胞图谱覆盖受限)。 ERMAP 的降级不再是"衰减可疑",而是连"这个信号属于 ERMAP"本身都站不住

5.3 IFNAR1:转录层没能给它加分,但也没有推翻它

先说清楚三件事,一件都不能省:

(a) 同变异下 mRNA 与血浆蛋白反向(Z=+21.9 vs β=−0.450)。 这看着刺眼,但按第三节引的文献,分子层与蛋白层方向不一致在全基因组是普遍现象, 被归因于蛋白降解、遗传缓冲等机制。所以这一条不能当作反对 IFNAR1 的证据, 它的作用是:转录层无法为血浆层提供佐证

(b) 转录层自身的 MR 显著(b=+0.193,FDR=1.8×10⁻⁴),但共定位不支持: PP.H4=0.235 而 PP.H3=0.466,即更倾向"两个不同的因果变异被 LD 串在一起"。 与第三节的 r²=0.095 一致。

(c) 糖尿病易感性对照也显著: T2D 的 b=+0.045(p=4.0×10⁻⁵)。 黄斑病变的效应量是它的 4.3 倍,所以不是纯粹的糖尿病易感性效应, 但存在糖尿病本身的成分,写作时必须披露

一条对 IFNAR1 有利的排除

干扰素受体基因簇(chr21)在血浆层的邻居都是阴性: IFNGR2 p=0.184、IL10RB p=0.919(各自用自己的哨兵)。 所以血浆 IFNAR1 的信号不是整段区域的 LD 假象。 另外 rs914142 在 eQTLGen 里的最强 eGene 就是 IFNAR1 本身(Z=−21.9,次强 ITSN1 仅 −10.8), 基因归属比 ERMAP 干净得多。

★ 2026-08-03 更新:跨平台已完成,IFNAR1 通过

原文此处写"最终判定取决于 deCODE 跨平台复制,该文件仍在下载"。现已测完:

效应等位 A 的效应pn
Olink 抗体(UKB-PPP)−0.45034,557
SomaScan · deCODE−0.16631.05×10⁻⁶⁹35,380
SomaScan · ARIC−0.39178.0×10⁻⁹⁹7,213

三方同向,ΔEAF=0.034 对齐可信 → 不是表位伪影,IFNAR1 是三个候选里唯一全部通过的。 量级差异属队列间常态,跨平台只比方向。详见 APOL1 页第五节

一次虚惊也已排除:deCODE 表里 IFNAR1 的 6 个 cis-pQTL 有 4 个标注与 IFNAR1 编码变异连锁, 但我们的工具 rs914142 与其中最强的 rs2257167 只有 r²=0.058,另两个 MAF 仅 1.95%/0.24% 无法标记 MAF 27% 的变异。

六、甲基化层:SMR + HEIDI

6.1 判据必须是三分类,不是两分类

SMR 会对每个探针输出 p_HEIDI。HEIDI 检验的含义是: p>0.05 = 通过 = 支持"单一共享变异";p≤0.05 = 更像"两个不同变异被 LD 串在一起"。

但还有第三种情况——p_HEIDI 是 NA,算不出来(区域内工具 SNP 太少)。

我们自己写的判据把第三种当成了第一种

本项目原有脚本两处03d_parse_smr.R04_integrate.R L81)都写的是:

r
heidi_pass := is.na(p_HEIDI) | p_HEIDI > 0.05    # ← NA 被当成通过

"算不出来"不等于"排除了连锁",恰恰相反,是无法排除。 这是本项目反复栽的同一类错误(没测 vs 测了没有), 这次栽在自己的判据里。已改为三分类:pass / fail_linkage / not_evaluablenot_evaluable 不计入稳健,但单独存进 smr_heidi_not_evaluable.csv,不让它消失。

6.2 这个 bug 对旧的 DR/AMD 结论有多大影响(实测)

结局严格判据稳健命中旧口径多算虚高比例
DR191+14843.7%
AMD(FinnGen)204+6825.0%
AMD(IAMDGC 2.0)340+8319.6%

13 个目标基因层面的变化:

结局旧说法严格判据后扣除 MHC 后可用
DRAGER + TNXB(2 个)TNXB(1 个)0 个(结论仍为阴性,未变)
AMD(FinnGen)APOE/CASP10/TNFRSF10A/AGER/TNXB(5 个)CASP10/TNFRSF10A/TNXB(3 个)CASP10 + TNFRSF10A(2 个)
AMD(IAMDGC)TNFRSF10A/TNXB(2 个)TNFRSF10A(1 个)

完全掉出的:AGER(三个结局全掉)、APOE(AMD 两个结局全掉)。

主结论没有动摇

multiomic_evidence_matrix.csv 重跑后,CASP10 与 TNFRSF10A 仍是 n_layers=3, 三组学收敛的核心结论不变。变化是 APOE 失去甲基化层(AMD 的 n_layers 由 2 降为 1) 与 AGER 失去甲基化层。热图上 APOE-AMD 的甲基化格子已改标 HEIDI n/a不是"无证据",是"测不出来"

6.3 三个 R9 候选在甲基化层的表现

窗口取每个基因 ±1Mb,覆盖情况显式记录(07_r9dm/smr_r9_coverage.csv): APOL1 区 204 个探针、ERMAP 区 159 个、IFNAR1 区 145 个——没有一个是零覆盖

黄斑病变结局下,三个候选区内 SMR FDR<0.05 的只有 3 条

候选探针探针注释基因是候选基因本身?b_SMRp_SMRFDRp_HEIDI判定
IFNAR1cg00207965IFNAR1−1.2731.9×10⁻⁴0.01760.135稳健
APOL1cg16121206APOL2+3.4554.6×10⁻⁴0.03846.2×10⁻⁴未通过(连锁)
APOL1cg10543947APOL2+4.8724.7×10⁻⁴0.0390NA不可评估
  • IFNAR1 拿到唯一一条稳健命中:探针 cg00207965 位于 chr21:34,697,220, 落在 IFNAR1 基因体 5' 端(34,696,734–34,732,168)的启动子区,HEIDI 用 20 个 SNP 检验、p=0.135 通过。
  • APOL1 的两条都不能用:探针注释是 APOL2 不是 APOL1,且一条 HEIDI 失败、一条算不出来。
  • ERMAP 区内没有一条 FDR<0.05。窗内最强的几条注释到 SLC2A1 / KDM4A / LEPRE1, 又一次不是 ERMAP 本身——与第 5.2 节的基因归属问题一致。

6.4 ★ 但这一条不能用来给 IFNAR1 定方向

b_SMR = −1.273 说的是"甲基化升高→风险降低"。要翻译成表达方向, 必须知道该 CpG 与 IFNAR1 表达的关系。我们查了本地视网膜 eQTM 资源:

  • cg00207965 不在表内
  • IFNAR1 在表内的 top CpG 是 cg10412497,但 p.adj = 0.233,本身不显著

所以本地资源无法确定方向。 而且窗内另一个注释为 IFNAR1 的探针 cg00622702 (chr21:34,727,950,基因 3' 端)符号相反(b_SMR=+7.577,FDR=0.104 不显著)。

正确表述

甲基化层给 IFNAR1 的是位点层面的支持——IFNAR1 启动子区甲基化与黄斑病变 共享同一因果变异(HEIDI 通过)。它不能用来判断"IFNAR1 高好还是低好"。 不要把 b_SMR 的符号直接读成表达方向。

补充两条一致性信息:

  • 该 mQTL 顶点 rs17875806 与血浆 pQTL 哨兵 rs914142r² = 0.448、D' = 0.992 ——比 eQTL 顶点(r²=0.095)近得多,说明甲基化层与血浆层至少部分共享信号。
  • 同一探针在视网膜病变结局上 b_SMR=−0.351、p=0.085(同号但不显著,衰减约 3.6 倍), 与血浆层"黄斑强、糖网弱"的模式一致。

七、方法学修正:Steiger 的单位在这一层也是坏的

multiomics-mr/01b 从建立起就直接调用 directionality_test() 而没有设置 units, 与 mr-pipeline 的 Phase 0.1 缺陷完全同源。本次一并修好并实测验证生效

07_r9dm/steiger_units_check.csv(IFNAR1×黄斑病变,44 个工具)

旧(未设单位,按连续量算)新(units="log odds" + ncase/ncontrol/prevalence)倍数
rsq.outcome 中位数1.754×10⁻⁶2.386×10⁻⁵13.77×

提示信息不能当验证

TwoSampleMR 无论设没设单位都会打印 "assuming all are quantitative traits" 这句提示。 所以判断分支有没有走对,只能比对 rsq.outcome 的数值,不能看有没有报这句话。 本次两种设置下 Steiger 判定均为 TRUE,结论未变,但数值链路已经对了。

八、这一层的限制(必须写进正文)

  1. coloc 的暴露侧被截断。 eQTLGen 公开文件只含 FDR<0.05 的 SNP, 区域内的零效应 SNP 缺失,会扭曲 coloc.abf 的后验。 故本层 PP.H4 只作提示,不作判据——APOL1 的 0.984 尤其不能直接当"强共定位"用。
  2. 组织不匹配。 eQTLGen 是全血;疾病发生在视网膜。 血液 mRNA 与视网膜的关系是间接的。
  3. APOL1 只有 6 个工具,IVW 不稳,p=0.121 的阴性也可能只是功效不足。
  4. eQTLGen 的 β 由 Z 分数还原sqrt(2p(1-p)(N+z²))),不是原始效应量。

相关页面

个人科研与运维文档 · 内容持续修订