admin管理员组

文章数量:1122851

还记得之前我们发过的热图吗?

样品之间聚类的时候发现对照和实验组混合到了一起。这是由于样品一致性差造成的,这种情况很多时候都会遇到。一般的做法是放弃列的聚类。但是我不,很多文章也是,我就想样品聚类。

怎么办?

让聚类按照样本来,把热图裂开来就可以了。这次使用的还是ComplexHeatmap包。

读入作图数据、并加载包:

setwd("D:/生物信息学")
A <- read.csv("基因.csv", header = T,row.names = 1)
library(ComplexHeatmap)

注释作图:

#对样本进行注释:
A <- as.matrix(A)
samples <- rep(c('Control', 'Treat'), c(3, 3)) #定义样本分组信息  
for (i in 1:nrow(A)) A[i, ] <- scale(log(unlist(A[i, ] + 1), 2))#标准化处理
Group = factor(rep(c("control","treat"),times = c(3,3)))#分组信息,用于热图分割
Group = factor(Group,levels = c("control","treat"))

#热图顶部注释(结合图的效果自行修改):

top_annotation = HeatmapAnnotation(cluster = anno_block(gp = gpar(fill = c("#009933", "#FF3333")),
                       labels = c("Control","Treat"),
                       labels_gp = gpar(col = "black", fontsize = 12)))#通用代码

#作图:
Heatmap(A,#表达矩阵
        col = colorRampPalette(c("navy","white","firebrick3"))(100),#颜色定义
        show_row_names = F,#不展示行名
        top_annotation = top_annotation,#顶部分组信息
        column_split = Group,#用group信息将热土分开,以group聚类
        column_title = NULL,#不显示列标题
        show_column_names = F)#不显示列名

效果如下,看起来还是可以!

 更多精彩内容请关注 KS科研分享与服务

本文标签: 热图样品重复性不好