Last updated: 2022-07-06

Checks: 6 1

Knit directory: humanCardiacFibroblasts/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


The R Markdown is untracked by Git. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20210903) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version d9e1a98. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .DS_Store
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    data/humanFibroblast/

Untracked files:
    Untracked:  analysis/assignLabelshumanHeartsPlusGrazInt.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


There are no past versions. Publish this analysis with wflow_publish() to start tracking its development.


load packages

suppressPackageStartupMessages({
  library(SingleCellExperiment)
  library(tidyverse)
  library(Seurat)
  library(magrittr)
  library(dplyr)
  library(purrr)
  library(ggplot2)
  library(here)
  library(runSeurat3)
  library(ggsci)
  library(ggpubr)
  library(pheatmap)
  library(viridis)
  library(sctransform)
})

load data

basedir <- here()
seurat <- readRDS(file = paste0(basedir, 
                              "/data/humanHeartsPlusGraz_intPatients_merged", 
                              "_seurat.rds"))
Idents(seurat) <- seurat$seurat_clusters

assign labels

seurat$label <- "other"
seurat$label[which(seurat$seurat_clusters %in% c("2","7","9","10"))] <- "Endothelial"
seurat$label[which(seurat$seurat_clusters %in% c("8"))] <- "Tcell"
seurat$label[which(seurat$seurat_clusters %in% c("3"))] <- "Cardiomyocyte"
seurat$label[which(seurat$seurat_clusters %in% c("0"))] <- "Fibroblast"
seurat$label[which(seurat$seurat_clusters %in% c("1","6"))] <- "Perivascular"
seurat$label[which(seurat$seurat_clusters %in% c("4"))] <- "MonocyteMacrophage"

color vectors

colPal <- pal_igv()(length(levels(seurat)))
colTec <- pal_jama()(length(unique(seurat$technique)))
colSmp <- c(pal_uchicago()(8), pal_npg()(8), pal_aaas()(10))[1:length(unique(seurat$dataset))]
colCond <- pal_npg()(length(unique(seurat$cond)))
colID <- c(pal_jco()(10), pal_npg()(10), pal_jama()(10))[1:length(unique(seurat$ID))]
colOrig <- pal_aaas()(length(unique(seurat$origin)))
colIso <- pal_nejm()(length(unique(seurat$isolation)))
colProc <- pal_aaas()(length(unique(seurat$processing)))
colLab <- pal_futurama()(length(unique(seurat$label)))

names(colPal) <- levels(seurat)
names(colTec) <- unique(seurat$technique)
names(colSmp) <- unique(seurat$dataset)
names(colCond) <- unique(seurat$cond)
names(colID) <- unique(seurat$ID)
names(colOrig) <- unique(seurat$origin)
names(colIso) <- unique(seurat$isolation)
names(colProc) <- unique(seurat$processing)
names(colLab) <- unique(seurat$label)

vis data

clusters

DimPlot(seurat, reduction = "umap", cols=colPal)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

label

DimPlot(seurat, reduction = "umap",  group.by = "label", cols=colLab)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

technique

DimPlot(seurat, reduction = "umap", group.by = "technique", cols=colTec)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

Sample

DimPlot(seurat, reduction = "umap", group.by = "dataset", cols=colSmp)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

ID

DimPlot(seurat, reduction = "umap", group.by = "ID", cols=colID)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

Origin

DimPlot(seurat, reduction = "umap", group.by = "origin", cols=colOrig)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

isolation

DimPlot(seurat, reduction = "umap", group.by = "isolation", cols=colIso)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

cond

DimPlot(seurat, reduction = "umap", group.by = "cond", cols=colCond)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

processing

DimPlot(seurat, reduction = "umap", group.by = "processing", cols=colProc)+
  theme_bw() +
  theme(axis.text = element_blank(), axis.ticks = element_blank(), 
        panel.grid.minor = element_blank()) +
  xlab("UMAP1") +
  ylab("UMAP2")

