火山圖學習

嘗試復現(xiàn)文章的過程中,運用生信技能樹jimmy大大的搜索神技,順利整理出了一幅看著還不錯的火山圖,用的包是ggplot2,分享一下,共同學習進步!
首先用dplyr包挑選作圖列, mutate(v= -log10(adj.P.Val)增加一列(y軸),以case_when()將基因根據(jù)abs(logFC)>=2&adj.P.Val(FDR) < 0.01分為上調(diào)下調(diào)及穩(wěn)定基因。
通過一系列函數(shù)對橫坐標range進行了限定,本例子中所得x軸(abs(logFC))最大值為6,所以橫軸坐標修改為了(-6,6)。
其他自主修改的參數(shù)有顏色,透明度,以及圖形大小。emmmm,個人感覺漸變不太好看(可能不習慣太淺的顏色)。

if(T){ 
  library(dplyr)
  library(tidyverse)
  library(ggplot2)
  DEG_valvone <- nrDEG
  colnames(DEG_valvone)
  DEG_valvone <- DEG_valvone %>%
    select(logFC,AveExpr, adj.P.Val) %>%
    mutate(v= -log10(adj.P.Val),
           gene_type = case_when(logFC >= 2 & adj.P.Val < 0.01 ~ "up",
                                 logFC <= -2 & adj.P.Val < 0.01 ~ "down",
                                 TRUE ~ "stable")) 
##查看x坐標軸設定范圍
DEG_valvone %>%
  pull(logFC) %>%
  min() %>%
  floor()   #查看x軸最小邊界 -5
DEG_valvone %>%
  pull(logFC) %>%
  max() %>%
  ceiling()  #最大邊界6

###設定上調(diào)下調(diào)穩(wěn)定點顏色大小透明度
cols <- c("up" = "#ffad73", "down" = "#26b3ff", "stable" = "grey") 
sizes <- c("up" = 2, "down" = 2, "stable" = 1) 
alphas <- c("up" = 1, "down" = 1, "stable" = 0.5)
}
final_plot <- DEG_valvone %>%
  ggplot(aes(x = logFC,
             y = v,
             fill = gene_type,    
             size = gene_type,
             alpha = gene_type)) + 
  geom_point(shape = 21, # Specify shape and colour as fixed local parameters    
             colour = "black") + 
  geom_hline(yintercept = -log10(0.01),
             linetype = "dashed") + 
  geom_vline(xintercept = c(-2, 2),
             linetype = "dashed") +
  scale_fill_manual(values = cols) + # Modify point colour
  scale_size_manual(values = sizes) + # Modify point size
  scale_alpha_manual(values = alphas) + # Modify point transparency
  scale_x_continuous(breaks = c(seq(-6, 6, 1)),       
                     limits = c(-6, 6))+
  labs(title = "Gene expression changes in Vemurafenib versus control samples",
       x = "log2(fold change)",
       y = "-log10(adjusted P-value)",
       colour = "Expression \nchange") +
  theme_bw() + # Select theme with a white background  
  theme(panel.border = element_rect(colour = "black", fill = NA, size= 0.5),    
        panel.grid.minor = element_blank(),
        panel.grid.major = element_blank()) 
final_plot
    ggsave("valcone_plot.png",plot = final_plot,width = 200,height = 150,units ="mm" )

valcone_plot.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容