Weighted Network Analysis (WGCNA)

第一篇博文嘿嘿,还请多多指教。跟大家分享一下最近读的一本书吧,内容有点多,应该会分几次写完。

最近看的这本书名叫Weighted Network Analysis:Applications in Genomics and Systems Biology。这本书讲了一些基本的网络分析知识以及它们在基因组学和系统生物学中应用。没有图论那些繁杂的证明,并且几乎每种算法给了简短的R code,对网络分析感兴趣的童鞋不妨看看。该书的作者Steve Horvath是WGCNA(Weighted Gene Co-expression Network Analysis)算法的创始人之一,这本书的许多算法可以使用R包WGCNA实现。

 

一、基础知识篇

    这部分先讲一讲基本的网络概念,这些概念会贯穿之后的各个算法,有易有难。

 

1.什么是网络,网络有几种分类?

    网络由节点(node)和边(edges)组成,一般节点代表网络想表示的事物,边代表事物之间的关系。按照边性质的不同,网络大致可以有以下几种分类方法:无权网络和加权网络(weighted and unweighted);有向网络和无向网络(directed and undirected);有符号网络和无符号网络(signed and unsigned)。本书中,一般只研究无向网络。

 

2.网络邻接阵(Network Adjacency Matrix

    网络一般用邻接矩阵表示,表示节点i和节点j之间的边的值。本书研究的网络是满足下列性质的网络:

 

3.节点的度(Connectivity):

    节点的度(degree)又叫节点的连通性(connectivity)。是最基本的网络概念,在无权网络中,它代表了该节点所连接的边的数量。它的准确定义是:

 

4.度的分布(frequency distribution of the connectivity):

    有了度的概念以后,对于网络中的每个节点,自然有这样一个问题要问:随机抽取一个节点,那么这个节点的度为k的概率是多少?在这个视角下,我们把度看作服从某种分布的随机变量,来探寻这个网络的概率分布函数p(k)。当然,不同的网络有不同的度的分布,我们最感兴趣的一类网络,也是在自然界中发现最多的网络,称为Scale-freenetwork。利用度的概率分布函数p(k)给出它的定义:

即p(k)正比于k的负r次方的网络,k表示度,r是一个常数。

 

5.网络密度(NetworkDensity):

    从直观上看,有些网络比较密集,有些比较稀疏。类似于物理上的密度,我们给出求网络密度的方法:

    (1)将邻接矩阵的下三角区域和对角线去掉,只留下上三角区域。这样,原先n*n个元素的邻接矩阵变成了n(n-1)/2个元素。把这些元素排成一行,排列的规则是从最左上角的A12开始排列,从左向右排,排完第一行排第二行,一次排到第n-1行,形成了如下向量:

(2)网络密度定义为上面向量的平均值:

    这个式子看似复杂,其实很好理解。对于每个节点,都有一个度,对于网络中每一条边,都连接了两个节点。包含n个节点的网络相当于只有n(n-1)/2条边。密度相当于对每条边的度求和再除以总边数,含义是平均每条边的度是多少。

6.网络的中心性:

    衡量一个网络是不是具有中心性由下面的公式给出:


    从结果来看也不难理解,由上面的分析max(k)/n表示边最大的度是多少,Density表示平均每条边的度是多少,Centralization表示了度最大的边和平均度的差。该值越接近1,表示该网络越趋于一个中心点和多个分支组成,越接近0,表示该网络各节点的度差不多。

 

7.度量两个节点相似性:拓扑重叠法(Topological Overlap Measure

    这是一个非常重要的指标,可以用它来衡量两个节点之间的结构相似性。定义为:


    这种度量基于的假设是:两个节点之间的共享的“邻居节点”越多,它们的相似性越强。所谓“邻居节点”,就是直接与某节点相连的节点。上式中,节点本身的拓扑重叠定义为1;当两节点i和j不相同时,我们利用无权网络解释式子的含义,即假设边Aij不是1就是0。分子左边一项代表节点i和j共享的邻居节点的数量,右边一项代表i和j之间的边。分母左边一项是两节点中总边数较少的一个节点边的数量,并忽略两节点间相邻的那条边,加1相当于假定节点i和j之间有边。分子可以理解为节点i和j“本身”和“邻居”的实际情况,分母可以理解为节点i和j结构最为相似的情况。(不知道这个解释是不是合理)

    可以证明,TopOverlap(ij)是在0和1之间的。等于1说明i和j之间本身相连且i和j的邻居节点完全相同,两者拓扑结构完全相同。等于0说明i和j本身不相连且没有任何一个“邻居节点”。两节点的相似性从0到1逐渐提高。

 

8.邻接函数(Adjacency Function):

    假设A是原始的网络邻接矩阵,可以定义一个邻接函数AF,将A映射为我们希望得到的邻接矩阵形式。AF作用的对象是A中的每个元素A(ij)。例如:在原网络中,A(ij)是0-1型的,表示一个无权网络。利用拓扑重叠法,将A(ij)变形为TopOverlap(ij),这样原来的网络就变化为一个新的网络。网络节点间的关系由原来的“是否”关系转变为现在的相似度关系。在对网络的研究中,网络邻接阵的变换有十分重要的意义,可以帮助我们深入挖掘网络结构,具体的做法我们下次再讲。

欢迎大家留言讨论O(∩_∩)O。

你可能感兴趣的:(Weighted Network Analysis (WGCNA))