10.复杂热图
“实践是检验真理的唯一标准。”
“复现是学习R语言的最好办法。”
DOI: 10.1016/j.cell.2020.05.032
这篇2020年发表在cell
上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Figure
:热图
。
本文示例数据领取:后台回复“20210509”
文件格式
表达矩阵文件
分组信息文件
绘制
#------
title: "heatmap"
author: "MZBJ"
date: "2020/5/8"
#-----
rm(list = ls())
setwd("F:/HJH/mzbj/cell/20210508")
library(readr)
library(plyr)
library(readxl)
library(RColorBrewer)
library(pheatmap)
matrix<-read.table("proteomic_matrix.txt",header = T,sep = "\t",row.names = 1)
matrix[is.na(matrix)] <- 0 #给空值赋0
info<-read_excel("sampleinfo.xlsx") #导入分组信息
annotation_col<- data.frame(type = info$Type, # 构建行注释信息
sex=info$Sex,
age=info$Age,
row.names = info$TMT)
type_color <- c("#85B22E","#5F80B4","#E29827","#922927")
names(type_color) <- c("jkdz","jbdz","PT","ZX") #类型颜色
sex_color <- c("red","#016D06")
names(sex_color) <- c("F","M") #性别颜色
ann_colors <- list(type=type_color,sex=sex_color) #颜色设置
matrix_2<-data.frame(scale(matrix,center = T)) #中心化
#绘制热图
pheatmap(matrix_2,
scale="row",#对行进行归一化
color = colorRampPalette(c("blue", "white","red" ))(1000), # color参数自定义颜色
annotation_col = annotation_col,
annotation_colors = ann_colors,
fontsize_col = 10,
cluster_rows = T,# cluster_row = FALSE参数设定对行进行聚类
cluster_cols = F,
show_rownames =T, # show_rownames和show_colnames参数设定是否显示行名和列名
show_colnames = F,
fontsize = 10,
cellwidth=10,
cellheight=10, # cellwidth和cellheight参数设定每个热图格子的宽度和高度
main = "Heatmap") # main参数添加主标题
出图:
几个不足之处
未标注富集分析通路对应蛋白(目前只能手动标注)。
由于数据的原因,热图里的正负表达没有明显的区分。
写在后面:
本系列重在复现,所以有些细节可能讲的不是很详细。大家有问题可以后台私信,或者在我的B站:
木舟笔记
进行互动!制作不易,希望大家多多支持!
往期内容:
跟着Cell学作图 | 2.柱状图+误差棒+散点+差异显著性检验
跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验
跟着Cell学作图|7.富集分析(Metascape数据库)