WGCNA(1):R包安装及数据导入清洗

Python022

WGCNA(1):R包安装及数据导入清洗,第1张

WGCNA :加权基因共表达网络分析,简而言之,就是将基因划分为若干个模块,探究与表型数据与基因模块之间的相关关系,并找到模块中的核心基因。

适用于复杂的数据模式,推荐5组(或者15个样品)以上的数据。一般可应用的研究方向有:不同器官或组织类型发育调控、同一组织不同发育调控、非生物胁迫不同时间点应答、病原菌侵染后不同时间点应答。

更多原理还有专业术语可以看生信技能树的帖子: https://cloud.tencent.com/developer/article/1516749

参考资料是官方说明书:

https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/Tutorials/FemaleLiver-01-dataInput.pdf

这是任何网络分析的第一步。在这里展示了如何加载典型的表达数据,将其预处理成适合网络分析的格式,并通过去除明显的离群样本以及缺失条目数量过多的基因和样本来清洗数据。

请注意,每一行对应一个基因,而每一列对应一个样本或辅助信息。需要移除辅助信息,因为WGCNA针对的是基因进行聚类,而一般我们的聚类是针对样本,所以这个时候需对表达数据进行转置以进行进一步分析。

因为我的基因数目比较多,所以在这里选取差异最大的前30%进行模块构建。

如果是全部基因,那首先检查基因和样本是否有过多的缺失值。如果是Top xx%选择后的基因,那通常 gsg$allOK会返回TRUE,因为前期已经进行了选择。

如果返回值是TURE,证明所有的基因都符合要求,如果返回值是FALSE,需要去除离群值。

再次检测

由于基因数目太多,后续计算都是使用datExpr0数据集。

这里的样本有明显离群值,可以通过设定阈值去掉离群值。

现在变量datExpr包含用于网络分析的表达量数据

现在表型数据和基因表达量数据都已经成功导入,在继续网络构建之前,可以可视化样本和表型之间的关系。

最后一步是保存处理好的表达量数据和表型数据,以便在本教程的后续步骤中使用。

在使用boxplot描述数据时,离群值的存在会干扰boxplot可视化的结果。

在网上找到的解决方法为设置 geom_boxplot(outlier.shape = NA) ,并使用 coord_cartesian() 函数进行y轴的缩放。下面有一组随机数展示

这样的好处在于我们并没有舍去离群值,而是将离群值隐藏起来,并通过对y轴的缩放获得更好的可视化结果。例如,如果直接使用 ylim() 函数来调整y轴的范围则是直接移除离群值。

完。