This script loads in reference single nuclei data and performs clustering to delineate cell types in the data.


Setup

Load required packages

library(gridExtra)
library(tidyverse)
library(Seurat)
library(plotly)
library(gplots)
outputDir = getwd()
s.genes <- cc.genes$s.genes
g2m.genes <- cc.genes$g2m.genes

Load count data

SeuratObjectFromFile <- function(file_path, project_id) {
  counts_table <- read.csv(file=file_path)
  rownames(counts_table) <- counts_table[,1]
  counts_table[,1] <- NULL
  seur_obj <- CreateSeuratObject(counts=counts_table, 
                                 project=project_id, 
                                 min.cells=3, 
                                 min.features=200)
  return(seur_obj)
}

Load all datasets

HM1 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098737_HM1.csv",
  project_id="HM1")
HM2 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098738_HM2.csv",
  project_id="HM2")
HM3 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098739_HM3.csv",
  project_id="HM3")
HM4 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098740_HM4.csv",
  project_id="HM4")
HM5 <-SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098741_HM5.csv",
  project_id="HM5")
HM6 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098742_HM6.csv",
  project_id="HM6")
HM7 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098743_HM7.csv",
  project_id="HM7")
HM8 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098744_HM8.csv",
  project_id="HM8")
HM9 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098745_HM9.csv",
  project_id="HM9")
HM10 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098746_HM10.csv",
  project_id="HM10")
HM11 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098747_HM11.csv",
  project_id="HM11")
HM12 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098748_HM12.csv",
  project_id="HM12")
HM13 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098749_HM13.csv",
  project_id="HM13")
HM15 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098750_HM15.csv",
  project_id="HM15")
HM21 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098751_HM21.csv",
  project_id="HM21")
HM22 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098752_HM22.csv",
  project_id="HM22")
HM23 <- SeuratObjectFromFile(
  file_path="../GOTO_Data/Cell_Counts/Muscle/GSE167186/out/GSM5098753_HM23.csv",
  project_id="HM23")

Merge

object <- merge(x=HM1,
                y=c(HM2, HM3, HM4, HM5, HM6, 
                    HM7, HM8, HM9, HM10, HM11, 
                    HM12, HM13, HM15, HM21, HM22, HM23),
                add.cell.ids=c("HM1", "HM2", "HM3", "HM4", 
                               "HM5", "HM6", "HM7", "HM8", 
                               "HM9", "HM10", "HM11", "HM12",
                               "HM13", "HM15", "HM21", "HM22",
                               "HM23"))

QC

Remove cells with < 500 genes or > 10% MT

object[["percent.mt"]] <- PercentageFeatureSet(
  object, 
  pattern = "^MT-")

cc_genes_in_dataset <- c(s.genes, 
                         g2m.genes)[c(s.genes, 
                                      g2m.genes) %in% 
                                      rownames(object)]

object[["percent.cc_genes"]] <- PercentageFeatureSet(object, 
                        features = cc_genes_in_dataset)

Plot

FeatureScatter(object, 
               feature1 = "nCount_RNA", 
               feature2 = "percent.mt")
## Rasterizing points since number of points exceeds 100,000.
## To disable this behavior set `raster=FALSE`

FeatureScatter(object, 
               feature1 = "nCount_RNA", 
               feature2 = "nFeature_RNA")
## Rasterizing points since number of points exceeds 100,000.
## To disable this behavior set `raster=FALSE`

object <- subset(object, 
                 subset = nFeature_RNA > 200 & 
                   percent.mt < 10)
object
## An object of class Seurat 
## 21168 features across 142761 samples within 1 assay 
## Active assay: RNA (21168 features, 0 variable features)

Normalization

Perform normalization

object <- NormalizeData(object, 
                        normalization.method = "LogNormalize", 
                        scale.factor = 10000)

Variable genes and scaling

object <- FindVariableFeatures(object, 
                               selection.method = "vst", 
                               nfeatures = 2000)

Identify the 10 most highly variable genes

