咨询热线:400-065-6886   天昊基因

中文 / English

主页 > 技术支持 > 科研进展 >

【绘图进阶】之通路与菌的相关性分析热图(六)


生信团 上海天昊生物 

   前段时间,我们介绍了几种heatmap图的绘制,很多老师对其中的颜色、标记和分组有兴趣,在后台咨询的比较多。有很多老师咨询微生物多样性数据中菌和菌、菌与功能以及菌与环境因子之间相关性的分析,也有做转录组的老师咨询差异基因或代谢产物的热图绘制。这里,我们以多样性的数据为例,展示数据提取的方法、apply使用方法以及heatmap图的细节调整。


 

 
数据读取

1. 读取通路数据和物种丰度数据

In [1]:
df_kegg = read.table('kegg_for_stamp_level2.xls',header = T,sep = '\t',row.names = 1,check.names = F)
head(df_kegg)

Out[1]:



In [2]:
df_taxon = read.table('phylum.taxon.Abundance.xls',header = T,sep = '\t',row.names = 1,check.names = F)head(df_taxon)

Out[2]:
 


2. 物种数据过滤
过滤掉'All'行和'Abundance','superkingdom'列
最大值 是 All行Abundance列

In [3]:
df_taxon = subset(df_taxon,Abundance>1000 & Abundance < max(df_taxon$Abundance) ,select = c(-Abundance,-superkingdom))head(df_taxon)

Out[3]:


 

 
相关性矩阵计算


spearman是非参数的,不要求数据必须是正态分布,也不要求方差具有齐性。

In [4]:
df_cor = apply(df_taxon,1,function(x){ apply(df_kegg,1,function(y)cor(x,y, method = "spearman")) })
head(df_cor)

Out[4]:

 


In [5]:
df_pvalue = apply(df_taxon,1,function(x){ apply(df_kegg,1,function(y)cor.test(x,y, method = "spearman")$p.value) })head(df_pvalue)

Out[5]:


 

 
绘制相关性热图
:
In [6]:
library(pheatmap)

1. 普通heatmap图
cluster 调节行和列是否聚类
fontsize可以调节字体大小;

In [7]:
pheatmap(df_cor,cluster_rows = T, cluster_cols = T,fontsize_row = 7, fontsize_col = 7)

Out[7]:


2. 添加显著性标记
In [8]:
display = df_pvalue
display[which(display < 0.001)] = "***"
display[which(display < 0.01)] = "**"
display[which(display > 0.01 & display < 0.05)] = "*"
display[which(display >= 0.05)] = ""
head(display)

Out[8]:


In [9]:
pheatmap(df_cor, fontsize_row = 8, fontsize_col = 5,
     cluster_rows = T, cluster_cols = T, display_numbers = display)


Out[9]:



3.仅绘制P值显著的结果

In [10]:
df_pvalue = subset(df_pvalue,apply(df_pvalue,1,min)<0.05)
df_pvalue

Out[10]:



In [11]:
df_cor = df_cor[rownames(df_pvalue),]
df_cor

Out[11]:



In [12]:
display = df_pvalue
display[which(display < 0.001)] = "***"
display[which(display < 0.01)] = "**"
display[which(display > 0.01 & display < 0.05)] = "*"
display[which(display >= 0.05)] = ""

修改字体大小,修改cell宽度和高度,添加border颜色,添加title,直接生成pdf文件,设置pdf中图片的宽度和高度。

In [13]:
pheatmap(df_cor, fontsize_row = 8, fontsize_col = 5,cellwidth = 15,cellheight = 40,border_color = 'RED',
     cluster_rows = T, cluster_cols = T, display_numbers = display,
     main='phylum.taxon_kegg.Correlation_p0.05', file='phylum.taxon_kegg.Correlation_p0.05.pdf',width = 10,height=10)

Out[12]:
 

 

 

关注“上海天昊生物”公众号,

回复关键字“相关性”,

获取文章链接,数据和代码的百度云盘链接。

 

 

往期相关链接:

1、R基础篇

excel不熟练怎么办,R来帮您(一)数据分类汇总
如何使用Rstudio练习R基础教程
R相关软件及R包安装
【零基础学绘图】之气泡图绘制(六)
【零基础学绘图】之绘制venn图(五)
【零基础学绘图】之绘制barplot柱状图图(四)
【零基础学绘图】之绘制heatmap图(三)
【零基础学绘图】之绘制PCA图(二)
【零基础学绘图】之alpha指数箱体图绘制(一)

2、R进阶

【绘图进阶】之lefse定制化绘图(五)

【绘图进阶】之六种带中心点的PCA 图和三维PCA图绘制(四)

【绘图进阶】之交互式可删减分组和显示样品名的PCA 图(三)

【绘图进阶】之绘制PCA biplot图(二)

【进阶篇绘图】之带P值的箱体图、小提琴图绘制(一)

3、数据提交

3分钟学会微生物多样性云平台数据分析;

3分钟学会CHIP-seq类实验测序数据可视化 —IGV的使用手册

10分钟搞定多样性数据提交,最快半天内获取登录号,史上最全的多样性原始数据提交教程

20分钟搞定GEO上传,史上最简单、最详细的GEO数据上传攻略

4、表达谱分析

表达谱分析(二)通路富集分析和基因互作网络图绘制
如何对GEO数据进行差异分析
miRNA靶基因预测软件__miRWalk 3.0

5、医学数据分析

KING: 样本亲缘关系鉴定工具
【WGS服务升级】人工智能软件SpliceAI助力解读罕见和未确诊疾病中的非编码突变
隐性疾病trio家系别忽视单亲二倍体现象——天昊数据分析助力临床疾病诊断新添UPD(单亲二倍体)可视化分析工具
【昊工具】Oh My God! 太好用了吧!疾病或表型的关键基因查询数据库,我不允许你不知道Phenolyzer
天昊客户服务中心
手机/微信号:18964693703
 

【本群将为大家提供】

分享生信分析方案

提供数据素材及分析软件支持

定期开展生信分析线上讲座

QQ号:1040471849

 
 

作者:大熊

审核:有才

来源:天昊生信团

 

微信扫一扫
关注该公众号

 

 




上海天昊生物科技有限公司 版权所有 沪ICP备17008908号
地址:上海市浦东新区康桥路787号9号楼 邮箱:techsupport@geneskies.com 电话:400-065-6886