cnt tables

per patient

## total cells per patient
knitr::kable(table(seurat$ID))
Var1 Freq
GZ1 2740
GZ10 3731
GZ11 3991
GZ12 3818
GZ2 1684
GZ3 2396
GZ4 545
GZ5 781
GZ6 491
GZ7 653
GZ8 3921
SG16 1321
SG20 1536
SG21 826
SG2224 2381
SG2325 3131
SG26 238
SG27 1545
SG28 1254
SG29 1242
SG30 236
SG31 1192
SG32 1428
## celltype per patient counts
knitr::kable(table(seurat$label, seurat$ID))
GZ1 GZ10 GZ11 GZ12 GZ2 GZ3 GZ4 GZ5 GZ6 GZ7 GZ8 SG16 SG20 SG21 SG2224 SG2325 SG26 SG27 SG28 SG29 SG30 SG31 SG32
Cardiomyocyte 207 1094 298 114 106 233 44 38 12 88 710 21 96 41 295 396 16 70 78 93 46 178 40
Endothelial 446 398 805 1140 422 568 183 239 153 121 773 103 223 263 455 637 68 552 424 163 73 253 584
Fibroblast 760 982 809 1106 637 819 140 260 150 231 1136 142 606 234 829 774 79 304 256 145 39 347 313
MonocyteMacrophage 291 463 588 219 79 115 56 31 61 16 342 13 153 40 162 230 7 13 38 259 14 126 65
other 131 183 161 151 91 123 11 42 13 71 153 976 22 27 137 164 3 65 58 428 7 33 55
Perivascular 688 497 1202 1051 313 502 85 154 70 121 733 63 392 204 400 574 62 523 363 78 57 232 313
Tcell 217 114 128 37 36 36 26 17 32 5 74 3 44 17 103 356 3 18 37 76 0 23 58
## celltype percentages per patient
datLab <- data.frame(table(seurat$label, seurat$ID))
colnames(datLab) <- c("label", "ID", "cnt")
datPat <- data.frame(table(seurat$ID))
colnames(datPat) <- c("ID", "total")
datFrac <- datLab %>% left_join(., datPat, by="ID") %>% 
  mutate(percentage = cnt*100/total)