top10 <- head(VariableFeatures(object), 10)
plot1 <- VariableFeaturePlot(object)
LabelPoints(plot = plot1, points = top10, repel = TRUE)
## When using repel, set xnudge and ynudge to 0 for optimal results

all.genes <- rownames(object)
object <- ScaleData(object, features = all.genes)
## Centering and scaling data matrix

Linear dimensional reduction

object <- RunPCA(object, 
                 features = VariableFeatures(object = object))
## PC_ 1 
## Positive:  COL6A2, HSPG2, COL6A1, MEG3, TNXB, ABCA8, HMCN2, EPB41L2, SPTBN1, COL1A2 
##     COL4A2, GSN, COL15A1, CALD1, TIMP3, COL6A3, PLAGL1, LTBP4, COL4A1, COL3A1 
##     LRP1, LAMA2, SCN7A, PLXDC1, LSP1, IGFBP7, DCN, DLC1, TACC1, CFD 
## Negative:  MYBPC1, PDLIM3, MIR133A1HG, ACTN2, NRAP, AC020909.2, DENND2C, FILIP1L, XIRP2, FBXO32 
##     ASB5, MYOM2, FLNC, ATP2A1, TCAP, ENO3, TNNT3, USP54, SLC36A2, LMOD2 
##     MYH7B, ARPP21, TNNT1, PPP1R27, MYBPC2, ATP2A2, MYLK2, NPHP1, ACTA1, COL4A3 
## PC_ 2 
## Positive:  MEG3, HMCN2, ABCA8, LAMA2, TNXB, DIO3OS, NOVA1, MFAP5, DCN, COL1A2 
##     COL12A1, ADH1B, ITGA11, COL6A3, LSP1, COL6A1, CFD, ABCA6, PI16, FBLN2 
##     ABCA9, SMOC2, MRC2, LTBP4, FAP, ABCA10, NEGR1, VIT, PDGFRA, EGFR 
## Negative:  BTNL9, EGFL7, PTPRB, VWF, NOTCH4, ADGRF5, SLC9A3R2, SHANK3, A2M, FLT1 
##     ADCY4, ITGA1, CDH5, MCF2L, ID1, ITGA6, EMCN, TINAGL1, PECAM1, RAPGEF3 
##     ROBO4, CD93, ANXA3, EPAS1, TIE1, RGS5, AQP1, ESAM, ARHGEF15, PODXL 
## PC_ 3 
## Positive:  MYH7B, ATP2A2, LGR5, TNNT1, XPO4, TPM3, CD36, TECRL, USP54, AQP7 
##     MYLK3, PFKFB2, MYBPC1, ATP1B4, MYOZ2, ESRRG, ACTN2, TPD52L1, KALRN, TNNI1 
##     GAS2, IL17D, SLC38A2, SLC19A2, ALPK2, PRRX1, MYH7, MYOM3, NRAP, RYR3 
## Negative:  MS4A6A, LILRB5, STAB1, IL10RA, FRMD4B, MRC1, FGD2, MS4A7, CSF1R, CD163 
##     ARHGAP4, CYTH4, F13A1, FCGR2B, SIGLEC1, NCF4, TNNT3, CIITA, MYO1F, SCN9A 
##     NCKAP1L, ADAP2, HLA-DMB, PTPRC, LYVE1, MS4A4E, TGFBI, HCLS1, NCF1, SLCO2B1 
## PC_ 4 
## Positive:  TNNT3, TPM1, ATP2A1, MYH2, MYBPC2, ENO3, MYLPF, MYH1, ACTN3, TNNI2 
##     TNNC2, GGT7, MYL1, MSS51, OSBPL7, PRKAG3, GPD1, COL4A3, MYHAS, EGF 
##     CARMN, ACTA1, COL4A4, LDHA, AC020909.2, FAM166B, MYLK4, GAPDH, CLMN, PHKA1 
## Negative:  MYH7B, ATP2A2, TNNT1, TPM3, LGR5, XPO4, MS4A6A, TECRL, PFKFB2, AQP7 
##     LILRB5, STAB1, MYLK3, IL10RA, MYH7, USP54, TNNI1, MYOZ2, FRMD4B, MRC1 
##     FGD2, MS4A7, ESRRG, CCDC141, ATP1B4, CD163, CSF1R, MYL3, SLC1A3, F13A1 
## PC_ 5 
## Positive:  BTNL9, EGFL7, PTPRB, NOTCH4, VWF, SHANK3, MCF2L, RAPGEF3, CDH5, ROBO4 
##     HIF3A, CD34, ID1, SLC9A3R2, ANXA3, ABLIM3, ITGA6, ENG, TIE1, ARHGEF15 
##     ADCY4, PECAM1, HMCN1, AFDN, PODXL, FLNB, CXorf36, HSPG2, ACE, PKD1L1 
## Negative:  CARMN, MUC3A, MYO1B, AGAP2, NFASC, MRVI1, NOTCH3, ACTA2, PDGFRB, RIPOR3 
##     GPRIN3, TESC, HIGD1B, STEAP4, EPS8, ANO1, EGFLAM, DTX3, TBX2, CLMN 
##     GJC1, CPM, SLC16A12, SPECC1, COL5A3, DLC1, ARHGEF17, GUCY1A2, RGS5, CACNA1C
print(object[["pca"]], 
      dims = 1:8, 
      nfeatures = 8)
