美文网首页生物信息学R语言源码
单细胞的差异分析 热图可视化

单细胞的差异分析 热图可视化

作者: 碌碌无为的杰少 | 来源:发表于2021-01-31 10:59 被阅读0次

单细胞我们知道logfc不像bulk测序那样,大于1很多,但是p值小于0.05贼多,所以热图参考的一篇CNS 文章,只化了p值的分界线


图片.png
memory <-  SubsetData(experiment.aggregate,
                      # 提取数据根据的组名
                      subset.name = "celltype3", 
                      # 提取的组别
                      accept.value = c("Memory B cells"))
view(memory@meta.data)
memory@meta.data$tumor <- str_sub(rownames(memory@meta.data),7,7)
deg <- FindMarkers(memory, ident.1 ='T', ident.2 ='N',group.by = "tumor")
deg$symbol <- rownames(deg)
logFC_t=0
P.Value_t = 1e-28
k1 = (deg$p_val_adj < P.Value_t)&(deg$avg_logFC < 0)
k2 = (deg$p_val_adj < P.Value_t)&(deg$avg_logFC > 0)
table(k1)
table(k2)
change = ifelse(k1,"down",ifelse(k2,"up","stable"))
deg <- mutate(deg,change)

dat  = deg
if(T) {
  x1 = dat %>% 
    filter(change == "up") 
  
  x2 = dat %>% 
    filter(change == "down") 
  
  for_label = rbind(x1,x2)
}



p <- ggplot(data = deg, 
            aes(x = avg_logFC, 
                y = -log10(p_val_adj))) +
  geom_point(alpha=0.4, size=3.5, 
             aes(color=change)) +
  ylab("-log10(Pvalue)")+
  scale_color_manual(values=c("blue", "grey","red"))+
  
  geom_hline(yintercept = -log10(P.Value_t),lty=4,col="black",lwd=0.8) +
  theme_bw()+
  theme(panel.border = element_blank(),panel.grid.major = element_blank(),
        
        panel.grid.minor = element_blank(),axis.line = element_line(colour = "black"))
p
volcano_plot <- p +
  geom_point(size = 3, shape = 1, data = for_label) +
  ggrepel::geom_label_repel(
    aes(label = symbol),
    data = for_label,
    color="black")
volcano_plot 
图片.png

相关文章

网友评论

    本文标题:单细胞的差异分析 热图可视化

    本文链接:https://www.haomeiwen.com/subject/ojaltltx.html