生物医学网络科学Biomedical Network Science
基因调控网络推断与共表达分析05 / 16

模块保守性与可重复性检验

阅读
约 3 分钟

问题:模块在另一组数据中还在吗?

在一组数据中找到的模块可能只是该样本的偶然结构。模块保守性(module preservation,也译模块保留) 问的是:参考数据集中定义的模块,在独立的检验数据集(另一批病人、另一组织、另一物种)中是否仍然表现为一个紧密连接的基因集合。这与“在检验数据中重新聚类,看能否得到对应模块”不同:后者依赖检验数据的聚类参数,两组模块的交叉表可能因为切树高度不同而看起来不一致,即使网络结构其实保留了。Langfelder 等(2011, PLoS Computational Biology)为此提出了一组不需要在检验数据中重新识别模块的网络统计量。

两类统计量

对参考数据中的模块 qq(基因集合 ℳq\mathcal M_q,大小 mm),在检验数据中计算:

  • 密度类(density):模块基因在检验数据中是否仍彼此高度相关。例如模块内平均相关(按参考网络中的符号对齐)meanCor\text{meanCor}、平均邻接 meanAdj\text{meanAdj}、第一主成分解释的方差比例 propVarExpl\text{propVarExpl}、平均模块成员度 meanKME\text{meanKME}。
  • 连接模式类(connectivity):模块内部“谁与谁连得更紧”的模式是否保留。例如参考与检验数据中模块内相关矩阵上三角的相关 cor.cor\text{cor.cor}、模块内连接度 kIMk_{\mathrm{IM}} 的跨数据相关 cor.kIM\text{cor.kIM}、kMEk_{\mathrm{ME}} 的跨数据相关 cor.kME\text{cor.kME}。

密度高说明“这批基因仍在一起”;连接模式保留说明“模块内部的枢纽与结构也一样”。一个模块可以密度保留而连接模式改变(例如枢纽基因在疾病中换了),也可以反过来。

置换零分布与 Zsummary

每个观测统计量本身的大小难以判断,需要零分布:随机置换检验数据中的模块标签(等价于随机抽取同样大小的基因集合),重复计算统计量,得到均值与标准差,把观测值换算成 ZZ 分数。WGCNA 的汇总方式是:

Zdensity=median⁡{ZmeanCor,ZmeanAdj,ZpropVarExpl,ZmeanKME},Zconnectivity=median⁡{Zcor.kIM,Zcor.kME,Zcor.cor},Z_{\text{density}}=\operatorname{median}\{Z_{\text{meanCor}},Z_{\text{meanAdj}},Z_{\text{propVarExpl}},Z_{\text{meanKME}}\},\qquad Z_{\text{connectivity}}=\operatorname{median}\{Z_{\text{cor.kIM}},Z_{\text{cor.kME}},Z_{\text{cor.cor}}\},

Zsummary=12(Zdensity+Zconnectivity).Z_{\text{summary}}=\tfrac12\left(Z_{\text{density}}+Z_{\text{connectivity}}\right).

Langfelder 等根据模拟给出经验阈值:Zsummary>10Z_{\text{summary}}>10 为保守性的强证据,2<Zsummary<102<Z_{\text{summary}}<10 为弱到中等证据,Zsummary<2Z_{\text{summary}}<2 为无证据;作者强调这些只是粗略的指导值。

Zsummary 随模块大小增大:同样程度的保守性,大模块的 ZZ 值更大(就像大样本的检验统计量更大)。比较不同大小的模块时,作者建议看观测统计量本身,或用基于观测统计量排序的 medianRank(排名越小保守性越强),它对模块大小的依赖小得多。

算例与生物学例子

代码示例的“模块保守性检验”单元在参考数据中定义两个模块,检验数据中模块 1 保留、模块 2 的基因彼此独立。简化版计算得到模块 1 的 Zsummary≈24Z_{\text{summary}}\approx 24(其中 Zdensity≈43Z_{\text{density}}\approx 43,Zconnectivity≈4Z_{\text{connectivity}}\approx 4),模块 2 约为 0.3。模块 1 的连接模式 ZZ 远小于密度 ZZ,因为在本模拟中模块基因的载荷差异不大,内部“枢纽结构”本身就弱。

例子:Langfelder 等(2011)把雌性小鼠肝脏中的胆固醇生物合成模块拿到其他性别与组织的网络中检验:在雄性肝脏中有强保守性证据,在雌性脑和肌肉中则没有证据,在脂肪组织中弱保留。这类结果帮助区分“组织共享的调控程序”与“组织特异的程序”。该文还给出一个应用:按交叉表看,雄性的几个模块在雌性数据中“没有对应模块”,但网络保守性统计量显示它们其实有中等到强的保守性,从而避免了错误地声称存在性别差异。

实践要点

  1. 两个数据集应使用同一套基因(取交集)与相近的预处理;
  2. 参考与检验数据的样本应相互独立,不能把同一批样本切两半后宣称“外部验证”;
  3. 保守性高说明模块是可重复的统计结构,不等于它是调控程序(细胞组成同样会在两个数据集中稳定重现);
  4. 用 bootstrap 或子抽样检查模块在同一数据集内的稳定性,与跨数据集保守性互补(一般原则见稳定性与可重复性)。