Skip to content

口径核查问答(2026-08-04) ​

本页汇总 2026-08-04 一轮追问中查实的问题。每条都标明实测还是推断, 未能核实的直接写「不知道」。凡涉及数字的均现场从 results/ 重算,未凭记忆书写。

本页最重要的一条

第五节记录了一个已确认、尚未修复的真 bug:外部 T1D 源的等位频率列整列反转。 修复前,T1D 相关的方向结论不可对外使用。技术细节见 谐化与定向过滤 · 第八节。


一、导师文档里的「45」是什么?我们是多少? ​

45 在他自己的文档里就有两处口径 ​

位置写法
正文(段 34)"a total of 45 significant protein–trait associations"
图注(段 79)"Fig 1. MR significant(45 proteins)"

同一个 45,一处是「关联数」、一处是「蛋白数」。 这两个不可能同时成立—— 他下一段自己就写了「Three proteins were shared between T1D and T2D」, 有蛋白跨多个性状显著时,关联数必然大于蛋白数。

附带查出第二处不一致:正文写 "four major diabetic complications: nephropathy, retinopathy, neuropathy, and maculopathy"——只有四个,没有新生血管性青光眼; 但他的代码 1_r9_mr_diabetes.Rmd L267 实际读了 finngen_R9_DM_NEOVASCULAR_GLAUCOMA.gz。 又是文档与代码对不上。

我们的数字(现场重算) ​

口径关联数唯一蛋白数
他正文所说的 4 个并发症5731
5 个并发症(含青光眼)5731
全部 7 个结局(5 并发症 + T1D + T2D)14295

逐结局:T1D 57、T2D 28、糖网 24、黄斑 19、糖肾 9、神经 5、新生血管性青光眼 0。

青光眼零个显著,所以 4 个与 5 个并发症的数字相同——但他正文写「四个」在文字上仍是错的。

为什么差这么多(45 vs 142) ​

差额主要来自两个基础病而非并发症:我们 T1D 57 + T2D 28 = 85 条。 而他那两支的输入都有问题——T1D 数据源表型标错、T2D 匹配键静默丢 42.3% 工具(见第四节)。

并发症那一支反而是可比的:糖网他 24 个、我们 24 个,逐条吻合到 9.99×10⁻¹⁶。

⚠️ 给合稿的提醒 ​

若 Table 1 要写「45 significant associations」,必须: ① 「45 proteins」与「45 associations」二选一;② 写清分母口径(几个结局、含不含青光眼、T1D 用哪个源)。 否则审稿人对照图注与正文即可发现。


二、其他并发症的结果和导师一样吗? ​

不知道——没法比。

F:\project\MR code\ 里只有 significant_results_retinopathy.csv 一个结果文件。 其余四个(黄斑、糖肾、神经、新生血管性青光眼)的 significant_results_*.csv 不在目录里, 他的 UpSet 脚本读入过这些文件名,说明本地跑出来过,但没有给我们。

已实测的部分:输入完全相同 ​

结局他实际读的文件他写的例数我们差异
糖网finngen_R9_DM_RETINOPATHY_EXMORE.gz10,41310,413无
黄斑病变finngen_R9_DM_MACULOPATHY_EXMORE.gz3,5723,572无
新生血管性青光眼finngen_R9_DM_NEOVASCULAR_GLAUCOMA.gz1,1001,100无
糖肾finngen_R9_DM_NEPHROPATHY_EXMORE.gz4,1114,111无
神经病变finngen_R9_DM_NEUROPATHY.gz2,8432,843无

推断(不是实测) ​

其余四个很可能也一致,依据是两条已实测事实:输入相同;实现等价(糖网 24/24 同一 SNP、 β 与 se 最大差 9.99×10⁻¹⁶)。且那个 42.3% 丢工具的问题特定于 T2D(Mahajan)文件, 不影响 FinnGen 端点。

措辞纪律

在拿到他另外四个 CSV 之前,不能对外说「我们和导师的并发症结果完全一致」, 只能说「糖网实测一致,其余因缺其结果文件未能比对」。

行动项:向导师索取那四个 significant_results_*.csv,拿到后按糖网同一套逐条比对 (蛋白集合、工具 SNP、β、se),可把「推断」变成「实测」。


三、为什么 LTB 在我们这里掉出候选?为什么他的共定位里还有 LTB? ​

