Analysis of association between Insr and Lxn expression across different individual hypothalamic nuclei astrocytes evaluation datasets

Author

Evgenii O. Tretiakov

Published

July 28, 2023

Load data and setup parameters

Code
# Load tidyverse infrastructure packages
suppressPackageStartupMessages({
  library(future)
  library(here)
  library(tidyverse)
  library(magrittr)
  library(stringr)
  library(skimr)
  library(RColorBrewer)
  library(viridis)
})


# Load packages for scRNA-seq analysis and visualisation
suppressPackageStartupMessages({
  library(ggplot2)
  library(cowplot)
  library(patchwork)
  library(ggstatsplot)
  library(sceasy)
  library(Seurat)
  library(SeuratDisk)
  library(SeuratWrappers)
  library(schex)
  library(scCustomize)
})

Set paths

Code
src_dir <- here("code/")
data_dir <- here("data/")
output_dir <- here("output")
plots_dir <- here(output_dir, "figures/")
tables_dir <- here(output_dir, "tables/")

Load helper functions and gene-sets

Code
source(here(src_dir, "genes.R"))
source(here(src_dir, "functions.R"))

Set fixed variables

Code
# set seed
reseed <- 42
set.seed(seed = reseed)

# Parameters for parallel execution
n_cores <- 8
plan("multisession", workers = n_cores)
options(
  future.globals.maxSize = 1999999 * 1024^2,
  future.rng.onMisuse = "ignore"
)
plan()
multisession:
- args: function (..., workers = 8, envir = parent.frame())
- tweaked: TRUE
- call: plan("multisession", workers = n_cores)
Code
# ggplot2 theme
theme_set(ggmin::theme_powerpoint())
Code
bioproject <- "individual_hypothalamic_nuclei_astrocytes_evaluation_dataset"
cb_fpr <- 0.001
connectivity_model <- "min_tree"
k <- 10
metric <- "euclidean"
signature <- 100

Load predicted astrocytes data

Code
srt_path <- here(
  data_dir,
  sprintf("best_xgboost-subregional-astrocytes_dataset-msp_%s-metric_%s-k_%s-sign_%s-amb_%s.h5Seurat", connectivity_model, metric, k, signature, cb_fpr)
)
srt <- LoadH5Seurat(file = srt_path)

srt <-
  Store_Palette_Seurat(
    seurat_object = srt,
    palette = c(
      "#ffff00", "#fae200", "#f4c500", "#eeab00", "#e99500",
      "#e37f00", "#dd6b00", "#d75b00", "#d04c00", "#c93e00",
      "#c33300", "#bc2800", "#b42003", "#ad1941", "#a41281",
      "#9c0db7", "#9309dd", "#8906f7", "#7f04ff", "#7402f6",
      "#6701db", "#5900b0", "#49007e", "#32003e", "#000000"
    ),
    palette_name = "expr_Colour_Palette_gnuplot_rette_gnuplot_r")

srt <-
  Store_Palette_Seurat(
    seurat_object = srt,
    palette = rev(brewer.pal(n = 11, name = "Spectral")),
    palette_name = "div_Colour_Pal"
  )

colours_code <- c(
  "0" = "grey30",
  "1" = "blue",
  "2" = "skyblue",
  "3" = "forestgreen",
  "4" = "greenyellow",
  "5" = "yellow",
  "6" = "orangered",
  "7" = "grey70"
)

colours_region <- c(
  "ARC" = "grey30",
  "LHA" = "blue",
  "MnPO" = "skyblue",
  "POA" = "forestgreen",
  "PVN" = "greenyellow",
  "SCN" = "yellow",
  "VMH" = "orangered",
  "VPH" = "grey70"
)

coded_region <- c(
  "0" = "ARC" ,
  "1" = "LHA" ,
  "2" = "MnPO",
  "3" = "POA" ,
  "4" = "PVN" ,
  "5" = "SCN" ,
  "6" = "VMH" ,
  "7" = "VPH"
)

