Skip to content

共定位:阳性可信,但阴性不能当真阴性

一句话结论

coloc.abfPP.H4 > 0.8(32 对)可信、照常报;但 PP.H3 高的那批在大区域里不可信—— 最大区域档 37 对里 PP.H3 全为 1.000、PP.H4 全为 0.000、0 对通过, 那是「每个性状一个因果变异」这一假设撞墙,不是生物学阴性

本该用来解决这个问题的 coloc-SuSiE,因外部 LD 面板失配 32 对中 20 对未收敛, 故降为方法学说明,不参与任何判定。 ★ 2026-08-03 已补算 estimate_s_rss 证实失配(蛋白侧 s 中位 0.82732/32 对 >0.3), 且收敛的 16 对 s 同样高,故 SuSiE 的全部结果均不采用。

三个 A 级候选不受影响(PP.H4 = 0.926–0.967)。

一、诊断:PP.H3 随区域宽度系统性上升

results/hyprcoloc_R9_dm/coloc_limitation_diagnosis.csv

把 142 对按区域内 SNP 数分成四档:

SNP 数范围PP.H3 中位PP.H4 中位PP.H4>0.8其中 MHC 区
Q1 最小 25%880–3,6600.2350.57910/360/36
Q23,702–4,9840.1520.70915/356/35
Q34,990–7,1840.7210.2197/357/35
Q4 最大 25%7,250–22,6051.0000.0000/3636/36

Spearman(区域 SNP 数, PP.H3) = 0.594(全部 142 对)

★ 2026-08-03 两处订正

① 此前记的 Spearman = 0.671 复现不出来。 在当前产物、7-30 快照、coloc_abf_pairs.csv 上分别得 0.594 / 0.622 / 0.594,各种子集与 Pearson 变体也都试过,均非 0.671。 以可复现的 0.594 为准。 通过数(10/15/7/0)与旧表完全一致,故结论不受影响。

② Q4 对数由 37 改为 36。 四分位切点约定不同所致(36/35/35/36 = 142), 边界差异不改变任何通过数。

★★ 更重要的新发现:这条局限几乎完全是 MHC 现象(任务 3 实测)

按哨兵表自带的 MHC 列(权威口径,非手写名单)拆开:

子集对数Spearman(SNP 数, PP.H3)
全部1420.594
仅非 MHC930.056 ← 基本为零
仅 MHC490.396
  • 最宽档 36 对,100% 来自 MHC 区蛋白(非 MHC 一对都没有)
  • 非 MHC 的对跨 Q1–Q3(880–7,184 个 SNP,8 倍宽度范围),相关仍只有 0.056

⇒ 「区域越宽 PP.H3 越高」这个关系几乎全由 MHC 区驱动——MHC 既超宽又本就难共定位。 这条局限不影响任何非 MHC 结论,包括三个 A 级候选。

为什么这不是生物学结果

coloc.abf 假设每个性状在每个区域只有一个因果变异。区域越宽,越容易装进多个独立信号; 一旦装进去,模型只能把它们判成「不同的因果变异」(H3)。

最大档一个区域有 22,605 个 SNP——在这个宽度下 H3=1.000 是模型撞墙的必然结果, 与两个性状之间到底共不共享因果变异无关。

对写法的直接要求

结果可以怎么写不可以怎么写
PP.H4 > 0.8「共定位支持」
PP.H3 高(尤其大区域)在该区域宽度下无法判定「不共定位」「检验过、无共享信号」

二、三个 A 级候选不受影响

它们的区域都落在中等宽度,H3 极低:

候选疾病区域 SNP 数PP.H3PP.H4H4/(H3+H4)
IFNAR1黄斑病变3,8540.0460.9400.953
ERMAP黄斑病变3,9780.0190.9670.981
APOL1黄斑病变4,5150.0620.9260.937

主结论不受本页局限影响。

三、一个备选判据(供参考,未采用)

文献中处理 H3 膨胀的常见做法是报告 H4/(H3+H4)——即条件于两侧确实都有信号时, 倾向「共享」的比例。

判据通过对数
PP.H4 > 0.8(现用)32
H4/(H3+H4) ≥ 0.848

为什么没有采用

只能缓解、不能替代缩小区域:Q4 那批 H3=1.000 的对,比值恒为 0,一个都救不回来。 多出来的 16 对集中在中间档。故本课题仍以 PP.H4>0.8 为判据,此列仅在补充材料备查。

四、coloc-SuSiE:降为方法学说明,不参与判定

SuSiE 允许一个区域内存在多个因果变异,正是第一节那个问题的标准解法。我们跑了,但没跑成。

results/hyprcoloc_R9_dm/coloc_susie_pairs.csv(32 对进入)

状态对数
收敛并出结果8
未收敛20
credible set 不足(疾病侧为 0)4

4.1 未收敛是 LD 失配的已知表现,不是我们跑错了

外部 LD 参考面板与 GWAS 样本的 LD 结构不一致时,即使同一祖先人群也会出问题: SuSiE 在先验估计与迭代选择两步都依赖 LD,失配时两步都可能给不出合理结果 (susieR 官方诊断文档)。 针对该问题已有专门的方法学工作 (Robust fine-mapping in the presence of LD mismatch, bioRxiv 2024) 以及 DENTIST、SLALOM 等 QC 工具。

我们的具体情形:参考面板是 1000G EUR(n=503),而结局来自 FinnGen(芬兰人群,LD 结构特殊)、 暴露来自 UKB。n=503 对 SuSiE 而言偏小,LD 估计噪声大。