LTB 并没有「不显著」 ​

结局βFDR
糖网+0.6529.05×10⁻¹¹显著
黄斑病变+1.0683.45×10⁻¹⁰显著
糖肾+0.8451.07×10⁻⁶显著
神经病变+0.5780.171不显著
新生血管性青光眼−0.4650.936不显著
1 型糖尿病+1.2202.16×10⁻³¹显著
2 型糖尿病——未被检验(工具 rs2395470 不在 Mahajan 文件里)

它掉出候选是三道独立过滤的结果 ​

  1. 位于 MHC 区(chr6:31,267,484)→ 分层规则 MHC 一票否决 → C 级
  2. 糖尿病对照臂判为「糖尿病驱动」——它对 T1D 的 β=1.220 大于对任何并发症的效应 (黄斑 1.067、糖肾 0.845、糖网 0.652)
  3. 共定位不支持:判定为「不支持(仅疾病成簇,蛋白未进簇)」

外加 PheWAS 脱靶 125 个性状,标记为「高多效-成药需谨慎」。

为什么他的共定位里有 LTB —— 这是根因 4 最干净的实例 ​

LTB 的 hyprcoloc 原始输出:

protein  traits                     posterior_prob  protein_in_cluster
LTB      Nephropathy, Retinopathy   0.9997          FALSE

喂进去的是 {LTB, 糖肾, 糖网},返回的簇成员是 Nephropathy, Retinopathy——LTB 不在里面。 这是糖肾与糖网之间的共定位(两者 rg=0.966,真实且预期之中),与 LTB 无关。

而他的代码 4_r9_hyprcoloc_newdiabete.Rmd L431–432 无条件贴上 protein = "LTB", 于是这一行看起来就是「LTB,后验 0.9997」,排位还很靠前。

全库统计:后验过阈的 28 行里,15 行蛋白根本不在簇内——超过一半。 这正是「20 个蛋白里 11 个从未进过簇」的产生机制。

详见与导师代码逐条对比 · 第五节。


四、「并发症特异 10 条 / 18%」与 UpSet 图的 13 个对不上? ​

两个数都对,是同名不同义。

表 5-2 的 10UpSet / 一页看全的 13
单位关联条数蛋白个数
分母57 条可比关联31 个并发症显著蛋白
判据同一工具变异在糖尿病端 p ≥ 0.05该蛋白在 T1D、T2D 上都未达 FDR 显著
比较对象只跟「信号更强的那一个」糖尿病比跟 T1D 与 T2D 都比
  • 口径 A 的 10 条只涉及 6 个蛋白:BTN2A1(4 条)、BTN3A2(2 条)、ERMAP、APOL1、IFNAR1、VWC2L
  • 口径 B 的 13 个:ACRBP、AOC1、APOL1、BTN2A1、BTN3A2、CLPS、ERMAP、GALNT3、IFNAR1、 LACTB2、TIGIT、TPPP3、VWC2L

差的 7 个是怎么来的 ​

ACRBP、AOC1、CLPS、GALNT3、LACTB2、TIGIT、TPPP3 根本没进那 57 条—— 它们在糖尿病端没有可用工具,被判为「无法判定(糖尿病端缺工具)」。

⚠️ 所以 13 这个数偏宽松:口径 B 把「测不了」当成了「测了没信号」。 这正是本项目反复强调的「『没测』与『测了没发现』是两回事」。

建议改名(把口径写进标签本身) ​

现称建议
13 个并发症显著且糖尿病端未达显著(含糖尿病端无工具者)——13 个蛋白
10 条同一工具在糖尿病端 p ≥ 0.05——10 条关联 / 6 个蛋白

顺带一个干净的对应关系 ​

口径 A 的 6 个蛋白里,BTN2A1 与 BTN3A2 都在 MHC 区(C 级)。 真正非 MHC 的只有 ERMAP、APOL1、IFNAR1、VWC2L 四个——其中三个正是 A 级候选。


五、我们的 MR 方向对吗? ​

并发症四端点与 T2D:实测通过 ​

tools/verify_harmonise.R 逐结局检查三项(EA 逐条对齐、b == β结局/β暴露、无残留模糊回文):