print(srt)
An object of class Seurat 
27381 features across 35642 samples within 1 assay 
Active assay: RNA (27381 features, 0 variable features)
 2 dimensional reductions calculated: densmap_logit, densmap_xgboost
Code
invisible(gc())

Preprocess data

Code
srt <- NormalizeData(srt)
srt <- FindVariableFeatures(srt, selection.method = "vst", nfeatures = 5000)
all.genes <- rownames(srt)
srt <- ScaleData(srt, features = all.genes)

Plot joint kernel density distributions (default):

Insr and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Insr", "Lxn"))

Gfap and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Gfap", "Lxn"))

Insr and Gfap expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Insr", "Gfap"))

Gfap and Mfn2 expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Gfap", "Mfn2"))

Mfn2 and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Lxn", "Mfn2"))

Plot joint kernel density distributions (spectral):

Insr and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Insr", "Lxn"), custom_palette = srt@misc$div_Colour_Pal)

Gfap and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Gfap", "Lxn"), custom_palette = srt@misc$div_Colour_Pal)

Insr and Gfap expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Insr", "Gfap"), custom_palette = srt@misc$div_Colour_Pal)

Gfap and Mfn2 expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Gfap", "Mfn2"), custom_palette = srt@misc$div_Colour_Pal)

Mfn2 and Lxn expression in astrocytes

Code
Plot_Density_Joint_Only(seurat_object = srt, reduction = "densmap_xgboost", features = c("Lxn", "Mfn2"), custom_palette = srt@misc$div_Colour_Pal)

Calculate and plot chi2 test of independence between Insr and Lxn expression in astrocytes across different individual hypothalamic nuclei

Code
sbs_mtx <- GetAssayData(object = srt, slot = "count", assay = "RNA") %>%
  as.data.frame() %>%
  t() %>%
  as.data.frame() %>%
  select(Insr, Lxn) %>%
  dplyr::bind_cols(srt@meta.data) %>%
  select(region, Insr, Lxn) %>%
  mutate(Insr_pos = Insr > 0,
         Lxn_pos  = Lxn  > 0)

sbs_mtx %>% skimr::skim()
Data summary
Name Piped data
Number of rows 35642
Number of columns 5
_______________________
Column type frequency:
factor 1
logical 2
numeric 2
________________________
Group variables None

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
region 0 1 FALSE 8 VMH: 24305, SCN: 5507, VPH: 1951, POA: 1706

Variable type: logical

skim_variable n_missing complete_rate mean count
Insr_pos 0 1 0.24 FAL: 27084, TRU: 8558
Lxn_pos 0 1 0.35 FAL: 23165, TRU: 12477

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Insr 0 1 0.31 0.64 0 0 0 0 8 ▇▁▁▁▁
Lxn 0 1 0.57 1.19 0 0 0 1 31 ▇▁▁▁▁
Code
write_csv(sbs_mtx, here(tables_dir, "insr-lxn-association-astrocytes-between-regions-on-evaluation-datasets.csv"))


# plot
grouped_ggpiestats(
  # arguments relevant for `ggpiestats()`
  data = sbs_mtx,
  x = Insr_pos,
  y = Lxn_pos,
  grouping.var = region,
  perc.k = 1,
  package = "ggsci",
  palette = "category10_d3",
  # arguments relevant for `combine_plots()`
  title.text = "InsR specification of Lxn-positive hypothalamic astrocytic lineages",
  caption.text = "Asterisks denote results from proportion tests; \n***: p < 0.001, ns: non-significant",
  plotgrid.args = list(nrow = 8)
)

Code
grouped_ggpiestats(
  # arguments relevant for `ggpiestats()`
  data = sbs_mtx,
  x = Lxn_pos,
  y = Insr_pos,
  grouping.var = region,
  perc.k = 1,
  package = "ggsci",
  palette = "category10_d3",
  # arguments relevant for `combine_plots()`
  title.text = "InsR specification of Lxn-positive hypothalamic astrocytic lineages",
  caption.text = "Asterisks denote results from proportion tests; \n***: p < 0.001, ns: non-significant",
  plotgrid.args = list(nrow = 8)
)

