Skip to content

视网膜 eQTL:给 A 级候选补眼组织证据

目的:三个 A 级候选(ERMAP / IFNAR1 / APOL1)此前只有血浆蛋白单细胞表达两层证据, 缺眼组织的因果遗传证据。本页用 Advani 2024 的视网膜 cis-eQTL(403 眼) 对 FinnGen R9 的糖尿病黄斑病变与糖网做 MR + 共定位。

结论与做之前的预期几乎完全相反,两处都要看清楚: ① ERMAP 的视网膜 eQTL 与黄斑病变共定位(PP.H4 = 0.95),但方向与血浆层相反;② IFNAR1 —— 原以为"唯一有组织证据"的那个 —— 视网膜 eQTL 层完全阴性。

★ 2026-07-31 订正:本页初版把 ① 说过头了

初版写成"ERMAP 拿到了强共定位""第一次有眼组织层的因果遗传证据"。 经第二轮核查,方向是真的(五项独立核查全过,见第三节), 但强度远不到那个程度,两条硬约束当时没查:

  1. Advani 的 ERMAP eQTL 在独立队列 Strunz 里没有复制—— Strunz 中 ERMAP 0 条 p<1e-4,而同一文件里 MERTK 有 209 条(最强 9.3e-7), 说明 Strunz 有功效、只是看不到 ERMAP 的 eQTL;
  2. 疾病侧在该区没有任何全基因组显著位点—— chr1:42.5–43.9 Mb 内 p<5e-8 的位点数为 0,最强就是 rs11210710 的 p=2.43e-5。 所以 PP.H4 = 0.949两个亚阈值信号之间的共定位。

正确表述:视网膜 eQTL 与黄斑病变在同一变异上共定位、方向与血浆层相反, 属**提示性(suggestive)**发现;不能写成"强共定位"或"拿到了组织层因果证据"。

产物:multiomics-mr/05_retina/05d_retina_eqtl_r9dm.R(分析)、05e_retina_figure_r9dm.R(出图)、 results_eqtl_r9dm/(结果,已回灌 mr-pipeline-r9/results_key/retina_eqtl_*)、 图 public/multiomics_mr/retina_eqtl_r9dm.png


一、★ 先纠正一个错误:ERMAP 的 ENSG 号写错过

待办计划任务 4 原先给 ERMAP 用 ENSG00000164123,在该数据集里返 0 条, 据此写成"ERMAP 做不了、eQTL 层只能补 IFNAR1、价值不大"。这个判断是错的。

正确号取自流水线自己的 mr-pipeline-r9/results/druggability.csvensembl 列: ENSG00000164010,有 136 条显著记录。

身份已独立核实:该 ENSG 在 chr1:42,817,125–42,844,989, ERMAP 的血浆哨兵 rs11210710chr1:43,209,941,同一 cis 窗口。

教训:基因符号 → ENSG 一律取流水线产物里的号,再用坐标与哨兵 SNP 交叉核实, 不要凭记忆或外部查。脚本里已加断言(3/3 与 druggability.csv 一致才继续)。

覆盖情况

Advani 数据集只覆盖 9,408 个基因(条件 QTL 输出,非全转录组):

候选ENSG显著记录数可做
IFNAR1ENSG00000142166167
ERMAPENSG00000164010136
APOL1ENSG000001003420(非视网膜 eGene)

二、方法

  • 暴露:视网膜 cis-eQTL,Forward_significant = 1,用 1000G EUR 补 eaf(原数据无频率列),F ≥ 10(实际最小 F = 15.4,中位 22.9),plink 本地 clump(r² < 0.1,1 Mb)
  • 结局:FinnGen R9(与主线一致,非 R13)DM_MACULOPATHY_EXMORE(3,572/308,547)、DM_RETINOPATHY_EXMORE(10,413/308,633)
  • MR:单工具 Wald / 多工具 IVW;Steiger 方向检验
  • 共定位:coloc.abf,用未 clump 的整段 cis 区
  • 建 build 差异:变异 ID 内 pos 是 hg19、位置列是 hg38 → 全程按 rsID 匹配