结局工具数EA 错位b 与 β 之比最大差eaf 相关
糖网1,58703.77×10⁻¹⁵0.9841 ✅
黄斑病变1,5870—0.9841 ✅
糖肾1,58704.44×10⁻¹⁵0.9841 ✅
神经病变1,58705.11×10⁻¹⁵0.9841 ✅
2 型糖尿病1,61405.55×10⁻¹⁶0.9991 ✅
1 型糖尿病1,72205.77×10⁻¹⁵−0.5931 ❌

★T1D 支线:已确认的真 bug,尚未修复 ​

外部 T1D 源 GCST90824163.h.tsv.gz 的 effect_allele_frequency 整列反转 (以 1000G EUR 为第三方,1,276 个非回文可比位点中 93.7% 判为反转,相关 −0.9922)。

由于 harmonise_data(action=2) 判断回文 SNP 链方向的唯一依据就是等位频率, 喂反的频率导致 220 个回文工具(12.8%)的 β 符号被错误翻转。

不受影响:四个并发症端点、T2D、T1D 的显著蛋白集合与 p/FDR(符号翻转不改 |β|、se、p)、 T1D 的 1,502 个非回文工具、三个候选、共定位、跨平台、赢者诅咒、反向 MR、LDSC。

受影响:「方向背离」6 条里 5 条被重判(TRIM40×2、SIGLEC5×2、WARS;GALNT3 不受影响)——★2026-08-05 修复后实测:这 5 条全部翻正并归入「糖尿病驱动」,方向背离由 6 条降为 1 条; 37%/63% 主句数字可能微调。

完整技术细节、证据与修复计划见 谐化与定向过滤 · 第八节。


六、MR 结果能反映 LDSC 吗?两者有对应关系吗? ​

不能,也不应该。 两者问的不是同一个问题。

LDSC 遗传相关cis-pQTL MR
问什么两个性状之间的全基因组遗传共享一个暴露 → 一个结局的因果效应
用多少变异全基因组所有 SNP(且排除 MHC)单个 cis 变异
反映什么多基因背景的重叠某个位点上的局部因果作用

「两个病 rg=0.95」完全不排除「同一个蛋白在两者上效应不同」——rg 是几十万个位点的平均, MR 是一个位点。拿 rg 去校验单个 MR 命中是错配的。

但在本课题里有三处真实对应 ​

① rg 给「本该复制」提供期望值 黄斑与糖网 rg = 0.946,本该高度一致。实际 19 个黄斑显著蛋白里 12 个在糖网端仍 FDR 显著 (符合预期),而三个 A 级候选一个都不显著——个别候选偏离群体基线即为红旗。

② rg 直接诊断出数据源错误 T1D↔T2D 现在 rg = 0.087(p=0.011),符合两者病因不同。换源前用 GCST90475661 时是 0.886 ——这个异常高的 rg 正是判定该数据集「标签 T1D、实为 T2D 主导」的关键证据。

③ ★rg 是标题主句的独立佐证(此前未用上)

并发症 ↔ 2 型糖尿病rg
糖网0.744
糖肾0.693
黄斑病变0.680
神经病变0.591

并发症与 T2D 的遗传相关高达 0.59–0.74。若 FinnGen 的并发症端点真的只测 「在糖尿病之上额外得并发症」,rg 不该这么高——它这么高,正因为对照是一般人群、 端点里混着「先得糖尿病」这一段。

对照着看更清楚:并发症之间 rg 0.94–0.97(糖网↔糖肾 0.966、糖网↔黄斑 0.946), 并发症↔T2D 0.59–0.74。两层结构一目了然。

这是完全独立于 MR 的证据,支持「多数关联反映糖尿病易感性」这一主句, 且来自全基因组、不依赖任何单个蛋白或工具变异的假设。

必须同时写的限制

rg 高也可以来自真实的共享病因(糖尿病确实导致并发症), 所以它是佐证而非独立证明。真正定性的仍是探针位点实测 (R9 糖网端 TCF7L2 p=8.7×10⁻²⁹、FTO p=9.6×10⁻⁸)。

建议:把 ③ 写进摘要或 Results 第一节,与糖尿病对照臂那一节挂钩。 现在 LDSC 一节是独立叙述的,挂上之后主句就从「一条 MR 层面的观察」 变成「MR 与全基因组遗传结构两条独立证据指向同一结论」。


相关页面 ​

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