生物医学网络科学Biomedical Network Science
网络分析流程与 NetworkX 实践01 / 16

网络分析的一般流程

阅读
约 3 分钟

无论分析什么生物医学数据,一个网络研究大致都包括以下六步:

  1. 提出问题:想用网络回答什么?(例如“阿尔茨海默病相关蛋白在 PPI 网络中是否聚成模块?哪些蛋白处于关键位置?”)
  2. 数据获取与预处理:选择合适的公开数据集,清洗、过滤、统一标识符(如基因名与 UniProt ID 的映射)。
  3. 构建网络:明确规定节点是什么、边是什么、边是否有方向和权重、阈值怎么定。这一步的选择往往比后面的算法更影响结论。
  4. 网络特性分析:度分布、聚集系数、路径长度、密度、中心性,并从生物学角度解读。
  5. 算法分析:社团划分或节点分类,分析不同类别节点之间的关系,探讨结构与功能的联系;与零模型比较,判断观察到的性质是否“非随机”。
  6. 解释与报告:结合文献给出生物学解释,讨论局限,撰写论文。

每一步都有应当留下的“记录”,它们既是质量控制,也是写方法部分的素材:

步骤 应记录或检查的内容 常见遗漏
数据获取 数据库名称、版本号或下载日期、物种、证据类型、许可 只写“来自 STRING”,不写版本与置信度阈值
预处理 标识符映射规则与映射失败的数目、重复记录的合并方式 一对多映射被静默丢弃或重复计数
构建网络 有向或无向、加权或无权、阈值与理由、是否去除自环与重边 权重究竟是“强度”还是“距离”没有说明
网络概况 节点数、边数、密度、连通分支数、最大连通分支占比、孤立点数 只报告最大连通分支上的结果,不说明丢了多少节点
指标与算法 软件与版本、函数与关键参数(权重、归一化、随机种子) Louvain 只跑一次;默认参数未写明
统计比较 零模型类型、随机网络个数、zz 分数或经验 pp 值、多重比较校正 只与 ER 比较;零模型次数太少
稳健性 换阈值、换数据源、换算法后主要结论是否成立 只报告“效果最好”的那个设置

零模型(null model):保留真实网络的某些性质(如节点数、边数,或者每个节点的度)而其余部分随机化得到的参照网络。只有与合适的零模型比较,“聚集系数高”“模块度高”“某些基因彼此靠近”这类结论才有意义。常用两种:(1)ER 随机图,只保留节点数和边数;(2)保度随机化(配置模型或双边交换),保留每个节点的度。后者更严格,因为许多性质(如枢纽的存在)由度序列本身决定。更多零模型(加权、空间约束、相关矩阵、节点标签置换)见零模型与空模型。

网络构建的选择要在报告中明确写出并做敏感性分析:PPI 网络用 STRING 置信度 0.4 还是 0.7?共表达网络用相关系数 0.6 还是 0.8 作为阈值?换一个合理的参数,主要结论是否仍然成立?脑网络中的阈值问题见脑连接组:结构与功能连接,系统的敏感性分析方法见敏感性分析与替代解释。

设计一项网络分析时,有几条通用原则:

  • 从问题出发,而不是从数据库出发:“用 STRING 做一个网络”不是研究问题;“阿尔茨海默病风险基因在 PPI 网络中是否比随机基因集更聚集?”是。
  • 规模要可控:先用小样本跑通全流程,再扩大;网络规模要与可用的计算资源和分析方法匹配(见大规模网络的计算策略)。
  • 至少包含一个对照:零模型、随机基因集、健康与疾病两组网络、不同阈值的结果,都可以作为对照。
  • 先看数据,再算指标:在计算任何指标之前,先打印节点数、边数、自环数、连通分支、度的最大值与最小值,并检查几条具体的边是否符合预期。很多错误(标识符错位、权重方向弄反)在这一步就能发现。