knitr::kable(datFrac)
label ID cnt total percentage
Cardiomyocyte GZ1 207 2740 7.5547445
Endothelial GZ1 446 2740 16.2773723
Fibroblast GZ1 760 2740 27.7372263
MonocyteMacrophage GZ1 291 2740 10.6204380
other GZ1 131 2740 4.7810219
Perivascular GZ1 688 2740 25.1094891
Tcell GZ1 217 2740 7.9197080
Cardiomyocyte GZ10 1094 3731 29.3218976
Endothelial GZ10 398 3731 10.6673814
Fibroblast GZ10 982 3731 26.3200214
MonocyteMacrophage GZ10 463 3731 12.4095417
other GZ10 183 3731 4.9048512
Perivascular GZ10 497 3731 13.3208255
Tcell GZ10 114 3731 3.0554811
Cardiomyocyte GZ11 298 3991 7.4668003
Endothelial GZ11 805 3991 20.1703834
Fibroblast GZ11 809 3991 20.2706089
MonocyteMacrophage GZ11 588 3991 14.7331496
other GZ11 161 3991 4.0340767
Perivascular GZ11 1202 3991 30.1177650
Tcell GZ11 128 3991 3.2072162
Cardiomyocyte GZ12 114 3818 2.9858565
Endothelial GZ12 1140 3818 29.8585647
Fibroblast GZ12 1106 3818 28.9680461
MonocyteMacrophage GZ12 219 3818 5.7359874
other GZ12 151 3818 3.9549502
Perivascular GZ12 1051 3818 27.5275013
Tcell GZ12 37 3818 0.9690938
Cardiomyocyte GZ2 106 1684 6.2945368
Endothelial GZ2 422 1684 25.0593824
Fibroblast GZ2 637 1684 37.8266033
MonocyteMacrophage GZ2 79 1684 4.6912114
other GZ2 91 1684 5.4038005
Perivascular GZ2 313 1684 18.5866983
Tcell GZ2 36 1684 2.1377672
Cardiomyocyte GZ3 233 2396 9.7245409
Endothelial GZ3 568 2396 23.7061770
Fibroblast GZ3 819 2396 34.1819699
MonocyteMacrophage GZ3 115 2396 4.7996661
other GZ3 123 2396 5.1335559
Perivascular GZ3 502 2396 20.9515860
Tcell GZ3 36 2396 1.5025042
Cardiomyocyte GZ4 44 545 8.0733945
Endothelial GZ4 183 545 33.5779817
Fibroblast GZ4 140 545 25.6880734
MonocyteMacrophage GZ4 56 545 10.2752294
other GZ4 11 545 2.0183486
Perivascular GZ4 85 545 15.5963303
Tcell GZ4 26 545 4.7706422
Cardiomyocyte GZ5 38 781 4.8655570
Endothelial GZ5 239 781 30.6017926
Fibroblast GZ5 260 781 33.2906530
MonocyteMacrophage GZ5 31 781 3.9692702
other GZ5 42 781 5.3777209
Perivascular GZ5 154 781 19.7183099
Tcell GZ5 17 781 2.1766965
Cardiomyocyte GZ6 12 491 2.4439919
Endothelial GZ6 153 491 31.1608961
Fibroblast GZ6 150 491 30.5498982
MonocyteMacrophage GZ6 61 491 12.4236253
other GZ6 13 491 2.6476578
Perivascular GZ6 70 491 14.2566191
Tcell GZ6 32 491 6.5173116
Cardiomyocyte GZ7 88 653 13.4762634
Endothelial GZ7 121 653 18.5298622
Fibroblast GZ7 231 653 35.3751914
MonocyteMacrophage GZ7 16 653 2.4502297
other GZ7 71 653 10.8728943
Perivascular GZ7 121 653 18.5298622
Tcell GZ7 5 653 0.7656968
Cardiomyocyte GZ8 710 3921 18.1076256
Endothelial GZ8 773 3921 19.7143586
Fibroblast GZ8 1136 3921 28.9722010
MonocyteMacrophage GZ8 342 3921 8.7222647
other GZ8 153 3921 3.9020658
Perivascular GZ8 733 3921 18.6942107
Tcell GZ8 74 3921 1.8872737
Cardiomyocyte SG16 21 1321 1.5897048
Endothelial SG16 103 1321 7.7971234
Fibroblast SG16 142 1321 10.7494322
MonocyteMacrophage SG16 13 1321 0.9841030
other SG16 976 1321 73.8834217
Perivascular SG16 63 1321 4.7691143
Tcell SG16 3 1321 0.2271007
Cardiomyocyte SG20 96 1536 6.2500000
Endothelial SG20 223 1536 14.5182292
Fibroblast SG20 606 1536 39.4531250
MonocyteMacrophage SG20 153 1536 9.9609375
other SG20 22 1536 1.4322917
Perivascular SG20 392 1536 25.5208333
Tcell SG20 44 1536 2.8645833
Cardiomyocyte SG21 41 826 4.9636804
Endothelial SG21 263 826 31.8401937
Fibroblast SG21 234 826 28.3292978
MonocyteMacrophage SG21 40 826 4.8426150
other SG21 27 826 3.2687651
Perivascular SG21 204 826 24.6973366
Tcell SG21 17 826 2.0581114
Cardiomyocyte SG2224 295 2381 12.3897522
Endothelial SG2224 455 2381 19.1096178
Fibroblast SG2224 829 2381 34.8173037
MonocyteMacrophage SG2224 162 2381 6.8038639
other SG2224 137 2381 5.7538849
Perivascular SG2224 400 2381 16.7996640
Tcell SG2224 103 2381 4.3259135
Cardiomyocyte SG2325 396 3131 12.6477164
Endothelial SG2325 637 3131 20.3449377
Fibroblast SG2325 774 3131 24.7205366
MonocyteMacrophage SG2325 230 3131 7.3458959
other SG2325 164 3131 5.2379431
Perivascular SG2325 574 3131 18.3328010
Tcell SG2325 356 3131 11.3701693
Cardiomyocyte SG26 16 238 6.7226891
Endothelial SG26 68 238 28.5714286
Fibroblast SG26 79 238 33.1932773
MonocyteMacrophage SG26 7 238 2.9411765
other SG26 3 238 1.2605042
Perivascular SG26 62 238 26.0504202
Tcell SG26 3 238 1.2605042
Cardiomyocyte SG27 70 1545 4.5307443
Endothelial SG27 552 1545 35.7281553
Fibroblast SG27 304 1545 19.6763754
MonocyteMacrophage SG27 13 1545 0.8414239
other SG27 65 1545 4.2071197
Perivascular SG27 523 1545 33.8511327
Tcell SG27 18 1545 1.1650485
Cardiomyocyte SG28 78 1254 6.2200957
Endothelial SG28 424 1254 33.8118022
Fibroblast SG28 256 1254 20.4146730
MonocyteMacrophage SG28 38 1254 3.0303030
other SG28 58 1254 4.6251994
Perivascular SG28 363 1254 28.9473684
Tcell SG28 37 1254 2.9505582
Cardiomyocyte SG29 93 1242 7.4879227
Endothelial SG29 163 1242 13.1239936
Fibroblast SG29 145 1242 11.6747182
MonocyteMacrophage SG29 259 1242 20.8534622
other SG29 428 1242 34.4605475
Perivascular SG29 78 1242 6.2801932
Tcell SG29 76 1242 6.1191626
Cardiomyocyte SG30 46 236 19.4915254
Endothelial SG30 73 236 30.9322034
Fibroblast SG30 39 236 16.5254237
MonocyteMacrophage SG30 14 236 5.9322034
other SG30 7 236 2.9661017
Perivascular SG30 57 236 24.1525424
Tcell SG30 0 236 0.0000000
Cardiomyocyte SG31 178 1192 14.9328859
Endothelial SG31 253 1192 21.2248322
Fibroblast SG31 347 1192 29.1107383
MonocyteMacrophage SG31 126 1192 10.5704698
other SG31 33 1192 2.7684564
Perivascular SG31 232 1192 19.4630872
Tcell SG31 23 1192 1.9295302
Cardiomyocyte SG32 40 1428 2.8011204
Endothelial SG32 584 1428 40.8963585
Fibroblast SG32 313 1428 21.9187675
MonocyteMacrophage SG32 65 1428 4.5518207
other SG32 55 1428 3.8515406
Perivascular SG32 313 1428 21.9187675
Tcell SG32 58 1428 4.0616246
ggbarplot(datFrac, x="ID", y="percentage",
          fill = "label",
          palette = colLab) +
  rotate_x_text(angle = 90)

