点击查看代码
object.markers <- FindMarkers(c1, ident.1 = 'Ang',ident.2 = 'Veh',
group.by = 'group',logfc.threshold = 0,min.pct = 0,pseudocount.use = 0.01)
object.markers_1 = object.markers
dim(object.markers)
object.markers = object.markers_1
object.markers$names <- rownames(object.markers)
library(ggplot2)
#sig_dge.all <- subset(object.markers, p_val_adj<0.05&abs(avg_log2FC)>0.15) #所有差异基因
#View(sig_dge.all)
library(dplyr)
object.markers <- object.markers %>% filter(p_val_adj < 0.05)%>% mutate(Difference = pct.1 - pct.2)
library(ggrepel)
head(object.markers,2)
object.markers$group=0
for (i in 1:nrow(object.markers)){
if (object.markers$avg_log2FC[i] >= 1 & object.markers$Difference[i] >= 0.2 ){
object.markers$group[i]='up'
}
else if(object.markers$avg_log2FC[i] <= -1 & object.markers$Difference[i] <= -0.2 ){
object.markers$group[i]='down'
}
else {
object.markers$group[i]='no'
}
}
dim(object.markers)
table(object.markers$group)
top_25<- bind_rows( #分别筛选差异显著前10个的上下调基因,并合并两组数值进行绘图
object.markers %>%
filter(group == 'up') %>%
arrange(desc(avg_log2FC), abs(Difference)) %>%
head(25),
object.markers %>%
filter(group == 'down') %>%
arrange(avg_log2FC, desc(abs(Difference))) %>%
head(25)
)
top_25 %>% gt() #将数据制成表
p1= ggplot(object.markers, aes(x=Difference, y=avg_log2FC)) +
geom_point(size=0.2,aes(color=group),alpha = 0.5) +
# geom_label_repel(data=subset(object.markers, avg_log2FC >= 1 & Difference >= 0.2 & pct.2 <= 0.05), aes(label=names), label.padding = 0.1, fill="tomato2", segment.size = 0.25, size=2.5)+
theme_classic()
#绘图——添加基因标签框图#
p4 <- p1 +
geom_label_repel(data = top_25,max.overlaps = 50,
aes(label = names),
size = 3,
box.padding = unit(0.5, "lines"),
point.padding = unit(0.8, "lines"), segment.color = "black", show.legend = FALSE ) +xlim(-0.8,.8) +
scale_color_manual(values=c('blue','grey','red'))+ geom_vline(xintercept = 0.0,linetype=2)+
geom_hline(yintercept = 0,linetype=2)+
theme_classic()+ggtitle('Ang_Veh')
p4
outdir=paste0('./',"6-26")
if(!file.exists(outdir)){
dir.create(outdir)
}
ggsave(paste0(outdir,"/","Vol_ang_veh.pdf"),width =8, height = 8)
ggsave(paste0(outdir,"/","Vol_ang_veh.png"),width =8, height = 8,bg = 'white')