## PC_ 1 
## Positive:  COL6A2, HSPG2, COL6A1, MEG3, TNXB, ABCA8, HMCN2, EPB41L2 
## Negative:  MYBPC1, PDLIM3, MIR133A1HG, ACTN2, NRAP, AC020909.2, DENND2C, FILIP1L 
## PC_ 2 
## Positive:  MEG3, HMCN2, ABCA8, LAMA2, TNXB, DIO3OS, NOVA1, MFAP5 
## Negative:  BTNL9, EGFL7, PTPRB, VWF, NOTCH4, ADGRF5, SLC9A3R2, SHANK3 
## PC_ 3 
## Positive:  MYH7B, ATP2A2, LGR5, TNNT1, XPO4, TPM3, CD36, TECRL 
## Negative:  MS4A6A, LILRB5, STAB1, IL10RA, FRMD4B, MRC1, FGD2, MS4A7 
## PC_ 4 
## Positive:  TNNT3, TPM1, ATP2A1, MYH2, MYBPC2, ENO3, MYLPF, MYH1 
## Negative:  MYH7B, ATP2A2, TNNT1, TPM3, LGR5, XPO4, MS4A6A, TECRL 
## PC_ 5 
## Positive:  BTNL9, EGFL7, PTPRB, NOTCH4, VWF, SHANK3, MCF2L, RAPGEF3 
## Negative:  CARMN, MUC3A, MYO1B, AGAP2, NFASC, MRVI1, NOTCH3, ACTA2 
## PC_ 6 
## Positive:  DENND2C, MYLK4, COL4A3, FILIP1L, NPHP1, COL4A4, AC020909.2, BCAS2 
## Negative:  MYL2, ACTA1, TNNC1, MT-CO1, RPLP1, MYH7, MB, CKM 
## PC_ 7 
## Positive:  FILIP1L, ACTN3, ASB5, ATP2A1, MYLPF, TP63, MYBPC2, TPM1 
## Negative:  MT-CO1, TNNT1, TTN-AS1, MYH7, PTGDS, MT-CO3, AC010680.2, MT-ND3 
## PC_ 8 
## Positive:  PAX7, MEG3, FGFR4, CLCN5, HMCN2, MEG8, DIO3OS, OLFML2B 
## Negative:  CD248, IGFBP6, MFAP5, GFPT2, PRG4, PCOLCE2, FSTL1, FBN1
VizDimLoadings(object, 
               dims = 1:2, 
               reduction = "pca")

Plot