per cond

## total cells per cond
knitr::kable(table(seurat$cond))
Var1 Freq
HF 1064
HH 15461
InfCardiomyopathy 1428
inflamation 236
Myocarditis 10532
Perimyocarditis 1192
transplant 11168
## celltype per cond counts
knitr::kable(table(seurat$label, seurat$cond))
HF HH InfCardiomyopathy inflamation Myocarditis Perimyocarditis transplant
Cardiomyocyte 57 2216 40 46 821 178 956
Endothelial 331 3116 584 73 2295 253 2394
Fibroblast 313 4033 313 39 3142 347 2911
MonocyteMacrophage 47 1612 65 14 908 126 609
other 30 648 55 7 910 33 1422
Perivascular 266 3483 313 57 2011 232 2315
Tcell 20 353 58 0 445 23 561
## celltype percentages per cond
datLab <- data.frame(table(seurat$label, seurat$cond))
colnames(datLab) <- c("label", "cond", "cnt")
datPat <- data.frame(table(seurat$cond))
colnames(datPat) <- c("cond", "total")
datFrac <- datLab %>% left_join(., datPat, by="cond") %>% 
  mutate(percentage = cnt*100/total)
knitr::kable(datFrac)
label cond cnt total percentage
Cardiomyocyte HF 57 1064 5.357143
Endothelial HF 331 1064 31.109023
Fibroblast HF 313 1064 29.417293
MonocyteMacrophage HF 47 1064 4.417293
other HF 30 1064 2.819549
Perivascular HF 266 1064 25.000000
Tcell HF 20 1064 1.879699
Cardiomyocyte HH 2216 15461 14.332838
Endothelial HH 3116 15461 20.153936
Fibroblast HH 4033 15461 26.084988
MonocyteMacrophage HH 1612 15461 10.426234
other HH 648 15461 4.191191
Perivascular HH 3483 15461 22.527650
Tcell HH 353 15461 2.283164
Cardiomyocyte InfCardiomyopathy 40 1428 2.801120
Endothelial InfCardiomyopathy 584 1428 40.896358
Fibroblast InfCardiomyopathy 313 1428 21.918768
MonocyteMacrophage InfCardiomyopathy 65 1428 4.551821
other InfCardiomyopathy 55 1428 3.851541
Perivascular InfCardiomyopathy 313 1428 21.918768
Tcell InfCardiomyopathy 58 1428 4.061625
Cardiomyocyte inflamation 46 236 19.491525
Endothelial inflamation 73 236 30.932203
Fibroblast inflamation 39 236 16.525424
MonocyteMacrophage inflamation 14 236 5.932203
other inflamation 7 236 2.966102
Perivascular inflamation 57 236 24.152542
Tcell inflamation 0 236 0.000000
Cardiomyocyte Myocarditis 821 10532 7.795291
Endothelial Myocarditis 2295 10532 21.790733
Fibroblast Myocarditis 3142 10532 29.832890
MonocyteMacrophage Myocarditis 908 10532 8.621344
other Myocarditis 910 10532 8.640334
Perivascular Myocarditis 2011 10532 19.094189
Tcell Myocarditis 445 10532 4.225218
Cardiomyocyte Perimyocarditis 178 1192 14.932886
Endothelial Perimyocarditis 253 1192 21.224832
Fibroblast Perimyocarditis 347 1192 29.110738
MonocyteMacrophage Perimyocarditis 126 1192 10.570470
other Perimyocarditis 33 1192 2.768456
Perivascular Perimyocarditis 232 1192 19.463087
Tcell Perimyocarditis 23 1192 1.929530
Cardiomyocyte transplant 956 11168 8.560172
Endothelial transplant 2394 11168 21.436246
Fibroblast transplant 2911 11168 26.065544
MonocyteMacrophage transplant 609 11168 5.453080
other transplant 1422 11168 12.732808
Perivascular transplant 2315 11168 20.728868
Tcell transplant 561 11168 5.023281
ggbarplot(datFrac, x="cond", y="percentage",
          fill = "label",
          palette = colLab) +
  rotate_x_text(angle = 90)

