分享

技术贴 | R语言:大样本多组学的相关性计算、热图绘制

 转录组 2021-04-20

本文由可爱的乔巴根据实践经验而整理,希望对大家有帮助。

原创微文,欢迎转发转载。

导读

上期介绍了利用psych包计算两组小样本的相关性并进行热图可视化,但当样本数据量非常大时,psych包会耗费的时间非常长。今天推荐一个快速计算大样本量的相关性方法,可以使用WGCNA包中的cor函数和corPvalueStudent计算大样本的两组数据的相关性计算并进行热图展示。


##读取基因表达数据,行名为目标基因集的样品信息。列名为基因,每一列数据为基因对应于不同样品的表达量。

gene <- read.csv("Test_Gene_expre.csv",header = T,row.names = 1)

dim(gene) ##查看数据的大小,55397列。

#读取蛋白质组(代谢组)表达量文件,此处使用不同样品测定的代谢物表达量进行分析,计算激素于目标基因集的相关性。第一列为样品信息,与基因集的样品信息一致,第二列到第四列为测定的不同时期的不同代谢物对应的表达量。

meta <- read.csv("Test_meta_expre.csv",header = T,row.names = 1)

dim(meta) ##查看数据的大小,5330列。

##这里使用WGCNA包中的cor函数进行相关性计算,利用corPvalueStudent计算相关性的p值。

library(WGCNA) ##载入WGCNA

cor ##查看WGCNA包中cor的具体使用方法。cor支持personspearmankendall算法。

metaGeneCor.r <- cor(gene, meta, method="pearson") ##相关性计算,非常的快5*5397的基因和5*330的代谢表达相关性计算,基本几秒就计算出结果了。

write.csv(metaGeneCor.r,file="GeneCorMeta.csv")###保存相关性计算结果。

corPvalueStudent ##查看corPvalueStudent使用方法

nmeta=nrow(meta) ##样本数统计.

metaGeneCor.p <- corPvalueStudent(metaGeneCor.r, nmeta) ##计算样本相关性的p值,nmeta可以直接填写样本量,比如本示例中的5

write.csv(metaGeneCor.p,file = "MetaCorGene.p.csv") ##保存P值计算的结果

##相关性结果进行可视化

library(pheatmap) ##使用pheatmap

pheatmap(metaGeneCor.r,show_rownames = F,show_colnames = F) 因为样本比较大,pheatmap进行可视化的稍微有点慢,需要等待,因为样本信息很多,没有办法完全展示基因和代谢物信息,故使用show_rownamesshow_colnames 参数不展示行名和列名。

感谢阅读!




    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多