This script loads in reference single nuclei data and performs clustering to delineate cell types in the data.
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"))
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)
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
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
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"
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')
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())