library(Seurat)
## Attaching SeuratObject
library(SeuratWrappers)
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
pbmc_tutorial_final <- readRDS("/mnt/nectar_volume/home/eraz0001/pbmc_human/pbmc_tutorial_final.rds")
levels(pbmc_tutorial_final)
## [1] "Naive CD4 T"  "CD14+ Mono"   "Memory CD4 T" "B"            "CD8 T"       
## [6] "FCGR3A+ Mono" "NK"           "DC"           "Platelet"

Volcano_plot can be drawn to idnetify the differences between two clusters “CD8 T” and “CD14+ Mono”

markers <- FindMarkers(pbmc_tutorial_final, ident.1 = "Naive CD4 T", ident.2 = "CD14+ Mono")
data <- markers %>% 
  mutate(
    Expression = case_when(avg_log2FC >= log(2) & p_val_adj <= 0.05 ~ "Up-regulated",
                           avg_log2FC <= -log(2) & p_val_adj <= 0.05 ~ "Down-regulated",
                           TRUE ~ "Unchanged")
    )
p2 <- ggplot(data, aes(avg_log2FC, -log(p_val_adj ,10))) +
    geom_point(aes(color = Expression), size = 2/5) +
    xlab(expression("log"[2]*"FC")) + 
    ylab(expression("-log"[10]*"FDR")) +
    scale_color_manual(values = c("dodgerblue3", "gray50", "firebrick3")) +
    guides(colour = guide_legend(override.aes = list(size=1.5)))
p2

sessionInfo()
## R version 4.0.2 (2020-06-22)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.4 LTS
## 
## Matrix products: default
## BLAS:   /mnt/nectar_volume/software/apps/R/4.0.2/lib/R/lib/libRblas.so
## LAPACK: /mnt/nectar_volume/software/apps/R/4.0.2/lib/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
##  [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_AU.UTF-8   
##  [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] dplyr_1.0.8          ggplot2_3.3.6        SeuratWrappers_0.3.0
## [4] SeuratObject_4.0.4   Seurat_4.1.0        
## 
## loaded via a namespace (and not attached):
##   [1] Rtsne_0.15            colorspace_2.0-2      deldir_1.0-6         
##   [4] ellipsis_0.3.2        ggridges_0.5.3        rstudioapi_0.13      
##   [7] spatstat.data_2.1-2   farver_2.1.0          leiden_0.3.9         
##  [10] listenv_0.8.0         remotes_2.4.2         ggrepel_0.9.1        
##  [13] fansi_1.0.2           R.methodsS3_1.8.1     codetools_0.2-16     
##  [16] splines_4.0.2         knitr_1.39            polyclip_1.10-0      
##  [19] jsonlite_1.7.3        ica_1.0-2             cluster_2.1.3        
##  [22] R.oo_1.24.0           png_0.1-7             uwot_0.1.11          
##  [25] shiny_1.7.1           sctransform_0.3.3     spatstat.sparse_2.1-0
##  [28] BiocManager_1.30.16   compiler_4.0.2        httr_1.4.2           
##  [31] assertthat_0.2.1      Matrix_1.4-0          fastmap_1.1.0        
##  [34] lazyeval_0.2.2        limma_3.46.0          cli_3.2.0            
##  [37] later_1.3.0           htmltools_0.5.2       tools_4.0.2          
##  [40] rsvd_1.0.5            igraph_1.2.11         gtable_0.3.0         
##  [43] glue_1.6.1            RANN_2.6.1            reshape2_1.4.4       
##  [46] Rcpp_1.0.8            scattermore_0.7       jquerylib_0.1.4      
##  [49] vctrs_0.3.8           nlme_3.1-148          lmtest_0.9-39        
##  [52] xfun_0.30             stringr_1.4.0         globals_0.14.0       
##  [55] mime_0.12             miniUI_0.1.1.1        lifecycle_1.0.1      
##  [58] irlba_2.3.5           goftest_1.2-3         future_1.23.0        
##  [61] MASS_7.3-51.6         zoo_1.8-9             scales_1.1.1         
##  [64] spatstat.core_2.3-2   promises_1.2.0.1      spatstat.utils_2.3-0 
##  [67] parallel_4.0.2        RColorBrewer_1.1-2    yaml_2.2.2           
##  [70] reticulate_1.24       pbapply_1.5-0         gridExtra_2.3        
##  [73] sass_0.4.0            rpart_4.1-15          stringi_1.7.6        
##  [76] highr_0.9             rlang_1.0.2           pkgconfig_2.0.3      
##  [79] matrixStats_0.61.0    evaluate_0.15         lattice_0.20-41      
##  [82] ROCR_1.0-11           purrr_0.3.4           tensor_1.5           
##  [85] labeling_0.4.2        patchwork_1.1.1       htmlwidgets_1.5.4    
##  [88] cowplot_1.1.1         tidyselect_1.1.2      parallelly_1.30.0    
##  [91] RcppAnnoy_0.0.19      plyr_1.8.6            magrittr_2.0.2       
##  [94] R6_2.5.1              generics_0.1.2        DBI_1.1.2            
##  [97] withr_2.4.3           mgcv_1.8-31           pillar_1.7.0         
## [100] fitdistrplus_1.1-6    survival_3.1-12       abind_1.4-5          
## [103] tibble_3.1.6          future.apply_1.8.1    crayon_1.4.2         
## [106] KernSmooth_2.23-17    utf8_1.2.2            spatstat.geom_2.3-1  
## [109] plotly_4.10.0         rmarkdown_2.14        grid_4.0.2           
## [112] data.table_1.14.2     digest_0.6.29         xtable_1.8-4         
## [115] tidyr_1.2.0           httpuv_1.6.5          R.utils_2.11.0       
## [118] munsell_0.5.0         viridisLite_0.4.0     bslib_0.3.1