1、WGCNA算法首先假定基因网络服从无尺度分布(scale free network),并定义基因共表达相关矩阵、基因网络形成的邻接函数,然后计算不同节点的相异系数,并据此构建分层聚类树(hierarchical clustering tree),该聚类树的不同分支代表不同的基因模块(module),模块内基因共表达程度高,而分属不同模块的基因共表达程度低。
2、无尺度网络:随机网络中每一个节点的度相对平均。无标度网络即存在少数节点具有明显高于一般点的度,这些点被称为hub。生物体选择scale-free network而不是random network尤其进化上的原因,对于scale-free network,少数关键基因执行主要功能,这种网络具有非常好的鲁棒性(Robust),即只要保证hub的完整性,整个生命体的基本活动在一定刺激影响下将不会受到太大影响,而random network若受到外界刺激,其受到的伤害程度将直接与刺激强度成正比。
3、Connectivity (连接度):类似于网络中 “度” (degree)的概念。每个基因的连接度是与其相连的基因的边属性之和。
构建基因共表达网络:
1、基因共表达相关矩阵的定义:基因共表达相关矩阵中的元素为基因之间的两两相关系数,即每对基因 m 和基因 n 的相关系数为 Smn=|cor (m, n)|,据此构成了基因共表达相关矩阵 S=[Smn]。
2、定义邻接函数:最直接的邻接函数通过指定基因之间的相关系数的阈值(如 R=0.85)将基因对划分为相关的和不相关的,这种分法虽然简单易行,但将损失大量信息,如将阈值定为 0.85 时,即便是相关系数为 0.84 的基因对也将被划分到“不相关”的组中。鉴于此,WGCNA算法中应用了幂指数邻接函数。即对于任何基因对,用邻接系数 amn 作为衡量它们之间相关关系的指标:amn=power (Smn, β)=|Smn|β,即对相关系数进行次方的幂指数加权。
3、确定邻接函数的参数:根据无尺度网络原则确定加权系数 β,即:连接节点个数取对数(log(k))和节点出现的概率的对数值(log(p(k)))之间的相关系数至少达到 0.8。
4、节点间的相异度衡量:在确定了邻接函数参数 β 后,接下来将相关矩阵 S=[Smn]转换成邻接矩阵 A=[amn]。将某个基因和分析中其他所有基因之间的关系纳入考虑,邻接矩阵被转换成拓扑矩阵 Ω=[ωmn] ,矩阵中的元素如下所示:
公式中 lmn=∑μamμaμn 代表和基因 m、n 都存在连接的节点的邻接系数乘积和,km=∑μamμ 为基因 m 单独连接的节点的邻接系数加和,类似地,kn=∑μanμ 代表基因 n 单独连接的节点的邻接系数加和。在基因m 和基因 n 之间无连接,且无任何其它的基因将这两个基因连接的情况下 ωmn=0。与此同时,节点的相异程度用 dmn=1-ωmn 来衡量,dmn是网络构建的基础。
5、聚类分析鉴定基因模块:以基因之间的相异系数 dij 为基本元素构建分层聚类树(hierarchical clustering tree),聚类数的不同分支代表不同的基因模块。