library(Seurat)
## Attaching SeuratObject
library(SeuratWrappers)
library(slingshot)
## Loading required package: princurve
library(cowplot)
library(ggplot2)
library(devtools)
## Loading required package: usethis
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 <- readRDS("/mnt/nectar_volume/home/eraz0001/pbmc_human/pbmc_tutorial_final.rds")
current.cluster.ids <- c(0:8)
new.cluster.ids <- c("Naive CD4 T", "CD14+ Mono", "Memory CD4 T", "B", "CD8 T", "FCGR3A+ Mono", "NK", "DC", "Platelet")
pbmc@meta.data$celltype <- plyr::mapvalues(x = pbmc@meta.data[,"seurat_clusters"], from = current.cluster.ids, to = new.cluster.ids)
head(pbmc@meta.data)
##                  orig.ident nCount_RNA nFeature_RNA percent.mt percent_ribo
## AAACATACAACCAC-1     pbmc3k       2419          779  3.0177759     43.69574
## AAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958     42.40261
## AAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363     31.68097
## AAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845     24.25161
## AAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898     14.89796
## AAACGCACTGGTAC-1     pbmc3k       2163          781  1.6643551     36.19972
##                  RNA_snn_res.0.5 seurat_clusters     celltype
## AAACATACAACCAC-1               2               2 Memory CD4 T
## AAACATTGAGCTAC-1               3               3            B
## AAACATTGATCAGC-1               2               2 Memory CD4 T
## AAACCGTGCTTCCG-1               1               1   CD14+ Mono
## AAACCGTGTATGCG-1               6               6           NK
## AAACGCACTGGTAC-1               2               2 Memory CD4 T
DimPlot(pbmc)

pbmc.markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
## Calculating cluster Naive CD4 T
## Calculating cluster CD14+ Mono
## Calculating cluster Memory CD4 T
## Calculating cluster B
## Calculating cluster CD8 T
## Calculating cluster FCGR3A+ Mono
## Calculating cluster NK
## Calculating cluster DC
## Calculating cluster Platelet
pbmc.markers %>%
    group_by(cluster) %>%
    slice_max(n = 10, order_by = avg_log2FC)
## # A tibble: 90 × 7
## # Groups:   cluster [9]
##        p_val avg_log2FC pct.1 pct.2 p_val_adj cluster     gene     
##        <dbl>      <dbl> <dbl> <dbl>     <dbl> <fct>       <chr>    
##  1 1.17e- 83      1.33  0.435 0.108 1.60e- 79 Naive CD4 T CCR7     
##  2 1.74e-109      1.07  0.897 0.593 2.39e-105 Naive CD4 T LDHB     
##  3 3.28e- 49      1.05  0.333 0.103 4.50e- 45 Naive CD4 T LEF1     
##  4 9.31e- 44      1.03  0.328 0.11  1.28e- 39 Naive CD4 T PRKCQ-AS1
##  5 6.66e- 49      0.983 0.623 0.358 9.13e- 45 Naive CD4 T NOSIP    
##  6 8.94e- 79      0.954 0.838 0.403 1.23e- 74 Naive CD4 T CD3D     
##  7 4.69e- 43      0.946 0.435 0.184 6.43e- 39 Naive CD4 T PIK3IP1  
##  8 2.44e- 33      0.933 0.262 0.087 3.34e- 29 Naive CD4 T MAL      
##  9 3.05e- 53      0.849 0.722 0.399 4.19e- 49 Naive CD4 T CD3E     
## 10 3.86e-110      0.779 0.99  0.977 5.29e-106 Naive CD4 T RPS3A    
## # … with 80 more rows
pbmc.markers %>%
    group_by(cluster) %>%
    top_n(n = 3, wt = avg_log2FC) -> top3
