Last updated: 2024-02-12

Checks: 7 0

Knit directory: synovialscrnaseq/

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


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

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(20210105) 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 58eeb06. 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:    '/
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    .empty/
    Ignored:    analysis/.Rhistory
    Ignored:    analysis/iSEE_interactive_document.html
    Ignored:    code/test_files/
    Ignored:    data/Culemann/
    Ignored:    data/E-MTAB-8322/
    Ignored:    data/Synovial scRNA-seq samples - Sheet1.csv
    Ignored:    data/Zhang_top20_singlecell_cluster_markers_fromGithub.csv
    Ignored:    data/findMarkers_results.rds
    Ignored:    data/findMarkers_results_v2.rds
    Ignored:    data/info/
    Ignored:    data/syn_sce_tidy_filtered.rds
    Ignored:    data/syn_sce_tidy_hvg.rds
    Ignored:    data/syn_sce_tidy_hvg_cms.rds
    Ignored:    docs/
    Ignored:    output/Figures_Paper/
    Ignored:    output/Sample_summaries_RA_comparisons.rds
    Ignored:    output/Sample_summaries_direct_dissociation.rds
    Ignored:    output/Sample_summaries_exvivo_treatment.rds
    Ignored:    output/Suppl_Figure_4d.rds
    Ignored:    output/barcodes.txt
    Ignored:    output/barcodes_filtered.txt
    Ignored:    output/column_metadata_filtered.txt
    Ignored:    output/combined_v7_SingleR_markers.rds
    Ignored:    output/combined_v7_SingleR_predictions.rds
    Ignored:    output/combined_v7_SingleR_predictions_lclc.rds
    Ignored:    output/combined_v7_SingleR_predictions_reclc.rds
    Ignored:    output/combined_v7_SingleR_predictions_recrec.rds
    Ignored:    output/combined_v7_SingleR_trained.rds
    Ignored:    output/combined_v7_sce.rds
    Ignored:    output/combined_v7_sce_filtered.rds
    Ignored:    output/combined_v7_sce_hvg.rds
    Ignored:    output/combined_v7_sce_hvg_cms.rds
    Ignored:    output/combined_v7_sce_hvg_cms_annotated.rds
    Ignored:    output/combined_v7_sce_tmp_hvg_cms.rds
    Ignored:    output/combined_v7_upsetplot_genelists.rds
    Ignored:    output/count_matrix_filtered.mtx
    Ignored:    output/count_matrix_unfiltered.mtx
    Ignored:    output/emptyDrops_result_v4.rds
    Ignored:    output/emptyDrops_result_v4_tmp.rds
    Ignored:    output/emptyDrops_result_v4tmptmp.rds
    Ignored:    output/findMarkers_results_v6.rds
    Ignored:    output/findMarkers_results_v6_ec.rds
    Ignored:    output/findMarkers_results_v6_main.rds
    Ignored:    output/findMarkers_results_v6_mp.rds
    Ignored:    output/findMarkers_results_v6_sf.rds
    Ignored:    output/findMarkers_results_v6_tc.rds
    Ignored:    output/findMarkers_results_v7_ec.rds
    Ignored:    output/findMarkers_results_v7_main.rds
    Ignored:    output/findMarkers_results_v7_mp.rds
    Ignored:    output/findMarkers_results_v7_sf.rds
    Ignored:    output/findMarkers_results_v7_tc.rds
    Ignored:    output/genes.txt
    Ignored:    output/genes_filtered.txt
    Ignored:    output/goana_results_v6_ec.rds
    Ignored:    output/goana_results_v6_mp.rds
    Ignored:    output/preprocessing_number_of_cells.rds
    Ignored:    output/syn_v4_sce_emptyDrops_invivo.rds
    Ignored:    output/syn_v4_swappedDrops_24300_after.rds
    Ignored:    output/syn_v4_swappedDrops_24300_before.rds
    Ignored:    output/syn_v4_swappedDrops_24793_after.rds
    Ignored:    output/syn_v4_swappedDrops_24793_before.rds
    Ignored:    output/syn_v6_cluster_cellid_match_invivo.rds
    Ignored:    output/syn_v6_clustering_lookup_invivo.rds
    Ignored:    output/syn_v6_clustering_lookup_multiple_invivo.rds
    Ignored:    output/syn_v6_sce.rds
    Ignored:    output/syn_v6_sce_Figure8.rds
    Ignored:    output/syn_v6_sce_Figure8_dic_ls.rds
    Ignored:    output/syn_v6_sce_ec_invivo.rds
    Ignored:    output/syn_v6_sce_filtered_invivo.rds
    Ignored:    output/syn_v6_sce_hdf5/
    Ignored:    output/syn_v6_sce_hvg_cms_doublet_invivo.rds
    Ignored:    output/syn_v6_sce_hvg_cms_doublet_subcluster_invivo.rds
    Ignored:    output/syn_v6_sce_hvg_invivo.rds
    Ignored:    output/syn_v6_sce_hvg_marker_genes.rds
    Ignored:    output/syn_v6_sce_mp_invivo.rds
    Ignored:    output/syn_v6_sce_sf_invivo.rds
    Ignored:    output/syn_v6_sce_tc_invivo.rds
    Ignored:    output/syn_v6_sfig1.rds
    Ignored:    output/syn_v6_vst_out_invivo.rds
    Ignored:    output/syn_v7_cluster_cellid_match_invivo.rds
    Ignored:    output/syn_v7_clustering_lookup_invivo.rds
    Ignored:    output/syn_v7_clustering_lookup_multiple_invivo.rds
    Ignored:    output/syn_v7_sce.rds
    Ignored:    output/syn_v7_sce_Figure8.rds
    Ignored:    output/syn_v7_sce_Figure8_dic_ls.rds
    Ignored:    output/syn_v7_sce_ec_invivo.rds
    Ignored:    output/syn_v7_sce_ec_invivo_trajectory.rds
    Ignored:    output/syn_v7_sce_ec_invivo_trajectory2.rds
    Ignored:    output/syn_v7_sce_ec_invivo_trajectory2_ATres.rds
    Ignored:    output/syn_v7_sce_ec_invivo_trajectory_icMat.rds
    Ignored:    output/syn_v7_sce_filtered_invivo.rds
    Ignored:    output/syn_v7_sce_hdf5/
    Ignored:    output/syn_v7_sce_hvg_cms_doublet_invivo.rds
    Ignored:    output/syn_v7_sce_hvg_cms_doublet_subcluster_invivo.rds
    Ignored:    output/syn_v7_sce_hvg_cms_doublet_subcluster_invivo_cleaned.rds
    Ignored:    output/syn_v7_sce_hvg_invivo.rds
    Ignored:    output/syn_v7_sce_mp_invivo.rds
    Ignored:    output/syn_v7_sce_sf_invivo.rds
    Ignored:    output/syn_v7_sce_tc_invivo.rds
    Ignored:    output/syn_v7_sfig1.rds
    Ignored:    output/syn_v7_vst_out_invivo.rds

