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)

sub1 <- subset(pbmc, cells=rownames(pbmc@meta.data[pbmc@meta.data$celltype %in% c("Naive CD4 T", "B", "CD14+ Mono", "Memory CD4 T"),]))
sub_sce1 <- as.SingleCellExperiment(sub1)
kiri <- sub_sce1@int_colData$reducedDims@listData$PCA[,1:20]
sub_sce1@int_colData$reducedDims@listData$PCA <- kiri
temp <- grep( "^MT-", rownames(sub_sce1), ignore.case = F, value = T) 
sub_sce1 <- sub_sce1[!rownames(sub_sce1) %in% temp,]
temp2 <- grep( "^RP", rownames(sub_sce1), ignore.case = F, value = T) 
sub_sce1 <- sub_sce1[!rownames(sub_sce1) %in% temp2,] 
sub_slingshot1 <- slingshot(sub_sce1, clusterLabels = "celltype", reducedDim = 'UMAP', start.clus="Naive CD4 T", end.clus="B")
## Using full covariance matrix
summary(sub_slingshot1$slingPseudotime_1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   0.000   2.962  17.616  15.486  20.917  36.797     536
print(SlingshotDataSet(sub_slingshot1))
## class: SlingshotDataSet 
## 
##  Samples Dimensions
##     2007          2
## 
## lineages: 2 
## Lineage1: Naive CD4 T  CD14+ Mono  B  
## Lineage2: Naive CD4 T  Memory CD4 T  
## 
## curves: 2 
## Curve1: Length: 36.797   Samples: 1404.51
## Curve2: Length: 11.712   Samples: 1151.79
sub1@meta.data$celltype <- factor(sub1@meta.data$celltype, levels = c("Memory CD4 T",   "Naive CD4 T",   "CD14+ Mono",   "B"))
print(SlingshotDataSet(sub_slingshot1))
## class: SlingshotDataSet 
## 
##  Samples Dimensions
##     2007          2
## 
## lineages: 2 
## Lineage1: Naive CD4 T  CD14+ Mono  B  
## Lineage2: Naive CD4 T  Memory CD4 T  
## 
## curves: 2 
## Curve1: Length: 36.797   Samples: 1404.51
## Curve2: Length: 11.712   Samples: 1151.79
t1 <- sub_slingshot1$slingPseudotime_1
gene.list1 <- c("CD14","LYZ","IL7R","CCR7")
loess_data1 <- BiocGenerics::as.data.frame(sub1@assays$RNA@data[gene.list1,])
loess_data1 = loess_data1[,order(t1)]
temp1 <- loess_data1
temp1 <- t(temp1)
temp1 = as.data.frame(temp1)
temp1$index = 1:nrow(temp1)
temp1$ct = sub1@meta.data$celltype[order(t1)]
p1 <- ggplot(temp1, aes(y = CD14, x = index)) + geom_smooth(method = loess,level=1-1e-10) + coord_cartesian(ylim = c(0, 4.2))
p2 <- ggplot(temp1, aes(y = LYZ, x = index)) + geom_smooth(method = loess,level=1-1e-10) + coord_cartesian(ylim = c(0, 4.2))
p3 <- ggplot(temp1, aes(y = IL7R, x = index)) + geom_smooth(method = loess,level=1-1e-10) + coord_cartesian(ylim = c(0, 4.2))
p4 <- ggplot(temp1, aes(y = CCR7, x = index)) + geom_smooth(method = loess,level=1-1e-10) + coord_cartesian(ylim = c(0, 4.2))
plot_grid(p1, p2, p3, p4)
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'

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)
##  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)
##  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
## 
## ──────────────────────────────────────────────────────────────────────────────
dev.off()
## null device 
##           1