Calculate and plot hexagonal cells representation of astrocytes across different individual hypothalamic nuclei with meta information

Code
srt <- make_hexbin(
  srt,
  nbins = 25,
  dimension_reduction = "densmap_xgboost",
  use_dims = c(1, 2)
)

plot_hexbin_density(srt) + ggsci::scale_fill_material("amber")

Code
plot_hexbin_meta(
  srt,
  col = "project",
  action = "majority"
)

Code
plot_hexbin_meta(
  srt,
  col = "orig.ident",
  action = "majority"
)

Code
plot_hexbin_meta(
  srt,
  col = "tech",
  action = "majority"
)

Code
plot_hexbin_meta(
  srt,
  col = "sex",
  action = "majority"
)

Code
plot_hexbin_meta(
  srt,
  col = "stage",
  action = "majority"
)

Code
plot_hexbin_meta(
  srt,
  col = "predictions_xgboost_eval",
  action = "majority",
  colors = colours_code
)

Code
plot_hexbin_meta(
  srt,
  col = "region",
  action = "majority",
  colors = colours_region
)

Quantify and plot hexagon representation of feature interactions with Spearman’s correlation

Insr and Lxn correlation in astrocytes

Code
p1 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Insr", "Lxn"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Insr and Lxn/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p1

Insr and Gfap correlation in astrocytes

Code
p2 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Insr", "Gfap"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Insr and Gfap/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p2

Insr and Mfn2 correlation in astrocytes

Code
p3 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Insr", "Mfn2"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Insr and Mfn2/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p3

Lxn and Gfap correlation in astrocytes

Code
p4 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Lxn", "Gfap"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Lxn and Gfap/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p4

Lxn and Mfn2 correlation in astrocytes

Code
p5 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Lxn", "Mfn2"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Lxn and Mfn2/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p5

Gfap and Mfn2 correlation in astrocytes

Code
p6 <- plot_hexbin_interact(srt,
  type = c("data", "data"),
  mod = c("RNA", "RNA"), feature = c("Gfap", "Mfn2"), interact = "corr_spearman",
  ylab = "densMAP2", xlab = "densMAP1",
  title = "Interaction between mRNA expression of Gfap and Mfn2/nSpearman rho in hexagonal cells representation"
) +
  scale_fill_gradientn(
    colors = srt@misc$expr_Colour_Palette_gnuplot_r,
    na.value = "white"
  )

p6

Plot in one grid

Code
# Create an empty plot for the unused spaces in the grid
empty <- plot_grid(NULL, NULL, labels = "")

# Arrange the plots
plot_grid(
  p3, empty, empty,
  p2, p6, empty,
  p1, p5, p4,
  ncol = 3, nrow = 3
)

Barplot of Insr and Lxn expression in astrocytes across different individual hypothalamic nuclei

Code
# Create a new variable that combines Insr_pos and Lxn_pos
df <- sbs_mtx %>%
  mutate(VarComb = case_when(
    Insr_pos & Lxn_pos ~ "Insr+/Lxn+",
    Insr_pos & !Lxn_pos ~ "Insr+/Lxn-",
    !Insr_pos & Lxn_pos ~ "Insr-/Lxn+",
    !Insr_pos & !Lxn_pos ~ "Insr-/Lxn-"
  ))

# Calculate counts and proportions for each category
df_counts <- df %>%
  group_by(region, VarComb) %>%
  summarise(n = n()) %>%
  mutate(prop = n / sum(n))

# Calculate the total counts for each category
df_total_counts <- df %>%
  group_by(region) %>%
  summarise(total_n = n())

# Create a vector of region names ordered by prop for Insr+/Lxn+ cases for each region
ordered_regions <- df_counts %>%
  filter(VarComb == "Insr+/Lxn-") %>%
  arrange(desc(prop)) %>%
  pull(region)

# Reorder the factor levels of region
df_counts$region <- factor(df_counts$region, levels = ordered_regions)
df_total_counts$region <- factor(df_total_counts$region, levels = ordered_regions)