vis marker for celltype assignment

heatmap

genes <- data.frame(gene=rownames(seurat)) %>% 
    mutate(geneID=gsub("^.*\\.", "", gene)) 

selGenesAll <- read_tsv(file = paste0(basedir,
                                      "/data/markerLabels.txt")) %>% 
  left_join(., genes, by = "geneID")

Idents(seurat) <- seurat$seurat_clusters
pOut <- avgHeatmap(seurat = seurat, selGenes = selGenesAll,
                  colVecIdent = colPal, 
                  ordVec=levels(seurat),
                  gapVecR=NULL, gapVecC=NULL,cc=T,
                  cr=F, condCol=F)

Idents(seurat) <- seurat$label
pOut <- avgHeatmap(seurat = seurat, selGenes = selGenesAll,
                  colVecIdent = colLab, 
                  ordVec=levels(seurat),
                  gapVecR=NULL, gapVecC=NULL,cc=T,
                  cr=F, condCol=F)

Dotplot

DotPlot(seurat, assay="RNA", features = selGenesAll$gene, scale =T,
        cluster.idents = T) +
  scale_color_viridis_c() +
  coord_flip() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  scale_x_discrete(breaks=selGenesAll$gene, labels=selGenesAll$geneID) +
  xlab("") + ylab("")