DimPlot(object, 
        reduction = "pca")
## Rasterizing points since number of points exceeds 100,000.
## To disable this behavior set `raster=FALSE`

DimHeatmap(object, 
           dims = 1, 
           cells = 500, 
           balanced = TRUE)

ElbowPlot(object)

Clustering

object <- FindNeighbors(object, 
                        dims = 1:10)
## Computing nearest neighbor graph
## Computing SNN
object <- FindClusters(object, 
                       resolution = 0.14)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
## 
## Number of nodes: 142761
## Number of edges: 3928087
## 
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9474
## Number of communities: 8
## Elapsed time: 73 seconds

Non-linear dimensional reduction

object <- RunUMAP(object, 
                  dims = 1:10)
## 00:39:50 UMAP embedding parameters a = 0.9922 b = 1.112
## 00:39:50 Read 142761 rows and found 10 numeric columns
## 00:39:50 Using Annoy for neighbor search, n_neighbors = 30
## 00:39:50 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 00:40:11 Writing NN index file to temp file /tmp/RtmpQuOoM7/file626936042c7c4
## 00:40:11 Searching Annoy index using 1 thread, search_k = 3000
## 00:41:10 Annoy recall = 100%
## 00:41:12 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 00:41:21 Initializing from normalized Laplacian + noise (using irlba)
## 00:41:35 Commencing optimization for 200 epochs, with 6118886 positive edges
## 00:42:56 Optimization finished
DimPlot(object, 
        reduction = "umap")
## Rasterizing points since number of points exceeds 100,000.
## To disable this behavior set `raster=FALSE`

saveRDS(object, file = "../GOTO_Data/Cell_Counts/Muscle/muscle.rds")

Cluster markers

markers <- FindAllMarkers(object,
                          only.pos = TRUE,
                          min.pct = 0.25,
                          logfc.threshold = 0.25)
## Calculating cluster 0
## Calculating cluster 1
## Calculating cluster 2
## Calculating cluster 3
## Calculating cluster 4
## Calculating cluster 5
## Calculating cluster 6
## Calculating cluster 7
allMarkersPath = "../GOTO_Data/Cell_Counts/Muscle/all_markers.tsv"
write.table(x = markers,
            file = allMarkersPath,
            sep = "\t",
            quote = FALSE,
            row.names = FALSE)

Look at top markers

topMarkers <- markers %>%
  group_by(cluster) %>%
  top_n(-30, p_val_adj)
topMarkersPath = "../GOTO_Data/Cell_Counts/Muscle/topMarkers.tsv"
write.table(x = topMarkers,
            file = topMarkersPath,
            sep = "\t", quote = FALSE,
            row.names = FALSE)