# Reorder the factor levels of combinations
df_counts$VarComb <- factor(df_counts$VarComb, levels = rev(c("Insr+/Lxn-", "Insr+/Lxn+", "Insr-/Lxn+", "Insr-/Lxn-")))

# Create a stacked bar plot
ggplot(df_counts, aes(x = region, y = n, fill = VarComb)) +
  geom_bar(stat = "identity", color = "black") +
  scale_fill_manual(values = c("Insr+/Lxn+" = "purple", "Insr+/Lxn-" = "red3", "Insr-/Lxn+" = "royalblue", "Insr-/Lxn-" = "grey50")) +
  labs(x = "Hypothalamic subregion", y = "Number of cells", fill = "Expression") +
  theme_minimal() +
  scale_x_discrete(labels = coded_region)

Code
ggplot(df_counts, aes(x = region, y = prop, fill = VarComb)) +
  geom_bar(stat = "identity", color = "black", position = "fill") +
  scale_fill_manual(values = c("Insr+/Lxn-" = "red3", "Insr+/Lxn+" = "purple", "Insr-/Lxn+" = "royalblue", "Insr-/Lxn-" = "grey50")) +
  labs(x = "Hypothalamic subregion", y = "Proportion of cells", fill = "Expression") +
  theme_minimal() +
  scale_x_discrete(labels = coded_region)

Session information

Code
sI <- sessioninfo::session_info()
sI$loadedOnly <- NULL
print(sI, locale = FALSE)
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.2.2 (2022-10-31)
 os       Ubuntu 22.04.2 LTS
 system   x86_64, linux-gnu
 ui       X11
 language en_US:en
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2023-07-28
 pandoc   2.19.2 @ /opt/python/3.8.8/bin/ (via rmarkdown)