Idents(seurat) <- seurat$seurat_clusters
DotPlot(seurat, assay="RNA", features = selGenesAll$gene, scale =T,
        cluster.idents = T) +
  scale_color_viridis_c() +
  coord_flip() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  scale_x_discrete(breaks=selGenesAll$gene, labels=selGenesAll$geneID) +
  xlab("") + ylab("")

save seurat object

saveRDS(seurat, file = paste0(basedir, 
                              "/data/humanHeartsPlusGraz_intPatients_merged", 
                              "labeled_seurat.rds"))

session info

sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] sctransform_0.3.3           viridis_0.6.2              
 [3] viridisLite_0.4.0           pheatmap_1.0.12            
 [5] ggpubr_0.4.0                ggsci_2.9                  
 [7] runSeurat3_0.1.0            here_1.0.1                 
 [9] magrittr_2.0.3              sp_1.4-7                   
[11] SeuratObject_4.1.0          Seurat_4.1.1               
[13] forcats_0.5.1               stringr_1.4.0              
[15] dplyr_1.0.9                 purrr_0.3.4                
[17] readr_2.1.2                 tidyr_1.2.0                
[19] tibble_3.1.7                ggplot2_3.3.6              
[21] tidyverse_1.3.1             SingleCellExperiment_1.14.1
[23] SummarizedExperiment_1.22.0 Biobase_2.52.0             
[25] GenomicRanges_1.44.0        GenomeInfoDb_1.28.4        
[27] IRanges_2.26.0              S4Vectors_0.30.2           
[29] BiocGenerics_0.38.0         MatrixGenerics_1.4.3       
[31] matrixStats_0.62.0         

loaded via a namespace (and not attached):
  [1] utf8_1.2.2             reticulate_1.24        tidyselect_1.1.2      
  [4] htmlwidgets_1.5.4      grid_4.1.0             Rtsne_0.16            
  [7] munsell_0.5.0          codetools_0.2-18       ica_1.0-2             
 [10] future_1.25.0          miniUI_0.1.1.1         withr_2.5.0           
 [13] spatstat.random_2.2-0  colorspace_2.0-3       progressr_0.10.0      
 [16] highr_0.9              knitr_1.39             rstudioapi_0.13       
 [19] ROCR_1.0-11            ggsignif_0.6.3         tensor_1.5            
 [22] listenv_0.8.0          labeling_0.4.2         git2r_0.30.1          
 [25] GenomeInfoDbData_1.2.6 polyclip_1.10-0        bit64_4.0.5           
 [28] farver_2.1.0           rprojroot_2.0.3        parallelly_1.31.1     
 [31] vctrs_0.4.1            generics_0.1.2         xfun_0.30             
 [34] R6_2.5.1               bitops_1.0-7           spatstat.utils_2.3-1  
 [37] DelayedArray_0.18.0    assertthat_0.2.1       vroom_1.5.7           
 [40] promises_1.2.0.1       scales_1.2.0           rgeos_0.5-9           
 [43] gtable_0.3.0           globals_0.15.0         goftest_1.2-3         
 [46] workflowr_1.7.0        rlang_1.0.2            splines_4.1.0         
 [49] rstatix_0.7.0          lazyeval_0.2.2         spatstat.geom_2.4-0   
 [52] broom_0.8.0            yaml_2.3.5             reshape2_1.4.4        
 [55] abind_1.4-5            modelr_0.1.8           backports_1.4.1       
 [58] httpuv_1.6.5           tools_4.1.0            ellipsis_0.3.2        
 [61] spatstat.core_2.4-2    jquerylib_0.1.4        RColorBrewer_1.1-3    
 [64] ggridges_0.5.3         Rcpp_1.0.8.3           plyr_1.8.7            
 [67] zlibbioc_1.38.0        RCurl_1.98-1.6         rpart_4.1.16          
 [70] deldir_1.0-6           pbapply_1.5-0          cowplot_1.1.1         
 [73] zoo_1.8-10             haven_2.5.0            ggrepel_0.9.1         
 [76] cluster_2.1.3          fs_1.5.2               data.table_1.14.2     
 [79] scattermore_0.8        lmtest_0.9-40          reprex_2.0.1          
 [82] RANN_2.6.1             fitdistrplus_1.1-8     hms_1.1.1             
 [85] patchwork_1.1.1        mime_0.12              evaluate_0.15         
 [88] xtable_1.8-4           readxl_1.4.0           gridExtra_2.3         
 [91] compiler_4.1.0         KernSmooth_2.23-20     crayon_1.5.1          
 [94] htmltools_0.5.2        mgcv_1.8-40            later_1.3.0           
 [97] tzdb_0.3.0             lubridate_1.8.0        DBI_1.1.2             