端到端核对

本脚本从 finngen_R9_DM_MACULOPATHY_EXMORE.gz 取出的结局效应, 必须与 mr-pipeline-r9 自己算出来的一致,否则就是取错文件或等位翻转:

ERMAP  rs11210710  本脚本 beta=+0.101028  R9流水线 beta=+0.101028  差=0.00e+00  ✓

★ 这条核对第一版是形同虚设的:循环变量取名 p,而 screen_R9_dm/*_significant.csv 里恰好有一列就叫 p(p 值),于是 sig9[protein == p] 恒为假、循环一行没跑, 而 stopifnot(ok_all) 照样"通过"。已改名并补 n_checked == 0 就报错 的断言。 同类坑本项目已踩到第三次(见 [[方向感知药靶PheWAS]] 的 data.table 作用域一节)。


三、结果

基因结局方法nbpFDRcoloc SNPPP.H4Steiger
ERMAP黄斑病变Wald1+0.0932.5e-055.0e-05940.949
ERMAP糖网Wald1+0.0060.660.97940.008
IFNAR1黄斑病变IVW3+0.0030.790.791290.019
IFNAR1糖网IVW3−0.00010.970.971290.010

① ERMAP:共定位但方向与血浆层相反(提示性,非强证据)

PP.H4 = 0.949(PP.H3 = 0.016)。但见本页开头的订正: 这是两个亚阈值信号之间的共定位,且底层 eQTL 在第二队列未复制, 只能作提示性发现,不能表述为"强共定位"或"眼组织层的因果证据"。

方向是反的,这一点经五项核查是确凿的。把三层都放到同一个 T 等位上看(哨兵 rs11210710):

每 T 等位效应z方向
视网膜 ERMAP 表达+0.893 (se 0.179)+4.98
血浆 ERMAP 蛋白−0.091 (se 0.007)−13.0
黄斑病变风险+0.101 (se 0.024)+4.22

所以:

  • 视网膜 eQTL MR:表达 ↑ → 风险 ↑(b = +0.093)
  • 血浆 pQTL MR:蛋白 ↑ → 风险 ↓(b = −1.110,OR 0.329)

两个 MR 方向相反不是计算错误,而是 T 等位对"视网膜转录本"和"血浆蛋白"本身作用相反。 手工复算已确认:血浆侧 Wald = 0.101028 / (−0.091) = −1.110198,与流水线记录逐位相同

必须在正文披露,且不能简单说成"两层互相印证"。 可能的解释至少有三类,本数据分不开:

  1. 组织特异调控——同一变异在视网膜与产生血浆 ERMAP 的组织里调控方向不同;
  2. 转录本 ≠ 蛋白——mRNA 与循环蛋白水平本就常不一致;
  3. cis-pQTL 的表位效应——变异改变 Olink 抗体结合而非真实蛋白量,这是 cis-pQTL 的已知隐患, 本课题在 deCODE 复制里专门查过(ERMAP 在本地 SomaScan 子集里没有适配体,未能跨平台验证,见"外部 pQTL 复制"页)。

方向的五项独立核查(2026-07-31 第二轮)

这个方向矛盾太反直觉,所以逐项验过,都通过:

核查做法结果
Forward_slope 相对哪个等位与 eQTLGen 血 cis-eQTL 比对共有位点(MERTK,114 对)方向114/114 一致,Spearman ρ = 0.953;若解析反了应为 0%
ENSG 身份Strunz 数据集有显式 gene_symbol 列,反查其 gene_idERMAP → ENSG00000164010,坐标 42,817,122–42,844,991,与 Advani 差 3 bp
工具 SNP 与 Wald手工复算工具是 rs11580112:−0.101103 / −1.08880 = +0.092857274,与流水线报的 b 逐位相同
血浆侧 Wald手工复算0.101028 / (−0.091) = −1.110198,与流水线逐位相同
方向能否复制独立队列 Strunz 视网膜 eQTL(显式 REF/ALT 列)rs11210710 的 T 等位 slope = +0.0608(p = 0.024),与 Advani 同号

另注:rs11210710(slope +0.893)与工具 rs11580112(slope −1.089)是同一信号的两个等位编码方向, 两者各自算出的 Wald 分别是 +0.1131 与 +0.0929,同号,内部自洽。

尺度提醒:Advani 的 slope 比 eQTLGen 与 Strunz 大 12–15 倍(归一化方式不同), 所以 MR 的 beta 量级「每单位视网膜表达」与血浆的「每 SD 蛋白」不可直接比大小, 只有符号可比。本页图的 B 面板用 z = beta/se 正是为此。

⚠️ 发表前必须做的两件事: (a) 用第二个视网膜队列复制这个共定位(EyeGEx / Nat Commun 2026 的 201 眼 NSR+RPE 分开数据); (b) 拿到 ERMAP 的 SomaScan 或质谱 pQTL,排除表位效应。 在这两件之前,写法只能是"视网膜 eQTL 与黄斑病变共定位,但与血浆层方向相反,机制待厘清"。

② IFNAR1:视网膜 eQTL 层阴性

p = 0.79PP.H4 = 0.019(PP.H1 = 0.864 = 只有暴露侧有信号、结局侧没有)。

而且血浆哨兵 rs914142 根本不在视网膜 eQTL 的显著变异集里—— IFNAR1 的视网膜 eQTL 信号由另一批变异驱动,与黄斑病变不共定位。

这条要改口径:IFNAR1 此前被认为是"三个里唯一有组织证据"的那个, 但那层证据是单细胞表达(伞状神经节细胞 74.4%,AUC 0.757), 不是眼组织的因果遗传证据。视网膜 eQTL 层查完是阴性。

③ APOL1:本层测不了

非视网膜 eGene(该数据集 9,408 个基因里不含它),0 条记录。 "没测"不等于"测了没有",产出里按 0 条如实记录并说明原因。


四、对三个 A 级候选证据链的净影响

候选血浆 pQTL单细胞表达视网膜 eQTL(本页新增)
ERMAPMR + 共定位支持AUC 0.536 = 无富集共定位 PP.H4 = 0.95 但方向相反;且 eQTL 未在第二队列复制、疾病侧未达全基因组显著 → 仅提示性
IFNAR1MR + 共定位支持AUC 0.757 = 有富集阴性(PP.H4 = 0.02)
APOL1MR + 共定位支持AUC 0.506 = 无富集非 eGene,测不了

净结果是三个候选的组织证据都比原来写的要弱或更复杂,没有一个是"三层一致收敛"。 这与 [[A级候选证据链与两处硬伤]] 的基调一致,且又添一条要披露的内容。


五、局限

  1. ERMAP 的视网膜工具 clump 后只剩 1 个 SNP(Wald ratio)——做不了异质性与多效性检验。
  2. 视网膜 eQTL 样本仅 403 眼,功效有限;IFNAR1 的阴性只能说"未发现证据",不能说"已排除"。 独立队列 Strunz 同样查不到显著的 IFNAR1 视网膜 eQTL(0 条 p<1e-4),两套一致。
  3. ★ ERMAP 的 eQTL 本身未在 Strunz 复制(0 条 p<1e-4),而 MERTK 在 Strunz 有 209 条, 说明不是 Strunz 没功效。这一条与「疾病侧无全基因组显著位点」一起, 构成本页 ① 只能作提示性结论的两条硬约束。
  4. 组织不匹配的另一面:Advani 数据是全视网膜,未分神经视网膜与 RPE;黄斑病变的病灶层次分不开。
  5. 未做视网膜 meQTL:AMD 线的经验是用 eQTM 映射靶基因 CpG 覆盖太窄(见 [[project_multiomics_mr]] 步骤5),本线暂未尝试。
  6. 结局用 R9 与主线一致;R13 的对应端点未做,两版例数差异见 [[FinnGen端点对照定义问题]]。

相关页面

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