Untracked files:
    Untracked:  analysis/clean_and_save_sce.R
    Untracked:  analysis/description_integration_wei_stephenson
    Untracked:  analysis/scRNAseq_complete_01_preprocessing_comparison.Rmd
    Untracked:  analysis/scRNAseq_complete_05_ec_trajectory_analysis.Rmd
    Untracked:  analysis/scRNAseq_complete_05_ec_trajectory_analysis_2.Rmd
    Untracked:  analysis/scRNAseq_complete_05_ec_trajectory_analysis_3.Rmd
    Untracked:  code/plot_utilities.Rmd
    Untracked:  code/rebuild_ezRun.R
    Untracked:  code/tmp1.R
    Untracked:  code/tmp1.Rmd
    Untracked:  nonhosted_public/
    Untracked:  singRstudio.sh.bak

Unstaged changes:
    Modified:   analysis/scRNAseq_combined_06_Figures.Rmd
    Modified:   analysis/scRNAseq_complete_04-2_celltype_markers.Rmd
    Modified:   analysis/scRNAseq_complete_04-2_celltype_markers_subcelltypes.Rmd
    Modified:   analysis/scRNAseq_complete_04_Annotation_v7.Rmd
    Modified:   analysis/scRNAseq_complete_Figures.Rmd
    Modified:   analysis/write_tsv.Rmd
    Modified:   code/create_hdf5.R

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.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/scRNAseq_combined_04_labels.Rmd) and HTML (public/scRNAseq_combined_04_labels.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd 58eeb06 Reto Gerber 2023-05-30 add new version
html 58eeb06 Reto Gerber 2023-05-30 add new version
Rmd 4575ba6 Reto Gerber 2022-12-21 Update analyis

Set up

suppressPackageStartupMessages({
  library(magrittr)
  library(SingleCellExperiment)
  library(SingleR)
  library(BiocParallel)
  library(ggplot2)
})
n_workers <- 10
RhpcBLASctl::blas_set_num_threads(n_workers)
bpparam <- BiocParallel::MulticoreParam(workers=n_workers, RNGseed = 123)
analysis_version <- 7
here::here()
[1] "/home/retger/Synovial/synovialscrnaseq"
source(here::here("code","utilities_plots.R"))

set.seed(100)
syn_sce <- readRDS(file = here::here("output",paste0("combined_v",analysis_version,"_sce_hvg_cms.rds")))
syn_ref <- syn_sce[,!(syn_sce$Protocol %in% c("wei","stephenson"))]
Loading required package: tidySingleCellExperiment

Attaching package: 'tidySingleCellExperiment'
The following object is masked from 'package:IRanges':

    slice
The following object is masked from 'package:S4Vectors':

    rename
The following object is masked from 'package:matrixStats':

    count
The following object is masked from 'package:magrittr':

    extract
The following object is masked from 'package:stats':

    filter
syn_annot <- syn_sce[,syn_sce$Protocol %in% c("wei","stephenson")]

Annotate with SingleR

assay type: reconstructed

bpstart(bpparam)
out_ttests <- scran::pairwiseTTests(assay(syn_ref, "logcounts"), syn_ref$minor_celltype, block=syn_ref$Sample, direction="up",BPPARAM=bpparam, lfc=0.5)
bpstop(bpparam)
saveRDS(out_ttests, here::here("output",paste0("combined_v",analysis_version,"_SingleR_markers.rds")))
out_ttests <- readRDS(here::here("output",paste0("combined_v",analysis_version,"_SingleR_markers.rds")))

markers <- scran::getTopMarkers(out_ttests[[1]], out_ttests[[2]], n=50,fdr.threshold = 0.05, pval.type="all")
sapply(markers, function(m) sort(sapply(m,length))[2])
                                                               ?.CCR7+ CCL5+ LEF1low SELLlow 
                                                                                           2 
ACKRhigh IL1R1high CLU+ SELEhigh TNFAIP3+ IL6+ CCL2high venous.ACKRhigh IL1R1med CLU+ venous 
                                                                                           2 
                                 ACKRhigh IL1R1low CLU+ venous.ACKRhigh IL1R1med CLU+ venous 
                                                                                           2 
                                 ACKRhigh IL1R1med CLU+ venous.ACKRhigh IL1R1med CLU+ venous 
                                                                                           0 
              ACKRmed IL1R1- CLU- SPARChigh SELE+ transitional.ACKRhigh IL1R1med CLU+ venous 
                                                                                           7 
                                                                                   B cells.? 
                                                                                          50 
                                                       CADM1high ACAN+ DKK3+.NOTCH3+ GGT5low 
                                                                                          34 
                                                 CCR7- TIGIT+ CTLA4+.CCR7+ CCL5- LEF1+ SELL+ 
                                                                                          28 
                                         CCR7+ CCL5- LEF1+ SELL+.CCR7+ CCL5+ LEF1low SELLlow 
                                                                                          16 
                                       CCR7+ CCL5+ LEF1low SELLlow.GNLY- GZMK+ GZMH- GZMBlow 
                                                                                          23 
                                                             CD1C+ CLEC10A+.CLEC10A+ CD48low 
                                                                                          40 
                                            CD3- NKG7- IL7R+ ILC.CCR7+ CCL5+ LEF1low SELLlow 
                                                                                          16 
                                           CD3- NKG7+ GNLY+ NK cells.NKG7+ GNLY+ GZMK- GZMB+ 
                                                                                          17 
                                                           CLEC10A+ CD48low.COLEC12neg CD48+ 
                                                                                           2 
                                                                      CLEC9A+ CADM1+ CLNK+.? 
                                                                                          50 
                                                COLEC12high CD209+ LYVE1+.COLEC12med CD48low 
                                                                                          20 
                    COLEC12high TIMD4+.COLEC12med TIMD4+ SPP1neg & COLEC12med TIMD4neg SPP1+ 
                                                                                          26 
                                                                 COLEC12high TIMD4+ TOP2A+.? 
                                                                                          50 
                                                COLEC12med CD48low.COLEC12high CD209+ LYVE1+ 
                                                                                          13 
                    COLEC12med TIMD4+ SPP1neg & COLEC12med TIMD4neg SPP1+.COLEC12high TIMD4+ 
                                                                                           3 
                                                         COLEC12neg CD48+.COLEC12med CD48low 
                                                                                           8 
                                                  GGT5high CXCL12 high FGF7+.NOTCH3+ GGT5low 
                                                                                          27 
                                                                    GJA4+ CLDN5+ arterial .? 
                                                                                          50 
                                           GNLY- GZMK+ GZMH- GZMBlow.NKG7+ GNLY+ GZMK- GZMB+ 
                                                                                           7 
                                             GNLY- GZMK+ GZMH+ GZMB+.NKG7+ GNLY+ GZMK- GZMB+ 
                                                                                           8 
                                                HLA-DRAhigh CD74+.GGT5high CXCL12 high FGF7+ 
                                                                                          40 
                                                                               IDO1+ LAMP3.? 
                                                                                          50 
                                   KDR+ SPP1+ SPARChigh capillary.TOP2A CENPF+ proliferating 
                                                                                           2 
                                   LYVE1+ PROX1+ CCL21+ lymphatic.TOP2A CENPF+ proliferating 
                                                                                          42 
                                                           Macrophages.CADM1high ACAN+ DKK3+ 
                                                                                           7 
                                                                                Mast cells.? 
                                                                                          50 
                                                                               Neutrophils.? 
                                                                                          50 
                                             NKG7+ GNLY+ GZMK- GZMB+.GNLY- GZMK+ GZMH+ GZMB+ 
                                                                                           6 
                                                  NOTCH3+ GGT5low.GGT5high CXCL12 high FGF7+ 
                                                                                          13 
                                                                     Pericytes/Mural cells.? 
                                                                                          50 
                                                 Plasmablasts.LYVE1+ PROX1+ CCL21+ lymphatic 
                                                                                          10 
                                                                          Plasmacytoid DCs.? 
                                                                                          50 
                                                            PRG4+ CD55+ TWISTNB+ lining SF.? 
                                                                                          50 
                                                   S100A12+ PLAC8+ CD48high.CLEC10A+ CD48low 
                                                                                          35 
                                                               SERPINE1+ COL5A3+ LOXL2high.? 
                                                                                          50 
                           SPP1+ CD48+.COLEC12med TIMD4+ SPP1neg & COLEC12med TIMD4neg SPP1+ 
                                                                                          16 
                                                  TNXBhigh IGFBP6+ FGFBP2+.HLA-DRAhigh CD74+ 
                                                                                          34 
                                   TOP2A CENPF+ proliferating.LYVE1+ PROX1+ CCL21+ lymphatic 
                                                                                          46 
                                                  TOP2A+ CENPF+ proliferating T & NK cells.? 
                                                                                          50 
# sapply(markers, function(m) which.min(sapply(m,length)))
# set.seed(1234)
# test_syn_ref <- syn_ref[,sample(seq_along(syn_ref$minor_celltype),5000)]
# table(test_syn_ref$minor_celltype,useNA="ifany")
# table(is.na(syn_ref$minor_celltype))
syn_ref <- syn_ref[,!is.na(syn_ref$minor_celltype)]
sr_trained <- trainSingleR(ref=syn_ref, labels=syn_ref$minor_celltype, 
                      assay.type = "reconstructed", aggr.ref=TRUE)
Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations

Warning: did not converge in 10 iterations
saveRDS(sr_trained, here::here("output",paste0("combined_v",analysis_version,"_SingleR_trained.rds")))
# test_syn_annot <- syn_annot[,sample(seq_len(ncol(syn_annot)),5000)]
predictions_rec <- classifySingleR(test=syn_annot,trained = sr_trained, assay.type="reconstructed")
saveRDS(predictions_rec, here::here("output",paste0("combined_v",analysis_version,"_SingleR_predictions_recrec.rds")))

Results

assay: reconstructed

predictions <- predictions_rec
syn_sce$minor_celltype[syn_sce$Protocol %in% c("wei","stephenson")] <- predictions$labels
plotScoreHeatmap(predictions,annotation_col=as.data.frame(colData(syn_annot)[,c("Protocol","Sample"),drop=FALSE]))

Version Author Date
58eeb06 Reto Gerber 2023-05-30
table(predictions$labels)

                              ACKRhigh IL1R1+ CLU+ SELE+ venous 
                                                            715 
                  ACKRhigh IL1R1+ CLU+ SELEhigh TNFAIP3+ venous 
                                                            756 
                              ACKRhigh IL1R1+ CLU+ VCAN+ venous 
                                                           1122 
                                         ACKRmed CLU- SPARChigh 
                                                            925 
                                                        B cells 
                                                            471 
                         C1QA/B/C+ FOLR2low CCR2+ CD48+ CLEC10A 
                                                            442 
                                          CADM1high ACAN+ DKK3+ 
                                                           2052 
                                           CCR7high LEF1+ SELL+ 
                                                            743 
                                        CCR7med LEF1low SELLlow 
                                                            574 
                                                 CD1C+ CLEC10A+ 
                                                            100 
                                        CD3- NKG7- KLRB1+ IL7R+ 
                                                             35 
                                               CD3- NKG7+ GNLY+ 
                                                            277 
                                                 CD48+ CLEC10A+ 
                                                            172 
                                        CD48high S100A12+ IL1B+ 
                                                             51 
                                                  CD48low SPP1+ 
                                                            260 
                                           CLEC9A+ CADM1+ CLNK+ 
                                                             57 
                                              Endothelial cells 
                                                             50 
         FOLR2+ MERTK+ TIMD4+ & FOLR2low MERTKlow SPP1+ subsets 
                                                            675 
                           FOLR2high MERTK+ SELENOPhigh CD48med 
                                                            604 
FOLR2high MERTK+ SELENOPhigh COLEC12high LYVE1+ CD209+ SLC40A1+ 
                                                            498 
                FOLR2high MERTK+ SELENOPhigh COLEC12high TIMD4+ 
                                                            783 
                  FOLR2low MERTKlow TOP2A+ CENPF+ proliferating 
                                                             81 
                                     GGT5high CXCL12 high FGF7+ 
                                                           5504 
                                          GJA4+ CLDN5+ arterial 
                                                            330 
                                              GZMB- GZMH- GZMK+ 
                                                            681 
                                        GZMB+ GZMH+ GZMK- GNLY+ 
                                                            287 
                                              GZMB+ GZMH+ GZMK+ 
                                                           1389 
                                              HLA-DRAhigh CD74+ 
                                                           4266 
                                                   IDO1+ LAMP3+ 
                                                             54 
                                 KDR+ SPP1+ SPARChigh capillary 
                                                            651 
                                 LYVE1+ PROX1+ CCL21+ lymphatic 
                                                             61 
                                                    Macrophages 
                                                            480 
                                                     Mast cells 
                                                            134 
                                                         MMP13+ 
                                                           2154 
                                                    Neutrophils 
                                                              2 
                                          Pericytes/Mural cells 
                                                            857 
                                                   Plasmablasts 
                                                            251 
                                               Plasmacytoid DCs 
                                                             19 
                                 PRG4+ CD55+ TWISTNB+ lining SF 
                                                           4812 
                                    SERPINE1+ COL5A3+ LOXL2high 
                                                            941 
                                                  TIGIT+ CTLA4+ 
                                                           1306 
                                       TNXBhigh IGFBP6+ FGFBP2+ 
                                                           3239 
                                                  TOP2A+ CENPF+ 
                                                            136 
                                    TOP2A+ CENPF+ proliferating 
                                                             68 
set.seed(123)
shuffle <- sample(seq_len(dim(syn_sce)[2]),5000)
scater::plotReducedDim(syn_sce[,shuffle], "UMAP_corrected", colour_by = "minor_celltype",other_fields=list("Protocol"),point_alpha=1) +
  facet_wrap(~Protocol) +
  scale_color_viridis_d()
Scale for 'colour' is already present. Adding another scale for 'colour',
which will replace the existing scale.

Version Author Date
58eeb06 Reto Gerber 2023-05-30
# pred.syn <- readRDS(file = here::here("output",paste0("protocol_v",analysis_version,"_predSingleR_sub.rds")))
lookup <- unique(colData(syn_ref)[,c("minor_celltype","main_celltype")])
mainlabsdf <- dplyr::left_join(
  data.frame(minor_celltype=predictions$labels),
  as.data.frame(lookup),
  by="minor_celltype")

labssplit <- split(predictions$labels,mainlabsdf$main_celltype)
for(i in seq_along(labssplit)){
  print(table(labssplit[[i]]))
}

B cells 
    471 

      CD1C+ CLEC10A+ CLEC9A+ CADM1+ CLNK+         IDO1+ LAMP3+ 
                 100                   57                   54 

            ACKRhigh IL1R1+ CLU+ SELE+ venous 
                                          715 
ACKRhigh IL1R1+ CLU+ SELEhigh TNFAIP3+ venous 
                                          756 
            ACKRhigh IL1R1+ CLU+ VCAN+ venous 
                                         1122 
                       ACKRmed CLU- SPARChigh 
                                          925 
                            Endothelial cells 
                                           50 
                        GJA4+ CLDN5+ arterial 
                                          330 
               KDR+ SPP1+ SPARChigh capillary 
                                          651 
               LYVE1+ PROX1+ CCL21+ lymphatic 
                                           61 
                  TOP2A+ CENPF+ proliferating 
                                           68 

         CADM1high ACAN+ DKK3+     GGT5high CXCL12 high FGF7+ 
                          2052                           5504 
             HLA-DRAhigh CD74+                         MMP13+ 
                          4266                           2154 
PRG4+ CD55+ TWISTNB+ lining SF    SERPINE1+ COL5A3+ LOXL2high 
                          4812                            941 
      TNXBhigh IGFBP6+ FGFBP2+ 
                          3239 

                         C1QA/B/C+ FOLR2low CCR2+ CD48+ CLEC10A 
                                                            442 
                                                 CD48+ CLEC10A+ 
                                                            172 
                                        CD48high S100A12+ IL1B+ 
                                                             51 
                                                  CD48low SPP1+ 
                                                            260 
         FOLR2+ MERTK+ TIMD4+ & FOLR2low MERTKlow SPP1+ subsets 
                                                            675 
                           FOLR2high MERTK+ SELENOPhigh CD48med 
                                                            604 
FOLR2high MERTK+ SELENOPhigh COLEC12high LYVE1+ CD209+ SLC40A1+ 
                                                            498 
                FOLR2high MERTK+ SELENOPhigh COLEC12high TIMD4+ 
                                                            783 
                  FOLR2low MERTKlow TOP2A+ CENPF+ proliferating 
                                                             81 
                                                    Macrophages 
                                                            480 

Mast cells 
       134 

Neutrophils 
          2 

Pericytes/Mural cells 
                  857 

Plasmablasts 
         251 

Plasmacytoid DCs 
              19 

   CCR7high LEF1+ SELL+ CCR7med LEF1low SELLlow CD3- NKG7- KLRB1+ IL7R+ 
                    743                     574                      35 
       CD3- NKG7+ GNLY+       GZMB- GZMH- GZMK+ GZMB+ GZMH+ GZMK- GNLY+ 
                    277                     681                     287 
      GZMB+ GZMH+ GZMK+           TIGIT+ CTLA4+           TOP2A+ CENPF+ 
                   1389                    1306                     136 

sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04 LTS

Matrix products: default
BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.8.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=C             
 [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] gdtools_0.2.3                  tidySingleCellExperiment_1.0.0
 [3] ggplot2_3.3.3                  BiocParallel_1.24.1           
 [5] SingleR_1.4.1                  SingleCellExperiment_1.12.0   
 [7] SummarizedExperiment_1.20.0    Biobase_2.50.0                
 [9] GenomicRanges_1.42.0           GenomeInfoDb_1.26.7           
[11] IRanges_2.24.1                 S4Vectors_0.28.1              
[13] BiocGenerics_0.36.1            MatrixGenerics_1.2.1          
[15] matrixStats_0.58.0             magrittr_2.0.1                
[17] workflowr_1.6.2               

loaded via a namespace (and not attached):
 [1] bitops_1.0-6              fs_1.5.0                 
 [3] RColorBrewer_1.1-2        httr_1.4.2               
 [5] rprojroot_2.0.2           tools_4.0.3              
 [7] R6_2.5.0                  irlba_2.3.3              
 [9] vipor_0.4.5               DBI_1.1.1                
[11] lazyeval_0.2.2            colorspace_2.0-0         
[13] withr_2.4.1               gridExtra_2.3            
[15] tidyselect_1.1.0          compiler_4.0.3           
[17] git2r_0.28.0              cli_2.3.0                
[19] BiocNeighbors_1.8.2       DelayedArray_0.16.3      
[21] plotly_4.9.3              labeling_0.4.2           
[23] scales_1.1.1              systemfonts_1.0.1        
[25] stringr_1.4.0             digest_0.6.27            
[27] svglite_1.2.3.2           rmarkdown_2.6            
[29] XVector_0.30.0            RhpcBLASctl_0.20-137     
[31] scater_1.18.6             pkgconfig_2.0.3          
[33] htmltools_0.5.1.1         sparseMatrixStats_1.2.1  
[35] highr_0.8                 limma_3.46.0             
[37] htmlwidgets_1.5.3         rlang_0.4.10             
[39] DelayedMatrixStats_1.12.3 farver_2.0.3             
[41] generics_0.1.0            jsonlite_1.7.2           
[43] dplyr_1.0.4               RCurl_1.98-1.2           
[45] BiocSingular_1.6.0        GenomeInfoDbData_1.2.4   
[47] scuttle_1.0.4             Matrix_1.3-2             
[49] ggbeeswarm_0.6.0          Rcpp_1.0.6               
[51] munsell_0.5.0             fansi_0.4.2              
[53] viridis_0.5.1             lifecycle_1.0.0          
[55] stringi_1.5.3             whisker_0.4              
[57] yaml_2.2.1                edgeR_3.32.1             
[59] zlibbioc_1.36.0           grid_4.0.3               
[61] promises_1.2.0.1          dqrng_0.2.1              
[63] crayon_1.4.1              lattice_0.20-41          
[65] cowplot_1.1.1             beachmat_2.6.4           
[67] locfit_1.5-9.4            knitr_1.31               
[69] pillar_1.4.7              igraph_1.2.6             
[71] glue_1.4.2                evaluate_0.14            
[73] scran_1.18.7              data.table_1.13.6        
[75] vctrs_0.3.6               httpuv_1.5.5             
[77] gtable_0.3.0              purrr_0.3.4              
[79] tidyr_1.1.2               assertthat_0.2.1         
[81] xfun_0.21                 rsvd_1.0.3               
[83] later_1.1.0.1             viridisLite_0.3.0        
[85] pheatmap_1.0.12           tibble_3.0.6             
[87] beeswarm_0.2.3            bluster_1.0.0            
[89] statmod_1.4.35            ellipsis_0.3.1           
[91] here_1.0.1