[100] dbplyr_2.1.1           MASS_7.3-57            Matrix_1.4-1          
[103] car_3.0-13             cli_3.3.0              igraph_1.3.1          
[106] pkgconfig_2.0.3        plotly_4.10.0          spatstat.sparse_2.1-1 
[109] xml2_1.3.3             bslib_0.3.1            XVector_0.32.0        
[112] rvest_1.0.2            digest_0.6.29          RcppAnnoy_0.0.19      
[115] spatstat.data_2.2-0    rmarkdown_2.14         cellranger_1.1.0      
[118] leiden_0.3.10          uwot_0.1.11            shiny_1.7.1           
[121] lifecycle_1.0.1        nlme_3.1-157           jsonlite_1.8.0        
[124] carData_3.0-5          fansi_1.0.3            pillar_1.7.0          
[127] lattice_0.20-45        fastmap_1.1.0          httr_1.4.3            
[130] survival_3.3-1         glue_1.6.2             png_0.1-7             
[133] bit_4.0.4              stringi_1.7.6          sass_0.4.1            
[136] irlba_2.3.5            future.apply_1.9.0    
date()
[1] "Wed Jul  6 14:03:00 2022"

sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] sctransform_0.3.3           viridis_0.6.2              
 [3] viridisLite_0.4.0           pheatmap_1.0.12            
 [5] ggpubr_0.4.0                ggsci_2.9                  
 [7] runSeurat3_0.1.0            here_1.0.1                 
 [9] magrittr_2.0.3              sp_1.4-7                   
[11] SeuratObject_4.1.0          Seurat_4.1.1               
[13] forcats_0.5.1               stringr_1.4.0              
[15] dplyr_1.0.9                 purrr_0.3.4                
[17] readr_2.1.2                 tidyr_1.2.0                
[19] tibble_3.1.7                ggplot2_3.3.6              
[21] tidyverse_1.3.1             SingleCellExperiment_1.14.1
[23] SummarizedExperiment_1.22.0 Biobase_2.52.0             
[25] GenomicRanges_1.44.0        GenomeInfoDb_1.28.4        
[27] IRanges_2.26.0              S4Vectors_0.30.2           
[29] BiocGenerics_0.38.0         MatrixGenerics_1.4.3       
[31] matrixStats_0.62.0         

