这些代码都是2021年从华大学习的 仅供参考
01.vlnplot+p值显著性
##这个记录的关键是如何在split.by的两组中计算显著性,使用的是aes
library(ggpubr)
Idents(sc)=sc$celltype
my.comparisons=list(c("DM","Control"))
pp=VlnPlot(sc,features="aucell",split.by="group",pt.size=0)+
stat_compare_means(aes(group = split),method="wilcox.test",hide.ns = F,
#comparisons = my.comparisons,
label="p.signif",
bracket.size=0.8,
tip.length=0,
size=6)
pdf(paste0("03.vlnplot.pdf"),width=20,height=7)
print(pp)
dev.off()
ggsave(paste0("03.vlnplot.png"),pp,width=20,height=7)
##目前ggpubr有更新的函数更好用,参考[R-Seurat VlnPlot 添加显著性标注 - 简书](https://www.jianshu.com/p/4033a1c1be99)
##但如果ggpubr是古董版本就用不了
02.Seurat中默认的heatmap热图
##这个记录的关键是有一些基因之前没有scale,可以在绘制热图前手动scale
library(Seurat)
library(ggplot2)
library(dplyr)
data=readRDS("data.RDS")
Idents(data)<-data$group
genes=c("FSHR","CYP11A1","CYP19A1","STAR","HSD17b1")
library(stringr)
genes=str_to_title(genes)
data@assays$RNA@scale.data <- scale(data@assays$RNA@data, scale = TRUE)
pp=DoHeatmap(data,angle = 45,size = 12,features =genes,label=F)+scale_fill_gradientn(colors = c("#4695c4","white","#d76856"))
ggsave(pp,file="02.heatmap.png", width=300, height=160, units="mm", limitsize = FALSE);
ggsave(pp,file="02.heatmap.pdf", width=300, height=160, units="mm", limitsize = FALSE);
03.seurat的meta.data中任意一列的umap图(FeaturePlot)
##这个记录的关键是spli.by没有自定义颜色的方法,可能是由于seurat的版本比较低
genes=c("SGK2","ACSL4")
for(i in unique(genes)){
pp=FeaturePlot(sc,features=i)
pdf(paste0("04.",i,"_FeaturePlot.pdf"),height=5,width=12)
print(pp)
dev.off()
ggsave(paste0("04.",i,"_FeaturePlot.png"),pp,height=5,width=12)
}
#如果修改颜色 不能使用split.by
for(i in unique(genes)){
for(j in unique(sc$group)){
sub=subset(sc,subset=group==j)
pp=FeaturePlot(sub,features=i)+scale_color_gradientn(colours = c("#38559d","#6092bc","#d0eaf1","#e7f2ea","#f8edab","#da4f30","#a2131f"))
pdf(paste0("04.",i,"_",j,"_FeaturePlot.color.pdf"),height=5,width=7)
print(pp)
dev.off()
ggsave(paste0("04.",i,"_",j,"_FeaturePlot.color.png"),pp,height=5,width=7)
}
}