WGCNA分析

R绘图 | 基于文献结果图的重现思考!

2020-07-19  本文已影响0人  Clariom

出发点
源自Large-scale proteomic analysis of Alzheimer’s disease brain and cerebrospinal fluid reveals early changes in energy metabolism associated with microglia and astrocyte activation 这篇文章中的一幅图,显示如下,想做类似的分析图。

image image image

初步思考:

  1. 第一幅图(b图)基本上就是WGCNA分析结果中基因模块与性状的相关性热图。不同点在于XY轴的摆放位置、基因模块的功能注释,以及上图的热图展示时部分展示的是相关性/部分展示的是P值,但从整体上来看,是可以复制的,难度不是很大。首先针对每个基因模块进行功能富集分析,完成对基因模块的功能注释。然后构建样本和基因模块的表达矩阵(关键函数moduleEigengenes,返回值Eigengenes),接着构建样本与性状的矩阵,最后计算模块与性状的相关性。

    image
  2. 第二幅图(c图),从图注上来看,展示的是不同分组条件下Eigenprotein value(其实就是Eigengenes值)的差异,绘制这个图也应该可以。

image

具体过程如下:

image.png

实现以上分析的重点步骤在第六步—模块与性状关联

  1. 相关系数只能计算对应的两列,而表达矩阵是一个表格,而非一列。方法是对一个模块里的基因表达矩阵进行主成分分析,用第一个主成分(PC1)的的指标--特征向量(ME)代表一个模块,得到模块MEs矩阵。

  2. Module eigengene E: 给定模型的第一主成分,代表整个模型的基因表达谱。这个是个很巧妙的梳理,我们之前讲过PCA分析的降维作用,之前主要是拿来做可视化,现在用到这个地方,很好的用一个向量代替了一个矩阵,方便后期计算。

  3. WGNCA包中moduleEigengenes()函数用于计算ME矩阵,选择每个ME的PC1来表示,函数返回值eigengenes即返回的Samples与ME-PC1的表达矩阵(如下图)。

image

这个ME矩阵加上样本的分组信息,就可以绘制如下这样的图。横坐标为分组信息,纵坐标为eigengenes值。

image
  1. 样本与性状之间的汇总表如下:
image
  1. 函数cor()和corPvalueStudent()可以计算每个模块的特征向量与性状之间的相关系数和P值,形成一个矩阵,可做热图。

  2. 这里需要注意的是,绘图前对每个基因模块进行功能富集分析,根据富集结果完成每个模块的功能注释。

总结:该分析过程中的关键函数如下:

 MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes #计算eigengenes值
 MEs = orderMEs(MEs0)
 moduleTraitCor = cor(MEs, design , use = "p") #计算相关性
 moduleTraitPvalue = corPvalueStudent(moduleTraitCor, nSamples) #计算P值

本文在于思考文中图片如何重现,对WGCNA分析有了解的小伙伴,应该知道文中图b是非常常见的形式,特别的是:基因模块通过富集分析完成功能注释,可以更直观出这些性状和哪些基因模块有关,这些相关的基因模块发挥的功能又是什么!而图c是在常规WGCNA结果中不常见的,但其实它就是分析的中间过程,往往容易被忽视。

往期回顾
R绘图 | Cell-Type Enrichment分析探索
R绘图|韦恩图的常见绘制方法
R绘图|ggplot2火山图的绘制
R绘图|ggplot2散点图的绘制
R绘图|pheatmap热图绘制——基础篇
R绘图|pheatmap热图绘制——中阶篇
R绘图|pheatmap热图绘制——高阶篇

上一篇下一篇

猜你喜欢

热点阅读