loaded via a namespace (and not attached):
  [1] utf8_1.2.2             reticulate_1.24        tidyselect_1.1.2      
  [4] htmlwidgets_1.5.4      grid_4.1.0             Rtsne_0.16            
  [7] munsell_0.5.0          codetools_0.2-18       ica_1.0-2             
 [10] future_1.25.0          miniUI_0.1.1.1         withr_2.5.0           
 [13] spatstat.random_2.2-0  colorspace_2.0-3       progressr_0.10.0      
 [16] highr_0.9              knitr_1.39             rstudioapi_0.13       
 [19] ROCR_1.0-11            ggsignif_0.6.3         tensor_1.5            
 [22] listenv_0.8.0          labeling_0.4.2         git2r_0.30.1          
 [25] GenomeInfoDbData_1.2.6 polyclip_1.10-0        bit64_4.0.5           
 [28] farver_2.1.0           rprojroot_2.0.3        parallelly_1.31.1     
 [31] vctrs_0.4.1            generics_0.1.2         xfun_0.30             
 [34] R6_2.5.1               bitops_1.0-7           spatstat.utils_2.3-1  
 [37] DelayedArray_0.18.0    assertthat_0.2.1       vroom_1.5.7           
 [40] promises_1.2.0.1       scales_1.2.0           rgeos_0.5-9           
 [43] gtable_0.3.0           globals_0.15.0         goftest_1.2-3         
 [46] workflowr_1.7.0        rlang_1.0.2            splines_4.1.0         
 [49] rstatix_0.7.0          lazyeval_0.2.2         spatstat.geom_2.4-0   
 [52] broom_0.8.0            yaml_2.3.5             reshape2_1.4.4        
 [55] abind_1.4-5            modelr_0.1.8           backports_1.4.1       
 [58] httpuv_1.6.5           tools_4.1.0            ellipsis_0.3.2        
 [61] spatstat.core_2.4-2    jquerylib_0.1.4        RColorBrewer_1.1-3    
 [64] ggridges_0.5.3         Rcpp_1.0.8.3           plyr_1.8.7            
 [67] zlibbioc_1.38.0        RCurl_1.98-1.6         rpart_4.1.16          
 [70] deldir_1.0-6           pbapply_1.5-0          cowplot_1.1.1         
 [73] zoo_1.8-10             haven_2.5.0            ggrepel_0.9.1         
 [76] cluster_2.1.3          fs_1.5.2               data.table_1.14.2     
 [79] scattermore_0.8        lmtest_0.9-40          reprex_2.0.1          
 [82] RANN_2.6.1             fitdistrplus_1.1-8     hms_1.1.1             
 [85] patchwork_1.1.1        mime_0.12              evaluate_0.15         
 [88] xtable_1.8-4           readxl_1.4.0           gridExtra_2.3         
 [91] compiler_4.1.0         KernSmooth_2.23-20     crayon_1.5.1          
 [94] htmltools_0.5.2        mgcv_1.8-40            later_1.3.0           
 [97] tzdb_0.3.0             lubridate_1.8.0        DBI_1.1.2             
[100] dbplyr_2.1.1           MASS_7.3-57            Matrix_1.4-1          
[103] car_3.0-13             cli_3.3.0              igraph_1.3.1          
[106] pkgconfig_2.0.3        plotly_4.10.0          spatstat.sparse_2.1-1 
[109] xml2_1.3.3             bslib_0.3.1            XVector_0.32.0        
[112] rvest_1.0.2            digest_0.6.29          RcppAnnoy_0.0.19      
[115] spatstat.data_2.2-0    rmarkdown_2.14         cellranger_1.1.0      
[118] leiden_0.3.10          uwot_0.1.11            shiny_1.7.1           
[121] lifecycle_1.0.1        nlme_3.1-157           jsonlite_1.8.0        
[124] carData_3.0-5          fansi_1.0.3            pillar_1.7.0          
[127] lattice_0.20-45        fastmap_1.1.0          httr_1.4.3            
[130] survival_3.3-1         glue_1.6.2             png_0.1-7             
[133] bit_4.0.4              stringi_1.7.6          sass_0.4.1            
[136] irlba_2.3.5            future.apply_1.9.0