文献推荐-WGCNA: an R package for weighted correlation network analysis

续上回WGCNA的代码实战https://www.jianshu.com/p/9a03a35cabf3,这回把WGCNA的原理找出来读一读。

Overview of WGCNA

WGCNA被分成以下几个部分:

  1. 建立网络
  2. 检测模块
  3. 选择模块和基因
  4. 计算拓扑性质
  5. 数据模拟
  6. 可视化
  7. 与外界软件交互


    文献推荐-WGCNA: an R package for weighted correlation network analysis_第1张图片
1. 建立网络

定义共表达相似度Sij, 来计算邻接矩阵,即计算任意两个基因之间的相关性,公式如下



这时,共表达的相似度值就在[0,1]之间

接下来,传统的相关性网络会设置阈值一刀切,如:大于阈值0.8定义为1,小于0.8定义为0,只有相关性为1的两个基因才能相互连接。

而WGCNA的优势在于,不设置阈值,采用加权的方法,即乘贝塔次幂。




对应函数pickSoftThreshold选择加权值,scaleFreePlot评估这个网络是否是无尺度拓扑网络。


文献推荐-WGCNA: an R package for weighted correlation network analysis_第2张图片
2. 模块检测

模块里是一群高度相关的基因。WGCNA用非监督聚类(不事先设基因集),默认的方法是层次聚类,hclust函数。

层次聚类的一个缺点是,不能看到基因集里有多少个cluster。因此,这仍是一个学术争议,该怎样找到最好的cutting参数,或怎样评估基因集中cluster的数量。

文献推荐-WGCNA: an R package for weighted correlation network analysis_第3张图片

总结一个模块的profile:很多函数都用来总结模块的表达谱,如
(1)moduleEigengene: 计算出E,E:加权平均表达谱,一个模块的第一主成分,他可以代表一个模块的表达谱。
(2)intramodular connectivity: 找出一个模块内的hub gene,来代表这个模块,通常这hub gene都是和E高度相关的。

计算模块的membership:


计算任意一个基因和模块(如蓝色模块)的相关性(无论这个基因是否在这个模块里),如果相关性为0,那这个基因就不在这个模块里,反之则在模块里。(E我们在上文中已经提过),对那些在模块边缘或者两个模块之间的基因来说尤其有效。得出的K值,又称ME值.

3. 筛选模块

WGCNA的目的是找具有临床意义或生物学意义的模块。
定义基因显著性测量GS:GS越高,这个基因越有生物学意义。 具体公式如下:



文献推荐-WGCNA: an R package for weighted correlation network analysis_第4张图片
4. 计算拓扑性质
文献推荐-WGCNA: an R package for weighted correlation network analysis_第5张图片

5. 模拟数据

simulateDatExpr, simulateMultiExpr

6. 可视化

共表达模块结构可以用热图呈现,基因和基因之间的连接度可以用TOMplot函数呈现,还有其他很多函数,自己探索吧

7. 和其他软件的交互:cytoscape,不多说了

你可能感兴趣的:(文献推荐-WGCNA: an R package for weighted correlation network analysis)