for(i in 0:7){
  print(paste0("Top markers for cluster ", i, ": "))
  print((topMarkers %>% 
    filter(cluster == i) %>% 
    arrange(desc(avg_log2FC)) %>% 
    head(20))$gene)
}
## [1] "Top markers for cluster 0: "
##  [1] "TNNT3"   "ATP2A1"  "MYBPC2"  "GGT7"    "ACTN3"   "MYH1"    "PFKM"   
##  [8] "MYH2"    "TPM1"    "ENO3"    "MSS51"   "COL4A3"  "RHOBTB1" "PRKAG3" 
## [15] "GPD1"    "EGF"     "OSBPL7"  "MYLK4"   "MYLPF"   "COL4A4" 
## [1] "Top markers for cluster 1: "
##  [1] "MYH7B"  "ATP2A2" "TNNT1"  "LGR5"   "XPO4"   "TPM3"   "TECRL"  "USP54" 
##  [9] "PFKFB2" "AQP7"   "MYLK3"  "ATP1B4" "MYOZ2"  "MYBPC1" "MYOM3"  "IL17D" 
## [17] "TNNI1"  "KALRN"  "ALPK2"  "CYB5R1"
## [1] "Top markers for cluster 2: "
##  [1] "TNXB"    "ABCA8"   "CFD"     "COL6A1"  "HMCN2"   "GSN"     "COL6A3" 
##  [8] "COL6A2"  "COL1A2"  "LAMA2"   "DCN"     "HSPG2"   "LTBP4"   "COL15A1"
## [15] "MEG3"    "FBN1"    "ADH1B"   "MFAP5"   "SCN7A"   "FBLN2"  
## [1] "Top markers for cluster 3: "
##  [1] "BTNL9"    "EGFL7"    "VWF"      "PTPRB"    "SLC9A3R2" "A2M"     
##  [7] "NOTCH4"   "RGS5"     "SHANK3"   "ADGRF5"   "ITGA1"    "ITGA6"   
## [13] "RAPGEF3"  "MCF2L"    "MGLL"     "HLA-E"    "ID1"      "ADCY4"   
## [19] "ABLIM3"   "FLT1"    
## [1] "Top markers for cluster 4: "
##  [1] "STAB1"    "MS4A6A"   "CD74"     "LILRB5"   "IL10RA"   "HLA-DRB1"
##  [7] "FRMD4B"   "ARHGAP4"  "TNFAIP2"  "MRC1"     "DAB2"     "CIITA"   
## [13] "PTPRC"    "FGD2"     "ADAP2"    "CYTH4"    "MYO1F"    "HLA-B"   
## [19] "ZEB2"     "SAT1"    
## [1] "Top markers for cluster 5: "
##  [1] "MEG3"     "PAX7"     "HMCN2"    "KCNQ1OT1" "CLCN5"    "RASSF4"  
##  [7] "MEG8"     "APOE"     "OLFML2B"  "CNKSR3"   "CADM2"    "DOCK9"   
## [13] "ADAMTS10" "FGFR4"    "PXDN"     "NCAM1"    "CALCR"    "IGFBP5"  
## [19] "FN1"      "PON2"    
## [1] "Top markers for cluster 6: "
##  [1] "CARMN"  "PDGFRB" "RGS5"   "CALD1"  "ACTA2"  "MUC3A"  "NOTCH3" "DLC1"  
##  [9] "CLMN"   "MYO1B"  "IGFBP7" "EPS8"   "STEAP4" "COL5A3" "AGAP2"  "EGFLAM"
## [17] "RIPOR3" "NFASC"  "DTX3"   "MRVI1" 
## [1] "Top markers for cluster 7: "
##  [1] "MYH7"   "TNNC1"  "MYL2"   "CKM"    "TNNC2"  "GAPDH"  "TCAP"   "MB"    
##  [9] "TNNI1"  "MYL3"   "ACTA1"  "RPLP1"  "MT-CO1" "HSPB6"  "EEF2"   "MT-CO2"
## [17] "DES"    "S100A1" "COX6A2" "TNNI2"

Save

nuclei_clusters <- object@meta.data
save(nuclei_clusters, file="../GOTO_Data/Cell_Counts/Muscle/snClusters.Rdata")
counts <- object@assays$RNA@counts
save(counts, file='../GOTO_Data/Cell_Counts/Muscle/snCounts.Rdata')

Session Info

