普通火山图
##火山图
library(ggVolcano)
data <-FindMarkers(Mac, min.pct = 0.25, logfc.threshold =0.25, only.pos = FALSE, group.by = "group",ident.1 ="TBI",ident.2="MC")
write.csv(data,"Mac_tbi_mc_diff.csv" )
# use the function -- add_regulate to add a regulate column
# to the DEG result data.
data <- add_regulate(data, log2FC_name = "avg_log2FC",
fdr_name = "p_val_adj",log2FC = 1, fdr = 0.05)
# plot
ggvolcano(data, x = "log2FoldChange", y = "padj",
label = "row", label_number = 10, output = FALSE)
##修饰描边和颜色
p1 <- ggvolcano(data, x = "log2FoldChange", y = "padj",
fills = c("#e94234","#b4b4d8","#269846"),
colors = c("#e94234","#b4b4d8","#269846"),
label = "row", label_number = 10, output = FALSE)
p2 <- ggvolcano(data, x = "log2FoldChange", y = "padj",
label = "row", label_number = 10, output = FALSE)+
ggsci::scale_color_aaas()+
ggsci::scale_fill_aaas()
library(patchwork)
p1|p2
渐变火山图
#使用gradual_volcano函数来制作一个渐变色火山图
gradual_volcano(data, x = "log2FoldChange", y = "padj",
label = "row", label_number = 10, output = FALSE)
#修改散点的颜色和描边
library(RColorBrewer)
# Change the fill and color manually:
p1 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",
fills = brewer.pal(5, "RdYlBu"),
colors = brewer.pal(8, "RdYlBu"),
label = "row", label_number = 10, output = FALSE)
p2 <- gradual_volcano(data, x = "log2FoldChange", y = "padj",
label = "row", label_number = 10, output = FALSE)+
ggsci::scale_color_gsea()+
ggsci::scale_fill_gsea()
library(patchwork)
p1|p2
#如果你想调整点的大小范围,你可以使用pointSizeRange = c(min_size, max_size)。其中min_size, max_size代表散点的最小尺寸和最大尺寸。
多组火山图
library("scRNAtoolVis")
Mac <-readRDS("Mac-fenqun-15-0.4.rds")
Mac_markers <- FindAllMarkers(Mac, only.pos = FALSE,
min.pct = 0.25,
logfc.threshold = 0)
options(ggrepel.max.overlaps = Inf)
write.csv(Mac_markers,file="Mac_cluster_updown_marker.csv",quote = T,row.names = T)
# check
head(Mac_markers,3)
jjVolcano(diffData = Mac_markers)
jjVolcano(diffData = Mac_markers,
log2FC.cutoff = 0.5, #调整log2FC阈值
col.type = "adjustP", #颜色映射类型
topGeneN = 3, #top基因数量
aesCol = c("purple","orange"), ##修改点的颜色
tile.col = corrplot::COL2('RdBu', 15)[4:12], #改变矩形颜色
size = 3.5,
fontface = 'italic' #字体
)
#前面的图颜色映射为上下调类型,而 adjustP 则是映射是否矫正 P 值小于 0.01,当然 P 值阈值你自己也可以修改。
#提供基因名,标记自己的基因:
# supply own genes
mygene <- c('LTB','CD79B','CCR7','GNLY')
jjVolcano(diffData = pbmc.markers,myMarkers = mygene)