Skip to content

R9 主线:从 2,415 个血浆蛋白到 11 个共定位支持的候选

这条线在回答什么

哪些血浆蛋白对糖尿病并发症有因果作用,而不只是相关。

本页是全流程的一张地图,每一步都配了从产物里读出来的真实数字。 代码在 /home/research/mr-pipeline-r9v3,第一节的数字截至 2026-08-09。

本页只有第一节已更新到 v4,往下都是 v3 时代的写法

2026-08-09 按第 7 步定稿重画了下面这张全景图,用的是 v4 流程与本轮实测数字。

第二节起尚未同步,仍在讲两样东西,它们在 v3/v4 都已经删掉:

  • 候选分级 A/B/C/D(tier —— 已于 2026-08-09 全面删除。 v4 不给候选分级,只按「过没过否决点」与「能不能升级措辞」记录状态。
  • HyPrColoc —— v4 只跑 coloc.abf 一种方法,判据是 PP.H4

在整页改完之前,以第一节的图为准;下面各节请当作历史记录读。 (整页重写排在第 7 步的 7.5 图注与审计,不在本次范围内。)

一、全景:v4 八步,以及每一步有权做什么

v4 的要点不是"跑了哪些分析",而是每一步能不能动候选集。 全流程只有两个否决点;外部复制只分流、共定位只改措辞、注释层一个都不剔除。

怎么读这张图:颜色标的是权限,不是重要性。

颜色含义哪几步
准备,不动候选集第 0 / 1 / 2 步
深橙否决点,可以把候选删掉第 3 步、第 4X 步
土黄只分流,三分法记录,永不否决第 4 步
墨绿改措辞 / 只注释 / 定稿,都不改去留第 5 / 6 / 7 步
虚线旁支,只供解释通路富集

57 − 4 − 1 = 52:全流程一共只删掉 5 对,其中 4 对来自反向 MR、1 对来自表位调查。 「外部复制没复制上」不是删除理由 —— 工具在对照数据集里查不到时无法判定, 按 v4 记为「不可评估」,不计作失败。

★ 发表级版本见成稿图 results/candidate_summary/figures/pipeline_overview_v4 (脚本 analysis/75_figure_F7c_flow.R,图上的数字与本图同源现算)。

二、概念补丁:读下面之前先搞清这 7 件事

这一节和「理论与公式逐项拆解」的分工

那一页讲 MR 的数学(三条 IV 假设、Wald 比值、IVW、MR-Egger、F 统计量、各类偏倚的方向)—— 去看那一页

这一节讲 这条流水线特有的概念:连锁不平衡、共定位、表位伪影、估计量。 两边不重复。

2.1 孟德尔随机化凭什么敢说「因果」

观察性研究看到「血里某蛋白高的人并发症多」,有三种可能:蛋白导致病、病导致蛋白高(反向)、 或者有第三个因素同时抬高两者(混杂)。光看相关分不出来。

MR 的支点是一个生物学事实:等位基因在受精那一刻随机分配,且此后终身不变。

  • 随机分配 → 相当于一次天然的随机对照试验,混杂因素在基因型两组间大致均衡
  • 终身不变 → 疾病不可能倒过来改写你的基因型,反向因果在结构上被排除

所以「携带使某蛋白升高的等位基因的人,并发症更多」这句话,比「蛋白高的人并发症多」强得多。

但这只在三条假设成立时才成立

① 工具与暴露强相关;② 工具不通过别的路径影响结局(无水平多效性);③ 工具与混杂因素无关。 第②条是最脆弱的一条,本流水线大半的设计都是在防它——下面 2.2 和 2.3 都是。

2.2 为什么只用 cis 工具,代价是什么

同一个蛋白的遗传工具有两类:

位置机制路径多效性风险
cis-pQTL就在该蛋白自己基因附近(本课题取 ±500 kb)直接影响它的转录、翻译、分泌、清除
trans-pQTL在基因组别处要经过一串中间分子才影响到它——那串中间分子本身就可能独立影响疾病

所以本课题只用 cis,这是拿功效换可信度。

代价很具体:99.9% 的蛋白只有 1 个 cis 工具。 而 Cochran's Q、MR-Egger 截距、MR-PRESSO、 留一法这些查多效性的方法,数学上都需要 ≥3 个工具——对单工具 cis-MR 全部不适用。 这不是偷懒,是设计的必然结果。稳健性只能改由别的方式承担:共定位、外部队列复制、换平台复制。

2.3 连锁不平衡:本课题一半的麻烦都来自它

减数分裂时染色体是成段重组的,挨得近的变异会被一起传下去,于是它们的基因型高度相关—— 这就是连锁不平衡(linkage disequilibrium, LD)

后果:你测到「变异 X 与疾病相关」,真正致病的可能是它旁边的 Y,X 只是搭了顺风车。 单看关联,两者长得一模一样。

MHC 区为什么是雷区

chr6:25–34 Mb 的 MHC 区连锁块极长,几百个基因几乎是捆在一起往下传的。 在那里,「哪个基因才是真凶」在统计上基本无法分辨。

v4 的处置(2026-08-09 更新):MHC 区蛋白不在工具选择阶段排除,也不再归入什么等级—— 27 个带 MHC 标记的蛋白一路带到第 5 步共定位,在那里显形:29 对 MHC 关联全部落在弱/中档, 其中 28 对 PP.H3 = 1.000(数据支持「两个不同的因果变异」而非一个共享变异)。 这正是单因果变异模型在长连锁块里的预期行为,不能读成「这些蛋白是假的」。 要在这里下结论需要 MHC 专用工作(条件分析、HLA 等位基因层共定位),本研究没做。 ⚠️ 其中 CFB 是已上市药 iptacopan 的靶点、AGER 是经典靶点,不能因为 coloc 低就排除。 同理,后面会看到「跨多个并发症共享」的蛋白大多在 MHC—— 那更可能是同一个连锁块的投影,不是共同致病机制。

2.4 共定位在回答什么(MR 回答不了的那个问题)

MR 问:这个变异与疾病相关吗? 共定位问:蛋白信号的峰,和疾病信号的峰,是同一个变异吗?

coloc.abf 把一个区域的可能性穷举成五个互斥假设,各给一个后验概率:

假设含义
H0两个性状在这个区域都没有信号
H1只有蛋白有信号
H2只有疾病有信号
H3两个都有信号,但是两个不同的因果变异 ← 就是 2.3 说的搭顺风车
H4两个都有信号,是同一个因果变异 ← 真共定位

五个加起来等于 1。判据是 PP.H4 > 0.8

关键在于 H3 和 H4 的区别:H3 高 = 两个独立信号恰好挨着,正是要排除的假象; H4 高 = 同一个变异同时驱动蛋白和疾病,才是想要的证据。

一个必须知道的前提假设

coloc.abf 假设每个性状在这个区域只有一个因果变异。区域一宽就可能装进多个独立信号, 模型无法表达"多个",只能把它们判成 H3。

→ 这正是本页第六节那个「大区域 PP.H3 全是 1.000」的来源:那是模型撞墙,不是生物学阴性。

三种共定位方法的分工

方法做什么本课题的处置
coloc.abf两两比对,给 H0–H4 后验
HyPrColoc多性状一起做,把共享同一因果变异的性状聚成「簇」v4 不用(v3 用过,判据是簇后验 PP>0.7 且蛋白在簇内;见 §七的存档)
coloc-SuSiE放松「只有一个因果变异」,允许多个不用——LD 面板失配已实测,见第六节

2.5 表位伪影:为什么必须换平台再测一次

血浆蛋白组学并不直接「数分子个数」,而是靠结合试剂

  • Olink抗体结合目标蛋白
  • SomaScan适配体(一段折叠成特定形状的单链核酸)

两者都是「结合上去,然后读信号强度」。

问题来了:如果工具变异恰好是个错义突变(改掉一个氨基酸),它可能根本不改变蛋白浓度, 只是改变了那个位置的形状,让抗体结合得没那么牢 → 仪器读数下降,但血里的蛋白一点没少

这叫表位伪影(epitope artifact)。它会让你把「结合效率的变化」误当成「蛋白丰度的变化」, 进而得出一个完全错误的因果结论。

怎么识别:换一种结合试剂

抗体和适配体结合的位点不同,被同一个氨基酸替换扰动的方式自然也不同。 所以同一个变异在两个平台上:

  • 方向一致 → 更可能是真的浓度变化(IFNAR1:三方都是负向)
  • 方向相反 → 强烈提示是表位伪影(APOL1:抗体 −0.318,两个适配体队列 +0.378 / +0.462)
  • 另一平台无信号 → 说不清,只能记为未获支持(ERMAP:deCODE p=0.62)

2.6 估计量:这批端点到底在比什么人

这一条最容易被跳过,但它决定了结论能不能成立。

FinnGen 的「糖尿病黄斑病变」端点:

  • 病例 = 有糖尿病并发症的人
  • 对照 = 一般人群——里面既有非糖尿病人,也有没并发症的糖尿病人

所以这个对比里同时装着两重效应:「会不会得糖尿病」+「得了之后会不会出并发症」。 估计出来的是复合效应,不是并发症特异效应。

这不是理论担忧,是实测的:把 TCF7L2、PTPN22、FTO 这几个公认的糖尿病易感位点 拿去测四个并发症端点,全部显著

解法:同一个蛋白再对 T1D / T2D 本身做一遍 MR,两边效应量级一比就分开了—— 这就是第七节那道「糖尿病对照」判据的来历。实测 61% 的显著关联属于「糖尿病驱动」。

2.7 反向 MR:为什么必须先剔掉蛋白自己的 cis 区

反向 MR 是把方向倒过来:用疾病的工具变异去预测蛋白水平,看疾病是不是反过来改变了蛋白。

陷阱在于:如果某个疾病工具恰好落在这个蛋白自己的基因 cis 区内, 那它当然与该蛋白水平强相关——但那是 cis 效应,不是「疾病导致蛋白变化」。不剔就是必然的假阳性。

实测 AGER × 糖网:剔除前 p = 3.2×10⁻²⁶,剔掉 7 个落在 cis 区的工具后 p = 0.032差了 24 个数量级。 MHC 区的蛋白还要额外剔掉整个 MHC 区;全库共剔除 379 个工具。


七件事串起来就是这条流水线

① MR 给因果方向 → ② 只用 cis 压多效性 → ③ 但 LD 会制造假象 → ④ 所以要共定位 → ⑤ 平台伪影要靠换平台查 → ⑥ 估计量要靠糖尿病对照校正 → ⑦ 反向因果要靠剔 cis 区的反向 MR 排除。

每一道都在防一类特定的假阳性,缺哪一道就会在那一类上出错。

三、三份输入数据

角色数据集规模用途
暴露UKB-PPP(Olink 抗体平台)34,557 欧裔 / 2,415 蛋白血浆蛋白水平的遗传工具
结局FinnGen R95 个并发症端点疾病侧关联
对照T1D GCST90824163 / T2D Mahajan noUKBB20,355 / 55,005 例区分「并发症特异」还是「糖尿病本身」
LD 面板1000G EUR503 人clumping 与共定位(这个 503 后面会出事

作图约定(2026-08-03 定)

图上只印干净的疾病名,内部流水线 ID 一律不出现在图里。

内部 ID(数据键,不变)图上显示
Retinopathy / MaculopathyDiabetic retinopathy / Diabetic maculopathy
NeovascGlaucomaNeovascular glaucoma
Neuropathy / NephropathyDiabetic neuropathy / Diabetic nephropathy
T1D_gcstType 1 diabetes
T2D_mahajanType 2 diabetes

映射集中在 analysis/_viz_common.Rpretty_outcome()只作用于显示层—— CSV 产物、合并键、分层判据一律仍用内部 ID。未登记的 ID 会直接报错, 防止原始 ID 悄悄漏到图上。

数据来源不印在图里,写在图注(PPT 每张图的说明行、Word 的数据来源表)。 理由:同一疾病有多个来源——T2D 主分析 Mahajan noUKBB、敏感性 MVP GCST90475667; T1D 主分析 GCST90824163、零重叠复制 Crouch GCST90013791。 把来源印在坐标轴上,不同图之间就无法对照了。

一处必须记住的口径

FinnGen 并发症端点的对照是一般人群,不是「没有并发症的糖尿病人」。 所以估计的是「糖尿病 + 并发症」的复合效应——这正是必须加第三行那个糖尿病对照的原因。

详见 FinnGen 端点对照定义问题

四、工具变量 → MR → 显著关联

本节是 v3 时代的记录

下文出现的 A/B/C/D 分级HyPrColoc 在 v4 都已不存在。 v4 的对应说法见 §七:不给候选分级,只记「过没过否决点」与「能不能升级措辞」。

每个蛋白只取自己基因附近(cis)的变异做工具,这样最不容易有水平多效性。 工具强度实测 最小 F = 43.8、中位 F = 784,远高于常用的 10。

结局病例对照可用工具蛋白FDR<0.05 显著
视网膜病变10,413308,6331,58724
黄斑病变3,572308,5471,58719
新生血管性青光眼1,100366,2061,5870
神经病变2,843271,8171,5875
肾病4,111308,5391,5879
T1D(对照)20,355797,3631,72257
T2D(对照)55,005400,3081,61428

七个结局合计 142 个「蛋白-疾病对」/ 95 个蛋白,其中:

  • 并发症端 57 对 / 31 个蛋白(上表前五行)
  • 糖尿病对照端 85 对(T1D 57 + T2D 28)

这 142 对会原样全部进入下一步共定位——糖尿病对照端不是陪跑的, 它在共定位里的作用见第六节

单位说明:全文一律用「蛋白-疾病对」,简称「对」

一个「对」= 一个蛋白 × 一个疾病。 同一个蛋白在几个并发症上都显著,就算几对。 31 个蛋白之所以摊成 57 对:

一个蛋白命中了几个并发症蛋白数贡献对数
1 个1616
2 个714
3 个515
4 个312
合计3157

把 31 撑成 57 的那 8 个蛋白(命中 ≥3 个),有 6 个在 MHC 区—— AGER / BTN2A1 / HCG22 各命中 4 个,CFB / LTB / TNXB 各 3 个;非 MHC 的只有 APOE 和 BCL2L15。 所以「一个蛋白横跨多个并发症」主要是 MHC 超长连锁块造成的,不是共同致病机制。

赢者诅咒的信号

黄斑病变每千例的显著数最高、|beta| 中位数最大——这是赢者诅咒的典型特征。 而三个 A 级候选恰好全出自这一端,后面必须格外小心。

五、漏斗:数字怎么一路掉下来的

本节是 v3 时代的记录

下文出现的 A/B/C/D 分级HyPrColoc 在 v4 都已不存在。 v4 的对应说法见 §七:不给候选分级,只记「过没过否决点」与「能不能升级措辞」。

读这张图要注意单位

前两格是蛋白数,中间两格对与蛋白都标了,最后两格是蛋白数。 「对」和「蛋白」不能直接相减——下面共定位那一节的「142」之所以看着比「57」大, 一半原因就是踩了这个单位差(另一半是它含了糖尿病对照端)。

六、共定位:排除「只是连锁」的假象

本节是 v3 时代的记录

下文出现的 A/B/C/D 分级HyPrColoc 在 v4 都已不存在。 v4 的对应说法见 §七:不给候选分级,只记「过没过否决点」与「能不能升级措辞」。

MR 显著也可能只是蛋白的变异和疾病的变异挨得近,并非同一个因果变异。

先解开「57 怎么变成 142」这个疑问

答案是:它没有变。筛查阶段产出的本来就是 142 对,共定位的输入也是 142 对。

之前流程图的 ③ 那格只写了并发症端的 57,到 ④ 又换成全部的 142, 是我在图上制造了一个不存在的跳变,已改。

筛查阶段(第四节那张表)跑的是 7 个结局,把每个结局的显著数加起来:

结局显著对数属于
视网膜病变24并发症端
黄斑病变19并发症端
新生血管性青光眼0并发症端
神经病变5并发症端
肾病9并发症端
小计 57
T1D(GCST90824163)57糖尿病对照端
T2D(Mahajan noUKBB)28糖尿病对照端
小计 85
合计142

这 142 对全部进共定位coloc_abf_pairs.csv 实测就是 142 行、涉及 95 个蛋白—— 与筛查输出逐条对得上。

所以正确的链条是:

筛查 142 对 / 95 蛋白  ──共定位──▶  32 对通过
      其中并发症端 57 对/31 蛋白  ──▶  15 对/12 蛋白

142 → 142,没有跳变;32 和 15 都是在收窄。

那为什么糖尿病端也要跟着跑共定位?

不是顺手跑的——HyPrColoc 是把多个性状放在一起聚簇的, 糖尿病结局必须在场,才看得出某个蛋白的信号是不是连糖尿病本身一起共享

看 7 个有共定位支持的蛋白各自的簇(coloc_cluster 实测原文):

蛋白簇里有谁读出什么
ERMAPERMAP、黄斑病变只跟并发症共享
IFNAR1IFNAR1、黄斑病变只跟并发症共享
APOL1APOL1、黄斑病变只跟并发症共享
GALNT3GALNT3、视网膜病变只跟并发症共享
WARSWARS、视网膜病变只跟并发症共享
APOEAPOE、黄斑、肾病、糖网、T2D★ 糖尿病也在簇里
NOTCH2NOTCH2、黄斑、糖网、T1DT2D★ 糖尿病也在簇里

APOE 和 NOTCH2 的簇里站着糖尿病本身——同一个因果变异既驱动蛋白、又驱动并发症、 也驱动糖尿病。这就是「糖尿病驱动」最直接的图形化证据,也是它们只能进 B 级的原因。

反过来,三个 A 级候选的簇里只有黄斑病变、没有糖尿病——这才是「并发症特异」的实证。

如果不把糖尿病端一起放进共定位,这个区分根本做不出来。 那 85 对不是陪跑的,是判据的一半。

两处必须写进局限

① 区域越宽,PP.H3 越高。 Spearman = 0.594;最大区域档(7,250–22,605 个 SNP) 36 对里 35 对 PP.H3 = 1.000、0 对通过。那是「每个性状只有一个因果变异」这个假设撞墙, 不是生物学阴性。所以大区域的阴性只能写「该区域宽度下无法判定」。

但 2026-08-03 已界定影响面:最宽档 36 对全部来自 MHC 区蛋白, 而它们因 MHC 一票否决本就归 C 级;把这 36 对改判为「未评估」,A/B/C/D 分层一个不变。 非 MHC 的 93 对里该相关仅 0.056——这条局限只影响 MHC 区的表述。 (此前记的 Spearman = 0.671、Q4 = 37 对复现不出来,已订正为 0.594 / 36 对;通过数不变。)

② 本该解决①的 SuSiE 没跑成。 32 对里 20 对不收敛;实测 estimate_s_rss, 蛋白侧 s 中位 0.827、32/32 对 >0.3(理想应接近 0)。关键是连收敛的那 16 对 s 也有 0.775 ——不是「没跑出来的不能用」,是全都不能用

完整诊断见 共定位的两处方法学局限

根子在 LD 面板只有 503 人,而结局是芬兰人群、暴露是英国人群。 三个 A 级候选的区域都在中等宽度(3,854–4,515 个 SNP),PP.H4 = 0.926–0.967,不受这两处局限影响

七、v4:不分级

一句话

v4 不给候选分级。 没有 A/B/C/D,没有「优先靶点」。 每一对关联只有两件事被记录:过没过否决点,以及能不能升级措辞

v3 那套四级分层(本节末尾存档)建立在两个已经不存在的东西上:候选分级字段 tier (2026-08-09 全面删除)与 HyPrColoc(v4 只跑 coloc.abf)。 更要紧的是,v3 自己实测出来一个必须交代的事实:四道判据里只有一道真正在分 A/B (见存档里那张表)。与其保留一个名不副实的分级,不如按每一步的真实权限如实记录。

v4 的账:57 → 52 → 13

做了什么对候选集的效果
第 2 步BH FDR < 0.05(按结局分组)57 对 / 31 蛋白
第 3 步 反向 MR★ 否决点−4 对
第 4 步 外部复制★ 只分流:4a 22/4/27 · 4b 28/6/19 · 4c 12/5/360
第 4X 步 表位/PAV★ 全流程唯一否决点,6 条报警全查−1 对(APOL1 × 黄斑)
= 存活52 对 / 28 蛋白
第 5 步 共定位★ 措辞升级关卡,PP.H4 ≥ 0.8 且非 MHC13 对 / 11 蛋白可升级措辞,一个都不剔除
第 6 步 注释九个分子层 · PheWAS · 成药性0

57 − 4 − 1 = 52。 全流程一共只删掉 5 对。

和 v3 的说法怎么对应

v3 说法v4 的对应
A 级 3 个(ERMAP / IFNAR1 / APOL1)⛔ 不再存在。APOL1 已在第 4X 步被否决(表位伪影,唯一的否决);ERMAP 与 IFNAR1 是 13 对里的 2 对
B 级「共定位支持但需注意」并入同一批 13 对,注意事项写在图注与正文,不再用等级表达
C 级 11 个(MHC 一票否决)MHC 不再一票否决;它们照常走到第 5 步,结果是全部落弱/中档(见 §2.3)
D 级「仅 MR 支持」就是 52 对里没拿到措辞升级的那 39 对,仍在所有下游表里
「四道判据全部通过」⛔ 不许这样写。v4 只说「过了两个否决点」+「共定位是否支持升级措辞」

这三条 v3 结论在 v4 依然成立

  • 糖尿病对照是这条线最有价值的判据61% 的显著关联属于「糖尿病驱动」, 它们作用于「得不得糖尿病」而不是「得了会不会伤眼」。v4 把它保留为描述性分类, ⛔ 但它不是过滤器,不删任何候选。
  • 跨多结局共享不是加分项:共享的蛋白大多在 MHC,那是连锁不平衡的投影。
  • MHC 区给不出答案 ≠ MHC 区是阴性CFB(iptacopan 靶点)、AGER 都在里面。
📦 v3 存档:原「分层筛选:31 个蛋白怎么筛成 3 个」(2026-08-03 版,已不适用

⚠️ 以下全部是历史记录,请勿据此写作。 其中的 A/B/C/D 分级、tier 字段、 HyPrColoc 判据、32_targets_table.Rtarget_decision_table.csv 在 v4 都已删除或废弃。 保留它是因为几条结论(尤其「四项判据里只有一项真正在分 A/B」)的推理过程仍有参考价值。

先补上最容易断的一步:13 个共定位支持蛋白 → 7 个

上一节 HyPrColoc 给出的是 13 个簇 = 13 个蛋白 = 19 对。但分层表里只有 7 个有共定位支持。 差的 6 个不是被筛掉的,是根本不属于并发症这条线——它们的簇里只有糖尿病:

蛋白簇内性状去向
ABO / ERI1 / MINDY1只与 2 型糖尿病成簇不进并发症候选层
IL10 / KIT / KLK1只与 1 型糖尿病成簇不进并发症候选层
ERMAP / IFNAR1 / APOL1+ 黄斑病变→ A 级
APOE+ 黄斑病变 / 糖肾 / 糖网 + 2 型糖尿病→ B 级(糖尿病驱动)
NOTCH2+ 黄斑病变 / 糖网 + 1 型 / 2 型糖尿病→ B 级(糖尿病驱动)
WARS / GALNT3+ 糖网→ B 级(方向背离)

★ 这一步在 PPT 里原先是缺的(2026-08-03 补成第 26 页)。少了它,读者会觉得「A 级」这个标签 是凭空出现的——上一页刚说完「跨多结局共定位的只有 APOE 与 NOTCH2」,下一页 A 级却是另外三个。 顺带说清一件反直觉的事:跨多结局在这里不是加分项。 APOE 与 NOTCH2 恰恰因为簇里同时含糖尿病, 被判为「糖尿病驱动」而降到 B 级。

分层规则本身

分层规则写在 analysis/32_targets_table.R:76-81,是一个优先级级联,不是逐道串行的漏斗:

三处容易记错的地方(2026-08-03 订正)

① MHC 是一票否决,不是最后一道。 in_MHC 的蛋白根本进不了 A/B,与有没有共定位支持无关。 实测 11 个 C 级蛋白的 coloc_support 全部为 FALSE

② 「共定位支持」用的是 HyPrColoc,不是 coloc.abf。 判据是「簇后验 PP>0.7 且蛋白在簇内」, 比 coloc.abf 严 → 7 个蛋白(= A 级 3 + B 级 4),不是第六节 coloc.abf 的 12 个。 差的 5 个(ACRBP、LACTB2、NUDT5、PAM、SIGLEC5)是 coloc.abf 判通过、但 HyPrColoc 没把蛋白放进簇里。

★ 补一句省得反复对账:coloc_compare_hypr_vs_abf.csv 的 verdict 只有三类—— 两法都支持 19 对 / 仅 coloc.abf 13 对 / 两法都不支持 110 对,没有「仅 HyPrColoc」。 即 HyPrColoc 通过必然 coloc.abf 也通过,所以本数据下 「共定位支持」≡「两法都支持」,两种说法指的是同一批。

③ 最后一道是方向,不是 PheWAS。 代码里的条件是 targeting_flag != "★方向相反-若成药可能对某些结局不利"phewas_flag并排报告的警示列,从没进过分层规则——三个 A 级恰好都是「低多效」是相关,不是判据。

★★ 而且这一道对三个 A 级候选实际上是空转的:它们的 targeting_flag 实测全是 「单病(不适用)」——只作用于一个疾病,根本没有跨疾病方向可比,只是「未被判为方向相反」所以没被否决。 不能写成「通过了方向一致性检验」,准确说法是「该条不适用,因而未构成否决」。

★★ 四项判据里只有一项真正在分 A/B(2026-08-03 实测)

把上面 ①③ 两条的实测结论并排放,会得到一个必须主动交代的事实:

判据本数据下是否真的起作用
非 MHC(一票否决)空转 —— 11 个 MHC 区蛋白 coloc_PP 全为 NA,无一通过共定位,否决权从未触发
HyPrColoc 共定位支持起作用(31 → 7)
糖尿病对照分类只有这一条在分 A/B
方向未判为相反空转 —— 7 个的 targeting_flag 全为「方向一致」或「单病(不适用)」

所以 A 级的准确定义就两条:共定位支持 + 并发症特异(或增强)

写作时不得表述为「四道判据全部通过」。 那会给出比实际更强的筛选印象, 而审稿人只要把 hyprcoloc_shared.csvtarget_decision_table.csv 一交叉就能看出来。

糖尿病对照那一条是这条线最有价值的判据

实测有 61% 的显著关联在糖尿病易感性端也显著(APOE、PAM、NOTCH2 等)—— 它们作用的是「得不得糖尿病」,不是「得了糖尿病会不会伤眼」。 没有这一道,一半的候选会被讲成并发症靶点。

MHC 一票否决不是形式主义

C 级那 11 个全在 MHC 区。跨并发症「共享」的 5 个蛋白也全在 MHC—— 那是连锁不平衡造成的假象,不能读成「共同致病机制」

八、跨平台复制:分水岭

Olink 用抗体测蛋白,SomaScan 用适配体。如果工具变异恰好是个错义突变, 改的可能是抗体结合能力而不是蛋白真实浓度——这叫表位伪影。检验办法只有一个:换平台再测一次。

cis-pQTL 效应量(等位已对齐,ΔEAF ≤ 0.036):

蛋白变异Olink βdeCODE βdeCODE pARIC βARIC p判定
IFNAR1rs914142−0.450−0.1661.1e−69−0.3928.0e−99✅ 三方同向
APOL1rs136168−0.318+0.3781.8e−251+0.4627.8e−111❌ 方向相反
ERMAPrs11210710−0.091+0.0040.62−0.0500.0029⚠ 另一平台无信号

为什么 ARIC 不能省

只有 deCODE 的话,平台和人群是一起变的(英国-抗体 vs 冰岛-适配体),说不清是哪个造成差异。 ARIC 是第三个人群、但同一个平台,这就把分歧锁定在平台上。这是 deCODE 自己给不了的。

九、多组学定向验证

给三个候选各补几层证据,看蛋白层的信号在基因表达甲基化上能不能对上。

数据结果
血液 eQTLeQTLGenIFNAR1 显著,但 PP.H3 > H4,且糖尿病对照端也显著
视网膜 eQTLAdvani / StrunzERMAP 共定位 PP.H4=0.949,但方向与血浆层相反;IFNAR1 完全阴性
甲基化 SMRmQTL + HEIDIIFNAR1 拿到唯一稳健命中,但不能定方向
单细胞视网膜图谱 18 种细胞只有 IFNAR1 站得住;图谱没有血管内皮/周细胞/脉络膜,正是文献报道 APOL1 的地方

最容易踩的坑

跨层比较的往往不是同一个变异。 eQTL 顶点和 pQTL 哨兵之间 r² 只有 0.095 / 0.031。 所以「方向相反」不构成矛盾,mRNA 与蛋白不一致本来就是全基因组普遍现象——不能拿它来反对候选。 只有换成同一个变异去比,才有资格下结论。

十、三个候选现在各自在哪

本节是 v3 时代的记录

下文出现的 A/B/C/D 分级HyPrColoc 在 v4 都已不存在。 v4 的对应说法见 §七:不给候选分级,只记「过没过否决点」与「能不能升级措辞」。

候选状态共定位跨平台MR(黄斑)要点
IFNAR1✅ 唯一全部通过PP.H4 = 0.940三方同向OR 0.782 / 0.514 / 0.754三个平台 OR 全 < 1,方向稳健
APOL1❌ 已撤回·表位伪影PP.H4 = 0.926两个适配体队列均反向OR 1.521 vs 0.703 / 0.749工具变异与已发表错义位点 r²=1.000(相距 488 bp);「血浆水平致病」作废
ERMAP⚠ 最弱·三面受敌PP.H4 = 0.967deCODE p=0.62 无信号糖网端效应衰减 28 倍;视网膜 eQTL 方向与血浆层相反

一句话讲清现在的处境

开局有三个 A 级候选,走完跨平台复制只剩一个

这不是失败——能主动把自己两个候选否掉,正是这套流程值钱的地方。 换成只做 MR 不做跨平台,这三个会一起被写成阳性结果发出去。

十一、还没做的(按性价比排)

方案预期成本
缩小共定位区域窗口(哨兵 ±100–250 kb 而非 ±1 Mb)直接对着病根;Q4 那 37 对有望变为可判定低(区域缓存已在)
用 deCODE 自己的 cis-pQTL 重选工具做敏感性分析同济那篇做了,评审最可能问
GTEx / HPA 组织表达谱补组织落位
换更大 / 更匹配的 LD 面板可能救回部分 SuSiE高,且期望值已很低

相关页面

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