-
友情链接:
在上期的推文细胞类群marker基因识别及可视化结尾的时候,提到了五种基本可视化Marker基因的方式
图片
那这期一起来了解一下DoHeatmap函数的参数设置,以及在可视化marker基因有什么可以调整修改的地方。
DoHeatmap常用参数图片
常用参数object:输入的seurat对象features:要绘制的基因向量,可以是marker基因也可以需要可视化的基因集cells:要绘制的细胞,默认是全部的细胞slot = "scale.data":指定使用的数据,默认使用的是scale.data分组信息及颜色group.by = "ident":分组的依据,可以自行选择,默认是active.ident的内容group.bar:添加分组信息的颜色条group.colors:指定分组颜色条的颜色group.bar.height = 0.02:缩放颜色条的高度标签信息label = TRUE:分组信息的标签size = 5.5:文本字体的代销hjust = 0:水平对齐vjust = 0:垂直对齐angle = 45:倾斜的角度分隔线draw.lines = TRUE:用线将各组信息分隔lines.width = NULL:分隔线的宽度DoHeatmap可视化及美化获取marker基因直接可视化用到的数据,还是seurat官网pbmc-3k的示例数据
走完基本的降维聚类分群,然后使用FindAllMarkers分析获取全部亚群的marker基因,然后选择top5的marker基因进行可视化
pbmc.markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25, verbose = FALSE)top5 = pbmc.markers %>% group_by(cluster) %>% top_n(n = 5, wt = avg_log2FC)g = unique(top5$gene)#五种方式可视化marker基因DoHeatmap(pbmc,features = g) + NoLegend()
图片
直接可视化的结果图有些可以调整的点:
标签角度:默认参数会导致部分标签信息展示不全颜色调整:默认颜色有点不好看top5基因颜色在对应亚群没有很明显,因为没有scale所以展示没有很明显细胞数量太多,可以考虑抽样展示,不展示太具体的细胞CD4 T的marker基因在naive和memory间亮度不明显,可能因为marker基因不够特异,后续可以再细分1. 调整颜色和标签角度因为默认参数的标签的角度是angle = 45所以是向右倾斜的,导致Platelet标签会显示不全
可以改变一下横轴标签的排列顺序可以改变一下倾斜的角度#改变标签的排列顺序pbmc$cell_type <- factor( x= pbmc$cluster_by_counts ,c("Naive CD4 T", "CD14+ Mono", "Memory CD4 T", "B", "CD8 T","FCGR3A+ Mono", "Platelet", "NK", "DC"))#调整倾斜角度和颜色DoHeatmap(pbmc,features = g,group.by = "cell_type",group.colors = mycolors, size = 3,angle = -50,hjust=0.8) + scale_fill_gradientn(colors = c("white","grey","firebrick3"))
使用group.colors调整分组颜色——可以设置和umap图一样的颜色,使用scale_fill_gradientn调整热图的颜色,一般设置三个颜色
图片
2. 重新scale并且抽样展示正好看到群里有朋友在问,为什么选了top5基因进行可视化的时候,通常会发现展示的时候只剩下3到4个基因?
之前做细胞类群注释top5基因的dotplot的时候经常发现剩3个4个基因,我以为是这一步2000筛除了
因为DoHeatmap中默认slot = "scale.data" ,也就是用的数据是ScaleData后的结果数据集。而FindAllMarkers中默认slot = "data" ,也就是用的数据是NormalizeData后的数据集。
因此就可能会造成DoHeatmap画热图时,不在前2000个高变基因中的marker不出现在热图中。可以基于top基因重新scale,并且抽样展示,不展示全部的细胞
#基于top基因重新scale并随机抽样pbmc.Scale <- ScaleData(subset(pbmc,downsample=100),features = g ) DoHeatmap(pbmc.Scale, features = g, group.by = "cell_type",size = 3, assay = 'RNA', label = T)+ scale_fill_gradientn(colors = c("white","grey","firebrick3"))
图片
3.是否展示图例一般是默认展示图例的,如果不想展示的话可以加上NoLegend(),选择不展示图例
DoHeatmap(pbmc.Scale, features = g, group.by = "cell_type",size = 3, assay = 'RNA', label = T)+NoLegend()+ scale_fill_gradientn(colors = c("white","grey","firebrick3"))
图片
小结这期推文主要整理了一下DoHeatmap的常用参数,以及基于DoHeatmap的参数我们可以进行的一些图片调整与美化。
很多朋友在进行热图可视化的时候,会选择用到Complexheatmap包,进行美化。那下期可以一起来学习一下使用Complexheatmap绘制热图。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。