geo配对样本差异基因的热图
测试开头

测试结尾
今天是生信星球陪你的第499天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
花花写于19.12.4
这是配对样本差异分析后的热图
比普通的热图做了以下改变:
-
增加了配对信息;
-
调整热图矩阵列(样本)的顺序,使一个个体的前后展示在一起
-
annotation多加一列;
-
给列分栏;
示例数据在生信星球公众号后台回复配对热图获得。
load("for_heatmap.Rdata")
#筛选上调下调最显著的各30个基因(数目可以自定义)
x=deg$logFC
names(x)=deg$probe_id
cg=c(names(head(sort(x),30)),
names(tail(sort(x),30)))
#用arrange间接实现了配对画图,pre在前,post在后
library(pheatmap)
test = data.frame(gsm = colnames(exp),group_list,pairinfo)
test
#> gsm group_list pairinfo
#> 1 GSM101299 post 1
#> 2 GSM101300 post 2
#> 3 GSM101301 pre 1
#> 4 GSM101302 post 3
#> 5 GSM101303 pre 2
#> 6 GSM101304 pre 3
library(dplyr)
col = (arrange(test,pairinfo,group_list))$gsm
od = match(col,colnames(exp))
# 数据准备好了就阔以画了
n=exp[cg,od]
annotation_col=data.frame(group= as.character(group_list)[od],
pair = as.character(pairinfo)[od])
rownames(annotation_col)=colnames(n)
pheatmap(n,show_colnames =F,
show_rownames = F,
scale = "row",
cluster_cols = F,
annotation_col=annotation_col,
gaps_col = c(2,4))

这里之所以用arrange,是为了让pre在前,post在后,用向量的sort、order、str_sort等等尝试了,都没有实现。主要是因为post默认排在pre的前面,字符串好像没办法先按照字母倒序排列,再按照数字正序排列吧?
下面这个图也是同样的代码画出来滴。
快试试吧
插个小广告!
再给生信技能树打个call!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!