─ Packages ───────────────────────────────────────────────────────────────────
 package              * version     date (UTC) lib source
 abind                  1.4-5       2016-07-21 [1] RSPM (R 4.2.0)
 base64enc              0.1-3       2015-07-28 [1] RSPM (R 4.2.0)
 BayesFactor            0.9.12-4.4  2022-07-05 [1] RSPM (R 4.2.0)
 bayestestR             0.13.1      2023-04-30 [1] https://easystats.r-universe.dev (R 4.2.2)
 beeswarm               0.4.0       2021-06-01 [1] RSPM (R 4.2.0)
 Biobase              * 2.58.0      2022-11-01 [1] RSPM (R 4.2.2)
 BiocGenerics         * 0.44.0      2022-11-01 [1] RSPM (R 4.2.2)
 BiocManager            1.30.20     2023-02-24 [1] RSPM (R 4.2.0)
 bit                    4.0.5       2022-11-15 [1] RSPM (R 4.2.0)
 bit64                  4.0.5       2020-08-30 [1] RSPM (R 4.2.0)
 bitops                 1.0-7       2021-04-24 [1] RSPM (R 4.2.0)
 circlize               0.4.15      2022-05-10 [1] RSPM (R 4.2.0)
 cli                    3.6.1       2023-03-23 [1] RSPM (R 4.2.0)
 cluster                2.1.4       2022-08-22 [1] RSPM (R 4.2.0)
 coda                   0.19-4      2020-09-30 [1] RSPM (R 4.2.0)
 codetools              0.2-19      2023-02-01 [1] RSPM (R 4.2.0)
 colorspace             2.1-0       2023-01-23 [1] RSPM (R 4.2.0)
 concaveman             1.1.0       2020-05-11 [1] RSPM (R 4.2.0)
 correlation            0.8.4       2023-04-30 [1] Github (easystats/correlation@3d5cd1e)
 cowplot              * 1.1.1       2020-12-30 [1] RSPM (R 4.2.0)
 crayon                 1.5.2       2022-09-29 [1] RSPM (R 4.2.0)
 data.table             1.14.8      2023-02-17 [1] RSPM (R 4.2.0)
 datawizard             0.7.1       2023-04-03 [1] RSPM (R 4.2.0)
 DelayedArray           0.24.0      2022-11-01 [1] RSPM (R 4.2.2)
 deldir                 1.0-6       2021-10-23 [1] RSPM (R 4.2.0)
 digest                 0.6.31      2022-12-11 [1] RSPM (R 4.2.0)
 dplyr                * 1.1.2       2023-04-20 [1] RSPM (R 4.2.2)
 effectsize             0.8.3       2023-01-28 [1] RSPM (R 4.2.0)
 ellipsis               0.3.2       2021-04-29 [1] RSPM (R 4.2.0)
 emmeans                1.8.5       2023-03-08 [1] RSPM (R 4.2.0)
 entropy                1.3.1       2021-10-02 [1] RSPM (R 4.2.0)
 estimability           1.4.1       2022-08-05 [1] RSPM (R 4.2.0)
 evaluate               0.20        2023-01-17 [1] RSPM (R 4.2.0)
 fansi                  1.0.4       2023-01-22 [1] RSPM (R 4.2.0)
 farver                 2.1.1       2022-07-06 [1] RSPM (R 4.2.0)
 fastmap                1.1.1       2023-02-24 [1] RSPM (R 4.2.0)
 fitdistrplus           1.1-11      2023-04-25 [1] RSPM (R 4.2.2)
 forcats              * 1.0.0       2023-01-29 [1] RSPM (R 4.2.0)
 future               * 1.32.0      2023-03-07 [1] RSPM (R 4.2.0)
 future.apply           1.10.0      2022-11-05 [1] RSPM (R 4.2.0)
 generics               0.1.3       2022-07-05 [1] RSPM (R 4.2.0)
 GenomeInfoDb         * 1.34.9      2023-02-02 [1] RSPM (R 4.2.2)
 GenomeInfoDbData       1.2.9       2023-04-30 [1] RSPM (R 4.2.2)
 GenomicRanges        * 1.50.2      2022-12-16 [1] RSPM (R 4.2.2)
 ggbeeswarm             0.7.2       2023-04-30 [1] Github (eclarke/ggbeeswarm@3cf58a9)
 ggforce                0.4.1.9000  2023-04-30 [1] Github (thomasp85/ggforce@9be635c)
 ggmin                  0.0.0.9000  2023-04-30 [1] Github (sjessa/ggmin@8ada274)
 ggplot2              * 3.4.2       2023-04-03 [1] RSPM (R 4.2.0)
 ggprism                1.0.4       2023-04-30 [1] Github (csdaw/ggprism@0e411f4)
 ggrastr                1.0.1       2023-04-30 [1] Github (VPetukhov/ggrastr@7aed9af)
 ggrepel                0.9.2.9999  2023-04-30 [1] Github (slowkow/ggrepel@fe3b5c3)
 ggridges               0.5.4       2022-09-26 [1] RSPM (R 4.2.0)
 ggsci                  3.0.0       2023-04-30 [1] Github (nanxstats/ggsci@028b373)
 ggstatsplot          * 0.11.1.9000 2023-04-30 [1] Github (IndrajeetPatil/ggstatsplot@befe812)
 GlobalOptions          0.1.2       2020-06-10 [1] RSPM (R 4.2.0)
 globals                0.16.2      2022-11-21 [1] RSPM (R 4.2.0)
 glue                   1.6.2       2022-02-24 [1] RSPM (R 4.2.0)
 goftest                1.2-3       2021-10-07 [1] RSPM (R 4.2.0)
 gridExtra              2.3         2017-09-09 [1] RSPM (R 4.2.0)
 gtable                 0.3.3       2023-03-21 [1] RSPM (R 4.2.0)
 hdf5r                  1.3.8       2023-01-21 [1] RSPM (R 4.2.2)
 here                 * 1.0.1       2020-12-13 [1] RSPM (R 4.2.0)
 hexbin                 1.28.3      2023-03-21 [1] RSPM (R 4.2.0)
 hms                    1.1.3       2023-03-21 [1] RSPM (R 4.2.0)
 htmltools              0.5.5       2023-03-23 [1] RSPM (R 4.2.0)
 htmlwidgets            1.6.2       2023-03-17 [1] RSPM (R 4.2.0)
 httpuv                 1.6.9       2023-02-14 [1] RSPM (R 4.2.0)
 httr                   1.4.5       2023-02-24 [1] RSPM (R 4.2.0)
 ica                    1.0-3       2022-07-08 [1] RSPM (R 4.2.0)
 igraph                 1.4.1       2023-02-24 [1] RSPM (R 4.2.0)
 insight                0.19.1      2023-03-18 [1] RSPM (R 4.2.0)
 IRanges              * 2.32.0      2022-11-01 [1] RSPM (R 4.2.2)
 irlba                  2.3.5.1     2022-10-03 [1] RSPM (R 4.2.0)
 janitor                2.2.0.9000  2023-04-30 [1] Github (sfirke/janitor@d64c8bb)
 jsonlite               1.8.4       2022-12-06 [1] RSPM (R 4.2.0)
 KernSmooth             2.23-20     2021-05-03 [1] RSPM (R 4.2.0)
 knitr                  1.42        2023-01-25 [1] RSPM (R 4.2.0)
 ks                     1.14.0      2022-11-24 [1] RSPM (R 4.2.0)
 labeling               0.4.2       2020-10-20 [1] RSPM (R 4.2.0)
 later                  1.3.0       2021-08-18 [1] RSPM (R 4.2.0)
 lattice                0.21-8      2023-04-05 [1] RSPM (R 4.2.0)
 lazyeval               0.2.2       2019-03-15 [1] RSPM (R 4.2.0)
 leiden                 0.4.3       2022-09-10 [1] RSPM (R 4.2.0)
 lifecycle              1.0.3       2022-10-07 [1] RSPM (R 4.2.0)
 listenv                0.9.0       2022-12-16 [1] RSPM (R 4.2.0)
 lmtest                 0.9-40      2022-03-21 [1] RSPM (R 4.2.0)
 lubridate            * 1.9.2       2023-02-10 [1] RSPM (R 4.2.0)
 magrittr             * 2.0.3       2022-03-30 [1] RSPM (R 4.2.0)
 MASS                   7.3-58.1    2022-08-03 [1] CRAN (R 4.2.2)
 Matrix                 1.5-4       2023-04-04 [1] RSPM (R 4.2.0)
 MatrixGenerics       * 1.10.0      2022-11-01 [1] RSPM (R 4.2.2)
 MatrixModels           0.5-1       2022-09-11 [1] RSPM (R 4.2.0)
 matrixStats          * 0.63.0      2022-11-18 [1] RSPM (R 4.2.0)
 mclust                 6.0.0       2022-10-31 [1] RSPM (R 4.2.0)
 mime                   0.12        2021-09-28 [1] RSPM (R 4.2.0)
 miniUI                 0.1.1.1     2018-05-18 [1] RSPM (R 4.2.0)
 multcomp               1.4-23      2023-03-09 [1] RSPM (R 4.2.0)
 munsell                0.5.0       2018-06-12 [1] RSPM (R 4.2.0)
 mvtnorm                1.1-3       2021-10-08 [1] RSPM (R 4.2.0)
 Nebulosa               1.8.0       2022-11-01 [1] RSPM (R 4.2.2)
 nlme                   3.1-162     2023-01-31 [1] RSPM (R 4.2.0)
 paletteer              1.5.0       2022-10-19 [1] RSPM (R 4.2.0)
 parallelly             1.35.0      2023-03-23 [1] RSPM (R 4.2.0)
 parameters             0.20.3      2023-04-05 [1] RSPM (R 4.2.0)
 patchwork            * 1.1.2.9000  2023-04-30 [1] Github (thomasp85/patchwork@c14c960)
 pbapply                1.7-0       2023-01-13 [1] RSPM (R 4.2.0)
 pillar                 1.9.0       2023-03-22 [1] RSPM (R 4.2.0)
 pkgconfig              2.0.3       2019-09-22 [1] RSPM (R 4.2.0)
 plotly                 4.10.1      2022-11-07 [1] RSPM (R 4.2.0)
 plyr                   1.8.8       2022-11-11 [1] RSPM (R 4.2.0)
 png                    0.1-8       2022-11-29 [1] RSPM (R 4.2.0)
 polyclip               1.10-4      2022-10-20 [1] RSPM (R 4.2.0)
 pracma                 2.4.2       2022-09-22 [1] RSPM (R 4.2.0)
 prismatic              1.1.1       2022-08-15 [1] RSPM (R 4.2.0)
 progressr              0.13.0      2023-01-10 [1] RSPM (R 4.2.0)
 promises               1.2.0.1     2021-02-11 [1] RSPM (R 4.2.0)
 purrr                * 1.0.1       2023-01-10 [1] RSPM (R 4.2.0)
 R.methodsS3            1.8.2       2022-06-13 [1] RSPM (R 4.2.0)
 R.oo                   1.25.0      2022-06-12 [1] RSPM (R 4.2.0)
 R.utils                2.12.2      2022-11-11 [1] RSPM (R 4.2.0)
 R6                     2.5.1       2021-08-19 [1] RSPM (R 4.2.0)
 RANN                   2.6.1       2019-01-08 [1] RSPM (R 4.2.0)
 RColorBrewer         * 1.1-3       2022-04-03 [1] RSPM (R 4.2.0)
 Rcpp                   1.0.10      2023-01-22 [1] RSPM (R 4.2.0)
 RcppAnnoy              0.0.20      2022-10-27 [1] RSPM (R 4.2.0)
 RCurl                  1.98-1.12   2023-03-27 [1] RSPM (R 4.2.0)
 readr                * 2.1.4       2023-02-10 [1] RSPM (R 4.2.0)
 rematch2               2.1.2       2020-05-01 [1] RSPM (R 4.2.0)
 remotes                2.4.2       2021-11-30 [1] RSPM (R 4.2.0)
 repr                   1.1.6       2023-01-26 [1] RSPM (R 4.2.0)
 reshape2               1.4.4       2020-04-09 [1] RSPM (R 4.2.0)
 reticulate           * 1.28-9000   2023-04-30 [1] Github (rstudio/reticulate@442c49f)
 rlang                  1.1.0       2023-03-14 [1] RSPM (R 4.2.0)
 rmarkdown              2.21        2023-03-26 [1] RSPM (R 4.2.0)
 ROCR                   1.0-11      2020-05-02 [1] RSPM (R 4.2.0)
 rprojroot              2.0.3       2022-04-02 [1] RSPM (R 4.2.0)
 rsvd                   1.0.5       2021-04-16 [1] RSPM (R 4.2.0)
 Rtsne                  0.16        2022-04-17 [1] RSPM (R 4.2.0)
 S4Vectors            * 0.36.2      2023-02-26 [1] RSPM (R 4.2.2)
 sandwich               3.0-2       2022-06-15 [1] RSPM (R 4.2.0)
 scales                 1.2.1       2022-08-20 [1] RSPM (R 4.2.0)
 scattermore            0.8         2022-02-14 [1] RSPM (R 4.2.0)
 scCustomize          * 1.1.1       2023-04-30 [1] Github (samuel-marsh/scCustomize@d08268d)
 sceasy               * 0.0.7       2023-04-30 [1] Github (cellgeni/sceasy@0cfc0e3)
 schex                * 1.12.0      2022-11-01 [1] RSPM (R 4.2.2)
 sctransform            0.3.5       2022-09-21 [1] RSPM (R 4.2.0)
 sessioninfo            1.2.2       2021-12-06 [1] RSPM (R 4.2.0)
 Seurat               * 4.3.0       2022-11-18 [1] RSPM (R 4.2.2)
 SeuratDisk           * 0.0.0.9020  2023-04-30 [1] Github (mojaveazure/seurat-disk@9b89970)
 SeuratObject         * 4.1.3       2022-11-07 [1] RSPM (R 4.2.0)
 SeuratWrappers       * 0.3.1       2023-04-30 [1] Github (satijalab/seurat-wrappers@d28512f)
 shape                  1.4.6       2021-05-19 [1] RSPM (R 4.2.0)
 shiny                * 1.7.4       2022-12-15 [1] RSPM (R 4.2.0)
 SingleCellExperiment * 1.20.1      2023-03-17 [1] RSPM (R 4.2.2)
 skimr                * 2.1.5       2023-04-30 [1] Github (ropensci/skimr@d5126aa)
 snakecase              0.11.0      2019-05-25 [1] RSPM (R 4.2.0)
 sp                     1.6-0       2023-01-19 [1] RSPM (R 4.2.0)
 spatstat.data          3.0-1       2023-03-12 [1] RSPM (R 4.2.0)
 spatstat.explore       3.1-0       2023-03-14 [1] RSPM (R 4.2.0)
 spatstat.geom          3.1-0       2023-03-12 [1] RSPM (R 4.2.0)
 spatstat.random        3.1-4       2023-03-13 [1] RSPM (R 4.2.0)
 spatstat.sparse        3.0-1       2023-03-12 [1] RSPM (R 4.2.0)
 spatstat.utils         3.0-2       2023-03-11 [1] RSPM (R 4.2.0)
 statsExpressions       1.5.0       2023-02-19 [1] RSPM (R 4.2.0)
 stringi                1.7.12      2023-01-11 [1] RSPM (R 4.2.0)
 stringr              * 1.5.0       2022-12-02 [1] RSPM (R 4.2.0)
 SummarizedExperiment * 1.28.0      2022-11-01 [1] RSPM (R 4.2.2)
 survival               3.5-5       2023-03-12 [1] RSPM (R 4.2.0)
 tensor                 1.5         2012-05-05 [1] RSPM (R 4.2.0)
 TH.data                1.1-1       2022-04-26 [1] RSPM (R 4.2.0)
 tibble               * 3.2.1       2023-03-20 [1] RSPM (R 4.2.0)
 tidyr                * 1.3.0       2023-01-24 [1] RSPM (R 4.2.0)
 tidyselect             1.2.0       2022-10-10 [1] RSPM (R 4.2.0)
 tidyverse            * 2.0.0.9000  2023-04-30 [1] Github (tidyverse/tidyverse@8ec2e1f)
 timechange             0.2.0       2023-01-11 [1] RSPM (R 4.2.0)
 tweenr                 2.0.2       2022-09-06 [1] RSPM (R 4.2.0)
 tzdb                   0.3.0       2022-03-28 [1] RSPM (R 4.2.0)
 utf8                   1.2.3       2023-01-31 [1] RSPM (R 4.2.0)
 uwot                   0.1.14      2022-08-22 [1] RSPM (R 4.2.0)
 vctrs                  0.6.2       2023-04-19 [1] RSPM (R 4.2.2)
 vipor                  0.4.5       2017-03-22 [1] RSPM (R 4.2.0)
 viridis              * 0.6.2       2021-10-13 [1] RSPM (R 4.2.0)
 viridisLite          * 0.4.1       2022-08-22 [1] RSPM (R 4.2.0)
 vroom                  1.6.1       2023-01-22 [1] RSPM (R 4.2.0)
 withr                  2.5.0       2022-03-03 [1] RSPM (R 4.2.0)
 xfun                   0.39        2023-04-20 [1] RSPM (R 4.2.2)
 xtable                 1.8-4       2019-04-21 [1] RSPM (R 4.2.0)
 XVector                0.38.0      2022-11-01 [1] RSPM (R 4.2.2)
 yaml                   2.3.7       2023-01-23 [1] RSPM (R 4.2.0)
 zeallot                0.1.0       2018-01-28 [1] RSPM (R 4.2.0)
 zlibbioc               1.44.0      2022-11-01 [1] RSPM (R 4.2.2)
 zoo                    1.8-12      2023-04-13 [1] RSPM (R 4.2.2)

 [1] /opt/R/4.2.2/lib/R/library

──────────────────────────────────────────────────────────────────────────────