markers <- top3$gene
markers
##  [1] "LDHB"     "CCR7"     "LEF1"     "S100A9"   "S100A8"   "LYZ"     
##  [7] "LTB"      "CD2"      "AQP3"     "CD79A"    "CD79B"    "TCL1A"   
## [13] "CCL5"     "GZMK"     "GZMH"     "FCGR3A"   "LST1"     "FCER1G"  
## [19] "GZMB"     "FGFBP2"   "GNLY"     "FCER1A"   "HLA-DQA1" "HLA-DPB1"
## [25] "PF4"      "GNG11"    "PPBP"
DotPlot(pbmc, features = markers, cols=c("#5F4B8BFF", "#ED2B33FF"), assay = "RNA", col.min = 0.3, col.max = 0.8, dot.min=0.12, dot.scale = 1,
        cluster.idents=F)+
  scale_size(range = c(0, 5))+ 
  scale_size_area(max_size = 5)+ 
  #scale_color_viridis_c(name = 'log2 (count + 1)') + 
  cowplot::theme_cowplot() +
  theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1, size = 8, family="TT Times New Roman"),
        axis.text.y = element_text(angle = 0, vjust = 0.5, hjust=1, size = 8.5, family="TT Times New Roman"),
        legend.text = element_text(size=8),
        legend.title = element_text(size = 9)) + 
  scale_color_gradientn(colours = viridis::magma(20), limits = c(0,1), oob = scales::squish, name = 'log2 (count + 1)')
## Scale for 'size' is already present. Adding another scale for 'size', which
## will replace the existing scale.
## Scale for 'size' is already present. Adding another scale for 'size', which
## will replace the existing scale.
## Scale for 'colour' is already present. Adding another scale for 'colour',
## which will replace the existing scale.
## Warning: Removed 120 rows containing missing values (geom_point).