4.2 收敛的 8 对也呈退化分布

PP.H4_susie 的全部取值:

1, 1, 1, 1, 3.37×10⁻¹⁵, 1.43×10⁻²⁰, 3.44×10⁻⁶⁵, 8.14×10⁻¹⁶⁸

要么是 1,要么小于 10⁻¹⁰,中间没有任何过渡值。 一个行为正常的后验不会这样分布。 这一条比引用某个诊断统计量更有说服力,而且完全可核实

4.3 ★ 已补算实测:LD 失配不再是推断

先更正一处我们自己的判断

本页初稿曾写「流水线从未记录过 susieR 的失配诊断量 s」——这句话是错的。 s 在 2026-07-31 就对 4 个位点算过并写进了汇报 PPT,只是没有落成 results/ 里的产物文件26_coloc_susie.R 也未记录(该脚本第 105 行的 s <- sub$sgn等位符号,确实不是诊断量)。 当时判成「不可核实」,是因为只在产物目录里找、没去交付物里找。

★ 08-03 的补算不仅把范围扩到全部 32 对并落成产物,还复现了当时那 4 个值

位点7-31 PPT 上的 s8-3 实测
IFNAR1 × 黄斑0.925 / 0.7170.9249 / 0.7171
ERMAP × 黄斑0.877 / 0.7350.8770 / 0.7355
APOL1 × 黄斑0.676 / 0.3930.6759 / 0.3931

三个吻合到小数点后 3–4 位,等于交叉验证了新脚本。

2026-08-03 用 analysis/27_estimate_s_rss.R全部 32 对补算完毕

results/hyprcoloc_R9_dm/susie_s_diagnostic.csv

s 中位s 范围s>0.3
蛋白侧0.8270.546–0.95832/32
疾病侧0.5960.279–0.87530/32

理想值应接近 0

决定性对照——未收敛组的 s 是否系统性更高:

收敛组 s 中位未收敛组 s 中位Mann-Whitney
蛋白侧0.775(n=16)0.871(n=16)z = −2.22,p = 0.026
疾病侧0.529(n=16)0.634(n=16)z = −1.55,p = 0.121

三条判读,第三条最要紧

  1. 全部 32 对的 s 都远离 0,蛋白侧 32 对全部 >0.3 → 外部 LD 参考面板与实际样本 存在严重失配,这已是实测,不再是推断
  2. 未收敛组的 s 系统性高于收敛组(蛋白侧达统计学显著)→ 「未收敛源自 LD 失配」这一归因得到数据支持
  3. ★★ 即便收敛的那 16 对,s 中位也高达 0.775 —— 不只是未收敛的不能用,连跑出结果的那 8 对同样不可信。

所以这次补算不是给 SuSiE 平反,反而更彻底地支持了把它整体降级

补充:另有一个独立信号——estimate_s_rss 运行时对每个区域都报 The matrix R is not positive semidefinite,即 LD 矩阵本身已非正定, 与上述失配结论一致。

4.4 处置

位置处置
方法学保留一句:另用 coloc-SuSiE 放松单因果变异假设
结果不报 SuSiE 的任何判定
局限写明 20/32 未收敛、并给出实测 s 值(不再是推断,见 §4.3)
正文图已换成两法版 coloc_method_tiles_2m / coloc_method_agreement_2m(仅 HyPrColoc + coloc.abf)
补充材料图三法版 coloc_method_tiles / coloc_method_agreement 保留——它们已把"未评估"与"不支持"分开(图注原文:Pairs SuSiE could not evaluate are absent from the SuSiE sets rather than counted as negative),不会误导

汇报 PPT 的同步改动(2026-08-03)

原先有三页把 SuSiE 与另两法并列,已按上表改:

原标题现标题
23三种共定位方法的逐对判定两种共定位方法的逐对判定(图换两法版)
24三法一致性汇总两法一致性汇总(图换两法版)
27SuSiE 层的定位:只作敏感性检查SuSiE 不参与任何判定:LD 失配已实测
11三种共定位方法并行两种共定位方法并行推断
28(三条结论)加第 ④ 条:即便"救回来"也没有意义

五、两处局限是同一个问题的两面

必须连起来写,否则不自洽:

  1. 单因果变异假设在大区域里被破坏(第一节,Spearman 0.594、Q4 的 0/36)
  2. 本该解决它的 SuSiE 因 LD 失配没跑成(第四节,20/32)
  3. 所以大区域的 H3 只能记为「无法判定」,不能记为「不共定位」

但影响面已用任务 3 界定清楚analysis/41_coloc_undetermined.R): 最宽档 36 对 100% 来自 MHC 区蛋白,而这些蛋白因 MHC 一票否决本就归 C 级、 与共定位结果无关。把 Q4 的阴性全部改判为「未评估」,A/B/C/D 分层一个不变(3/4/11/13)。 非 MHC 的 93 对里宽度与 PP.H3 的相关仅 0.056。 ⇒ 这条局限只影响 MHC 区蛋白的表述,不影响任何候选靶点的分层结论

六、可以做但尚未做的

方案预期成本
缩小区域窗口(哨兵 ±100–250 kb 而非 ±1 Mb)直接对着病根;Q4 那 37 对有望变为可判定需重跑 coloc(区域缓存已在)
换更大 / 更匹配的 LD 面板可能救回部分 SuSiE较高
补跑 estimate_s_rss把「LD 失配」从推断变实测✅ 2026-08-03 已完成,见 §4.3

相关页面

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