sessionInfo()
## R version 4.2.2 (2022-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Rocky Linux 8.10 (Green Obsidian)
## 
## Matrix products: default
## BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.15.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] gplots_3.1.3                                       
##  [2] plotly_4.10.1                                      
##  [3] SeuratObject_4.1.3                                 
##  [4] Seurat_4.3.0                                       
##  [5] gridExtra_2.3                                      
##  [6] lattice_0.21-8                                     
##  [7] bacon_1.22.0                                       
##  [8] ellipse_0.4.5                                      
##  [9] methylGSA_1.12.0                                   
## [10] sva_3.42.0                                         
## [11] genefilter_1.76.0                                  
## [12] mgcv_1.8-42                                        
## [13] nlme_3.1-162                                       
## [14] limma_3.54.2                                       
## [15] lmerTest_3.1-3                                     
## [16] lme4_1.1-30                                        
## [17] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
## [18] snpStats_1.44.0                                    
## [19] survival_3.5-5                                     
## [20] ggrepel_0.9.1                                      
## [21] ggfortify_0.4.14                                   
## [22] irlba_2.3.5.1                                      
## [23] Matrix_1.5-4.1                                     
## [24] omicsPrint_1.14.0                                  
## [25] MASS_7.3-60                                        
## [26] DNAmArray_2.0.0                                    
## [27] pls_2.8-2                                          
## [28] FDb.InfiniumMethylation.hg19_2.2.0                 
## [29] org.Hs.eg.db_3.14.0                                
## [30] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2            
## [31] GenomicFeatures_1.46.5                             
## [32] AnnotationDbi_1.56.2                               
## [33] IlluminaHumanMethylationEPICmanifest_0.3.0         
## [34] minfi_1.40.0                                       
## [35] bumphunter_1.36.0                                  
## [36] locfit_1.5-9.8                                     
## [37] iterators_1.0.14                                   
## [38] foreach_1.5.2                                      
## [39] Biostrings_2.62.0                                  
## [40] XVector_0.34.0                                     
## [41] SummarizedExperiment_1.24.0                        
## [42] Biobase_2.58.0                                     
## [43] MatrixGenerics_1.10.0                              
## [44] matrixStats_1.0.0                                  
## [45] GenomicRanges_1.46.1                               
## [46] GenomeInfoDb_1.34.9                                
## [47] IRanges_2.32.0                                     
## [48] S4Vectors_0.36.2                                   
## [49] BiocGenerics_0.44.0                                
## [50] BiocParallel_1.32.6                                
## [51] MethylAid_1.28.0                                   
## [52] forcats_0.5.2                                      
## [53] stringr_1.5.0                                      
## [54] dplyr_1.1.3                                        
## [55] purrr_0.3.4                                        
## [56] readr_2.1.2                                        
## [57] tidyr_1.2.1                                        
## [58] tibble_3.2.1                                       
## [59] ggplot2_3.4.3                                      
## [60] tidyverse_1.3.2                                    
## [61] rmarkdown_2.16                                     
## 
## loaded via a namespace (and not attached):
##   [1] ica_1.0-3                                         
##   [2] Rsamtools_2.10.0                                  
##   [3] lmtest_0.9-40                                     
##   [4] crayon_1.5.2                                      
##   [5] rhdf5filters_1.10.1                               
##   [6] backports_1.4.1                                   
##   [7] reprex_2.0.2                                      
##   [8] GOSemSim_2.20.0                                   
##   [9] rlang_1.1.1                                       
##  [10] ROCR_1.0-11                                       
##  [11] readxl_1.4.1                                      
##  [12] nloptr_2.0.3                                      
##  [13] filelock_1.0.2                                    
##  [14] rjson_0.2.21                                      
##  [15] bit64_4.0.5                                       
##  [16] glue_1.6.2                                        
##  [17] sctransform_0.3.5                                 
##  [18] rngtools_1.5.2                                    
##  [19] spatstat.sparse_3.0-1                             
##  [20] spatstat.geom_3.2-1                               
##  [21] DOSE_3.20.1                                       
##  [22] haven_2.5.1                                       
##  [23] tidyselect_1.2.0                                  
##  [24] fitdistrplus_1.1-11                               
##  [25] XML_3.99-0.14                                     
##  [26] zoo_1.8-12                                        
##  [27] GenomicAlignments_1.30.0                          
##  [28] xtable_1.8-4                                      
##  [29] magrittr_2.0.3                                    
##  [30] evaluate_0.21                                     
##  [31] cli_3.6.1                                         
##  [32] zlibbioc_1.44.0                                   
##  [33] miniUI_0.1.1.1                                    
##  [34] rstudioapi_0.14                                   
##  [35] doRNG_1.8.6                                       
##  [36] sp_1.6-1                                          
##  [37] MultiAssayExperiment_1.20.0                       
##  [38] bslib_0.5.0                                       
##  [39] fastmatch_1.1-3                                   
##  [40] treeio_1.18.1                                     
##  [41] shiny_1.7.2                                       
##  [42] xfun_0.39                                         
##  [43] askpass_1.1                                       
##  [44] multtest_2.50.0                                   
##  [45] cluster_2.1.4                                     
##  [46] caTools_1.18.2                                    
##  [47] tidygraph_1.2.2                                   
##  [48] KEGGREST_1.34.0                                   
##  [49] base64_2.0.1                                      
##  [50] ape_5.7-1                                         
##  [51] scrime_1.3.5                                      
##  [52] listenv_0.9.0                                     
##  [53] png_0.1-8                                         
##  [54] reshape_0.8.9                                     
##  [55] future_1.32.0                                     
##  [56] withr_2.5.0                                       
##  [57] bitops_1.0-7                                      
##  [58] ggforce_0.3.4                                     
##  [59] plyr_1.8.8                                        
##  [60] cellranger_1.1.0                                  
##  [61] pillar_1.9.0                                      
##  [62] cachem_1.0.8                                      
##  [63] fs_1.6.2                                          
##  [64] clusterProfiler_4.2.2                             
##  [65] DelayedMatrixStats_1.16.0                         
##  [66] vctrs_0.6.3                                       
##  [67] ellipsis_0.3.2                                    
##  [68] generics_0.1.3                                    
##  [69] tools_4.2.2                                       
##  [70] munsell_0.5.0                                     
##  [71] tweenr_2.0.2                                      
##  [72] fgsea_1.20.0                                      
##  [73] DelayedArray_0.24.0                               
##  [74] abind_1.4-5                                       
##  [75] fastmap_1.1.1                                     
##  [76] compiler_4.2.2                                    
##  [77] httpuv_1.6.11                                     
##  [78] rtracklayer_1.54.0                                
##  [79] beanplot_1.3.1                                    
##  [80] GenomeInfoDbData_1.2.9                            
##  [81] edgeR_3.40.2                                      
##  [82] deldir_1.0-9                                      
##  [83] utf8_1.2.3                                        
##  [84] later_1.3.1                                       
##  [85] RobustRankAggreg_1.2.1                            
##  [86] BiocFileCache_2.2.1                               
##  [87] jsonlite_1.8.5                                    
##  [88] scales_1.2.1                                      
##  [89] pbapply_1.7-0                                     
##  [90] tidytree_0.4.0                                    
##  [91] sparseMatrixStats_1.10.0                          
##  [92] lazyeval_0.2.2                                    
##  [93] promises_1.2.0.1                                  
##  [94] goftest_1.2-3                                     
##  [95] spatstat.utils_3.0-3                              
##  [96] reticulate_1.30                                   
##  [97] htm2txt_2.2.2                                     
##  [98] nor1mix_1.3-0                                     
##  [99] cowplot_1.1.1                                     
## [100] statmod_1.5.0                                     
## [101] siggenes_1.68.0                                   
## [102] Rtsne_0.16                                        
## [103] downloader_0.4                                    
## [104] uwot_0.1.14                                       
## [105] igraph_1.4.3                                      
## [106] HDF5Array_1.22.1                                  
## [107] numDeriv_2016.8-1.1                               
## [108] yaml_2.3.7                                        
## [109] htmltools_0.5.5                                   
## [110] memoise_2.0.1                                     
## [111] BiocIO_1.8.0                                      
## [112] graphlayouts_0.8.1                                
## [113] quadprog_1.5-8                                    
## [114] viridisLite_0.4.2                                 
## [115] digest_0.6.31                                     
## [116] assertthat_0.2.1                                  
## [117] mime_0.12                                         
## [118] rappdirs_0.3.3                                    
## [119] RSQLite_2.2.17                                    
## [120] yulab.utils_0.0.6                                 
## [121] future.apply_1.11.0                               
## [122] data.table_1.14.8                                 
## [123] blob_1.2.4                                        
## [124] preprocessCore_1.60.2                             
## [125] splines_4.2.2                                     
## [126] labeling_0.4.2                                    
## [127] Rhdf5lib_1.20.0                                   
## [128] illuminaio_0.40.0                                 
## [129] googledrive_2.0.0                                 
## [130] RaggedExperiment_1.18.0                           
## [131] RCurl_1.98-1.12                                   
## [132] broom_1.0.1                                       
## [133] hms_1.1.2                                         
## [134] modelr_0.1.9                                      
## [135] rhdf5_2.42.1                                      
## [136] colorspace_2.1-0                                  
## [137] aplot_0.1.7                                       
## [138] sass_0.4.6                                        
## [139] GEOquery_2.62.2                                   
## [140] Rcpp_1.0.10                                       
## [141] mclust_6.0.0                                      
## [142] RANN_2.6.1                                        
## [143] enrichplot_1.14.2                                 
## [144] fansi_1.0.4                                       
## [145] tzdb_0.4.0                                        
## [146] parallelly_1.36.0                                 
## [147] R6_2.5.1                                          
## [148] grid_4.2.2                                        
## [149] ggridges_0.5.4                                    
## [150] lifecycle_1.0.3                                   
## [151] curl_5.0.1                                        
## [152] googlesheets4_1.0.1                               
## [153] minqa_1.2.5                                       
## [154] leiden_0.4.3                                      
## [155] jquerylib_0.1.4                                   
## [156] DO.db_2.9                                         
## [157] qvalue_2.26.0                                     
## [158] RcppAnnoy_0.0.20                                  
## [159] RColorBrewer_1.1-3                                
## [160] spatstat.explore_3.1-0                            
## [161] htmlwidgets_1.5.4                                 
## [162] polyclip_1.10-4                                   
## [163] biomaRt_2.50.3                                    
## [164] missMethyl_1.28.0                                 
## [165] shadowtext_0.1.2                                  
## [166] timechange_0.2.0                                  
## [167] gridGraphics_0.5-1                                
## [168] reactome.db_1.77.0                                
## [169] rvest_1.0.3                                       
## [170] globals_0.16.2                                    
## [171] openssl_2.0.6                                     
## [172] spatstat.random_3.1-5                             
## [173] patchwork_1.1.2                                   
## [174] progressr_0.13.0                                  
## [175] codetools_0.2-19                                  
## [176] IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.0
## [177] lubridate_1.9.2                                   
## [178] GO.db_3.14.0                                      
## [179] gtools_3.9.4                                      
## [180] prettyunits_1.1.1                                 
## [181] dbplyr_2.2.1                                      
## [182] gridBase_0.4-7                                    
## [183] gtable_0.3.3                                      
## [184] DBI_1.1.3                                         
## [185] tensor_1.5                                        
## [186] ggfun_0.0.7                                       
## [187] httr_1.4.6                                        
## [188] highr_0.10                                        
## [189] KernSmooth_2.23-21                                
## [190] stringi_1.7.12                                    
## [191] vroom_1.5.7                                       
## [192] progress_1.2.2                                    
## [193] reshape2_1.4.4                                    
## [194] farver_2.1.1                                      
## [195] annotate_1.72.0                                   
## [196] viridis_0.6.2                                     
## [197] hexbin_1.28.3                                     
## [198] ggtree_3.2.1                                      
## [199] xml2_1.3.4                                        
## [200] boot_1.3-28.1                                     
## [201] restfulr_0.0.15                                   
## [202] scattermore_0.8                                   
## [203] ggplotify_0.1.0                                   
## [204] bit_4.0.5                                         
## [205] spatstat.data_3.0-1                               
## [206] scatterpie_0.1.8                                  
## [207] ggraph_2.0.6                                      
## [208] pkgconfig_2.0.3                                   
## [209] gargle_1.5.0                                      
## [210] knitr_1.43

Clear

rm(list=ls())