session_info()
## ─ Session info ───────────────────────────────────────────────────────────────
##  setting  value
##  version  R version 4.0.2 (2020-06-22)
##  os       Ubuntu 20.04.4 LTS
##  system   x86_64, linux-gnu
##  ui       X11
##  language (EN)
##  collate  en_AU.UTF-8
##  ctype    en_AU.UTF-8
##  tz       Australia/Melbourne
##  date     2022-06-27
##  pandoc   2.17.1.1 @ /usr/lib/rstudio-server/bin/quarto/bin/ (via rmarkdown)
## 
## ─ Packages ───────────────────────────────────────────────────────────────────
##  package              * version  date (UTC) lib source
##  abind                  1.4-5    2016-07-21 [1] CRAN (R 4.0.2)
##  ape                    5.6-1    2022-01-07 [1] CRAN (R 4.0.2)
##  assertthat             0.2.1    2019-03-21 [1] CRAN (R 4.0.2)
##  Biobase                2.50.0   2020-10-27 [1] Bioconductor
##  BiocGenerics           0.36.1   2021-04-16 [1] Bioconductor
##  BiocManager            1.30.16  2021-06-15 [1] CRAN (R 4.0.2)
##  bitops                 1.0-7    2021-04-24 [1] CRAN (R 4.0.2)
##  brio                   1.1.3    2021-11-30 [1] CRAN (R 4.0.2)
##  bslib                  0.3.1    2021-10-06 [1] CRAN (R 4.0.2)
##  cachem                 1.0.6    2021-08-19 [1] CRAN (R 4.0.2)
##  callr                  3.7.0    2021-04-20 [1] CRAN (R 4.0.2)
##  cli                    3.2.0    2022-02-14 [1] CRAN (R 4.0.2)
##  cluster                2.1.3    2022-03-28 [1] CRAN (R 4.0.2)
##  codetools              0.2-16   2018-12-24 [2] CRAN (R 4.0.2)
##  colorspace             2.0-2    2021-06-24 [1] CRAN (R 4.0.2)
##  cowplot              * 1.1.1    2020-12-30 [1] CRAN (R 4.0.2)
##  crayon                 1.4.2    2021-10-29 [1] CRAN (R 4.0.2)
##  data.table             1.14.2   2021-09-27 [1] CRAN (R 4.0.2)
##  DBI                    1.1.2    2021-12-20 [1] CRAN (R 4.0.2)
##  DelayedArray           0.16.3   2021-03-24 [1] Bioconductor
##  deldir                 1.0-6    2021-10-23 [1] CRAN (R 4.0.2)
##  desc                   1.4.0    2021-09-28 [1] CRAN (R 4.0.2)
##  devtools             * 2.4.3    2021-11-30 [1] CRAN (R 4.0.2)
##  digest                 0.6.29   2021-12-01 [1] CRAN (R 4.0.2)
##  dplyr                * 1.0.8    2022-02-08 [1] CRAN (R 4.0.2)
##  ellipsis               0.3.2    2021-04-29 [1] CRAN (R 4.0.2)
##  evaluate               0.15     2022-02-18 [1] CRAN (R 4.0.2)
##  fansi                  1.0.2    2022-01-14 [1] CRAN (R 4.0.2)
##  farver                 2.1.0    2021-02-28 [1] CRAN (R 4.0.2)
##  fastmap                1.1.0    2021-01-25 [1] CRAN (R 4.0.2)
##  fitdistrplus           1.1-6    2021-09-28 [1] CRAN (R 4.0.2)
##  fs                     1.5.2    2021-12-08 [1] CRAN (R 4.0.2)
##  future                 1.23.0   2021-10-31 [1] CRAN (R 4.0.2)
##  future.apply           1.8.1    2021-08-10 [1] CRAN (R 4.0.2)
##  generics               0.1.2    2022-01-31 [1] CRAN (R 4.0.2)
##  GenomeInfoDb           1.26.7   2021-04-08 [1] Bioconductor
##  GenomeInfoDbData       1.2.4    2022-02-02 [1] Bioconductor
##  GenomicRanges          1.42.0   2020-10-27 [1] Bioconductor
##  ggplot2              * 3.3.6    2022-05-03 [1] CRAN (R 4.0.2)
##  ggrepel                0.9.1    2021-01-15 [1] CRAN (R 4.0.2)
##  ggridges               0.5.3    2021-01-08 [1] CRAN (R 4.0.2)
##  globals                0.14.0   2020-11-22 [1] CRAN (R 4.0.2)
##  glue                   1.6.1    2022-01-22 [1] CRAN (R 4.0.2)
##  goftest                1.2-3    2021-10-07 [1] CRAN (R 4.0.2)
##  gridExtra              2.3      2017-09-09 [1] CRAN (R 4.0.2)
##  gtable                 0.3.0    2019-03-25 [1] CRAN (R 4.0.2)
##  highr                  0.9      2021-04-16 [1] CRAN (R 4.0.2)
##  htmltools              0.5.2    2021-08-25 [1] CRAN (R 4.0.2)
##  htmlwidgets            1.5.4    2021-09-08 [1] CRAN (R 4.0.2)
##  httpuv                 1.6.5    2022-01-05 [1] CRAN (R 4.0.2)
##  httr                   1.4.2    2020-07-20 [1] CRAN (R 4.0.2)
##  ica                    1.0-2    2018-05-24 [1] CRAN (R 4.0.2)
##  igraph                 1.2.11   2022-01-04 [1] CRAN (R 4.0.2)
##  IRanges                2.24.1   2020-12-12 [1] Bioconductor
##  irlba                  2.3.5    2021-12-06 [1] CRAN (R 4.0.2)
##  jquerylib              0.1.4    2021-04-26 [1] CRAN (R 4.0.2)
##  jsonlite               1.7.3    2022-01-17 [1] CRAN (R 4.0.2)
##  KernSmooth             2.23-17  2020-04-26 [2] CRAN (R 4.0.2)
##  knitr                  1.39     2022-04-26 [1] CRAN (R 4.0.2)
##  labeling               0.4.2    2020-10-20 [1] CRAN (R 4.0.2)
##  later                  1.3.0    2021-08-18 [1] CRAN (R 4.0.2)
##  lattice                0.20-41  2020-04-02 [2] CRAN (R 4.0.2)
##  lazyeval               0.2.2    2019-03-15 [1] CRAN (R 4.0.2)
##  leiden                 0.3.9    2021-07-27 [1] CRAN (R 4.0.2)
##  lifecycle              1.0.1    2021-09-24 [1] CRAN (R 4.0.2)
##  limma                  3.46.0   2020-10-27 [1] Bioconductor
##  listenv                0.8.0    2019-12-05 [1] CRAN (R 4.0.2)
##  lmtest                 0.9-39   2021-11-07 [1] CRAN (R 4.0.2)
##  magrittr               2.0.2    2022-01-26 [1] CRAN (R 4.0.2)
##  MASS                   7.3-51.6 2020-04-26 [2] CRAN (R 4.0.2)
##  Matrix                 1.4-0    2021-12-08 [1] CRAN (R 4.0.2)
##  MatrixGenerics         1.2.1    2021-01-30 [1] Bioconductor
##  matrixStats            0.61.0   2021-09-17 [1] CRAN (R 4.0.2)
##  memoise                2.0.1    2021-11-26 [1] CRAN (R 4.0.2)
##  mgcv                   1.8-31   2019-11-09 [2] CRAN (R 4.0.2)
##  mime                   0.12     2021-09-28 [1] CRAN (R 4.0.2)
##  miniUI                 0.1.1.1  2018-05-18 [1] CRAN (R 4.0.2)
##  munsell                0.5.0    2018-06-12 [1] CRAN (R 4.0.2)
##  nlme                   3.1-148  2020-05-24 [2] CRAN (R 4.0.2)
##  parallelly             1.30.0   2021-12-17 [1] CRAN (R 4.0.2)
##  patchwork              1.1.1    2020-12-17 [1] CRAN (R 4.0.2)
##  pbapply                1.5-0    2021-09-16 [1] CRAN (R 4.0.2)
##  pillar                 1.7.0    2022-02-01 [1] CRAN (R 4.0.2)
##  pkgbuild               1.3.1    2021-12-20 [1] CRAN (R 4.0.2)
##  pkgconfig              2.0.3    2019-09-22 [1] CRAN (R 4.0.2)
##  pkgload                1.2.4    2021-11-30 [1] CRAN (R 4.0.2)
##  plotly                 4.10.0   2021-10-09 [1] CRAN (R 4.0.2)
##  plyr                   1.8.6    2020-03-03 [1] CRAN (R 4.0.2)
##  png                    0.1-7    2013-12-03 [1] CRAN (R 4.0.2)
##  polyclip               1.10-0   2019-03-14 [1] CRAN (R 4.0.2)
##  prettyunits            1.1.1    2020-01-24 [1] CRAN (R 4.0.2)
##  princurve            * 2.1.6    2021-01-18 [1] CRAN (R 4.0.2)
##  processx               3.5.2    2021-04-30 [1] CRAN (R 4.0.2)
##  promises               1.2.0.1  2021-02-11 [1] CRAN (R 4.0.2)
##  ps                     1.6.0    2021-02-28 [1] CRAN (R 4.0.2)
##  purrr                  0.3.4    2020-04-17 [1] CRAN (R 4.0.2)
##  R.methodsS3            1.8.1    2020-08-26 [1] CRAN (R 4.0.2)
##  R.oo                   1.24.0   2020-08-26 [1] CRAN (R 4.0.2)
##  R.utils                2.11.0   2021-09-26 [1] CRAN (R 4.0.2)
##  R6                     2.5.1    2021-08-19 [1] CRAN (R 4.0.2)
##  RANN                   2.6.1    2019-01-08 [1] CRAN (R 4.0.2)
##  RColorBrewer           1.1-2    2014-12-07 [1] CRAN (R 4.0.2)
##  Rcpp                   1.0.8    2022-01-13 [1] CRAN (R 4.0.2)
##  RcppAnnoy              0.0.19   2021-07-30 [1] CRAN (R 4.0.2)
##  RCurl                  1.98-1.5 2021-09-17 [1] CRAN (R 4.0.2)
##  remotes                2.4.2    2021-11-30 [1] CRAN (R 4.0.2)
##  reshape2               1.4.4    2020-04-09 [1] CRAN (R 4.0.2)
##  reticulate             1.24     2022-01-26 [1] CRAN (R 4.0.2)
##  rlang                  1.0.2    2022-03-04 [1] CRAN (R 4.0.2)
##  rmarkdown              2.14     2022-04-25 [1] CRAN (R 4.0.2)
##  ROCR                   1.0-11   2020-05-02 [1] CRAN (R 4.0.2)
##  rpart                  4.1-15   2019-04-12 [2] CRAN (R 4.0.2)
##  rprojroot              2.0.2    2020-11-15 [1] CRAN (R 4.0.2)
##  rstudioapi             0.13     2020-11-12 [1] CRAN (R 4.0.2)
##  rsvd                   1.0.5    2021-04-16 [1] CRAN (R 4.0.2)
##  Rtsne                  0.15     2018-11-10 [1] CRAN (R 4.0.2)
##  S4Vectors              0.28.1   2020-12-09 [1] Bioconductor
##  sass                   0.4.0    2021-05-12 [1] CRAN (R 4.0.2)
##  scales                 1.2.0    2022-04-13 [1] CRAN (R 4.0.2)
##  scattermore            0.7      2020-11-24 [1] CRAN (R 4.0.2)
##  sctransform            0.3.3    2022-01-13 [1] CRAN (R 4.0.2)
##  sessioninfo            1.2.2    2021-12-06 [1] CRAN (R 4.0.2)
##  Seurat               * 4.1.0    2022-01-14 [1] CRAN (R 4.0.2)
##  SeuratObject         * 4.0.4    2021-11-23 [1] CRAN (R 4.0.2)
##  SeuratWrappers       * 0.3.0    2022-02-02 [1] Github (satijalab/seurat-wrappers@8510069)
##  shiny                  1.7.1    2021-10-02 [1] CRAN (R 4.0.2)
##  SingleCellExperiment   1.12.0   2020-10-27 [1] Bioconductor
##  slingshot            * 1.8.0    2020-10-27 [1] Bioconductor
##  spatstat.core          2.3-2    2021-11-26 [1] CRAN (R 4.0.2)
##  spatstat.data          2.1-2    2021-12-17 [1] CRAN (R 4.0.2)
##  spatstat.geom          2.3-1    2021-12-10 [1] CRAN (R 4.0.2)
##  spatstat.sparse        2.1-0    2021-12-17 [1] CRAN (R 4.0.2)
##  spatstat.utils         2.3-0    2021-12-12 [1] CRAN (R 4.0.2)
##  stringi                1.7.6    2021-11-29 [1] CRAN (R 4.0.2)
##  stringr                1.4.0    2019-02-10 [1] CRAN (R 4.0.2)
##  SummarizedExperiment   1.20.0   2020-10-27 [1] Bioconductor
##  survival               3.1-12   2020-04-10 [2] CRAN (R 4.0.2)
##  tensor                 1.5      2012-05-05 [1] CRAN (R 4.0.2)
##  testthat               3.1.2    2022-01-20 [1] CRAN (R 4.0.2)
##  tibble                 3.1.6    2021-11-07 [1] CRAN (R 4.0.2)
##  tidyr                  1.2.0    2022-02-01 [1] CRAN (R 4.0.2)
##  tidyselect             1.1.2    2022-02-21 [1] CRAN (R 4.0.2)
##  usethis              * 2.1.5    2021-12-09 [1] CRAN (R 4.0.2)
##  utf8                   1.2.2    2021-07-24 [1] CRAN (R 4.0.2)
##  uwot                   0.1.11   2021-12-02 [1] CRAN (R 4.0.2)
##  vctrs                  0.3.8    2021-04-29 [1] CRAN (R 4.0.2)
##  viridis                0.6.2    2021-10-13 [1] CRAN (R 4.0.2)
##  viridisLite            0.4.0    2021-04-13 [1] CRAN (R 4.0.2)
##  withr                  2.4.3    2021-11-30 [1] CRAN (R 4.0.2)
##  xfun                   0.30     2022-03-02 [1] CRAN (R 4.0.2)
##  xtable                 1.8-4    2019-04-21 [1] CRAN (R 4.0.2)
##  XVector                0.30.0   2020-10-27 [1] Bioconductor
##  yaml                   2.2.2    2022-01-25 [1] CRAN (R 4.0.2)
##  zlibbioc               1.36.0   2020-10-27 [1] Bioconductor
##  zoo                    1.8-9    2021-03-09 [1] CRAN (R 4.0.2)
## 
##  [1] /mnt/nectar_volume/home/eraz0001/R/x86_64-pc-linux-gnu-library/4.0
##  [2] /mnt/nectar_volume/software/apps/R/4.0.2/lib/R/library
## 
## ──────────────────────────────────────────────────────────────────────────────