Installation

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("SingleCellMultiModal")

Load packages

library(SingleCellMultiModal)
library(MultiAssayExperiment)

Introduction

This package introduces a suite of single-cell multimodal landmark datasets for benchmarking and testing multimodal analysis methods via the ExperimentHub Bioconductor package. The scope of this package is to provide efficient access to a selection of curated, pre-integrated, publicly available landmark datasets for methods development and benchmarking.

Representation

Users can obtain integrative representations of multiple modalities as a MultiAssayExperiment, a common core Bioconductor data structure relied on by dozens of multimodal data analysis packages. MultiAssayExperiment harmonizes data management of multiple experimental assays performed on an overlapping set of specimens. Although originally developed for patient data from multi-omics cancer studies, the MultiAssayExperiment framework naturally applies also to single cells. A schematic of the data structure can be seen below. In this context, “patients” are replaced by “cells”. We use MultiAssayExperiment because it provides a familiar user experience by extending SummarizedExperiment concepts and providing open ended compatibility with standard data classes present in Bioconductor such as the SingleCellExperiment.

Datasets

Here we show a table of available datasets from the SingleCellMultiModal experiment data package:

DT::datatable(
    SingleCellMultiModal::ontomap(),
    caption = "Available datasets in SingleCellMultiModal"
)

Note that each dataset has its own dedicated function that can also be invoked with SingleCellMultiModal(). For example, the SingleCellMultiModal() function can be used to access the MultiAssayExperiment object for the mouse_gastrulation dataset:

SingleCellMultiModal::SingleCellMultiModal("mouse_gastrulation")

but can also be called individually with the dedicated function, scNMT() (as seen in the function_name column).

scNMT(
    DataType = "mouse_gastrulation",
    modes = "*",
    version = "2.0.0",
    dry.run = TRUE
) |>
    knitr::kable()
ah_id mode file_size rdataclass rdatadateadded rdatadateremoved
EH3753 acc_cgi 21.1 Mb matrix 2020-09-03 NA
EH3754 acc_CTCF 1.2 Mb matrix 2020-09-03 NA
EH3755 acc_DHS 16.2 Mb matrix 2020-09-03 NA
EH3756 acc_genebody 60.1 Mb matrix 2020-09-03 NA
EH3757 acc_p300 0.2 Mb matrix 2020-09-03 NA
EH3758 acc_promoter 33.8 Mb matrix 2020-09-03 NA
EH3760 met_cgi 12.1 Mb matrix 2020-09-03 NA
EH3761 met_CTCF 0.1 Mb matrix 2020-09-03 NA
EH3762 met_DHS 3.9 Mb matrix 2020-09-03 NA
EH3763 met_genebody 33.9 Mb matrix 2020-09-03 NA
EH3764 met_p300 0.1 Mb matrix 2020-09-03 NA
EH3765 met_promoter 18.7 Mb matrix 2020-09-03 NA
EH3766 rna 43.5 Mb matrix 2020-09-03 NA

Individual vignettes

To see the technology specific vignettes, use the following command to list the vignettes:

help(package = "SingleCellMultiModal")

and click on

in the Help pane of RStudio.

Session Information

Click to expand
## R version 4.3.2 (2023-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.3 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0
## 
## 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       
## 
## time zone: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] SingleCellMultiModal_1.14.0 MultiAssayExperiment_1.28.0
##  [3] SummarizedExperiment_1.32.0 Biobase_2.62.0             
##  [5] GenomicRanges_1.54.1        GenomeInfoDb_1.38.2        
##  [7] IRanges_2.36.0              S4Vectors_0.40.2           
##  [9] BiocGenerics_0.48.1         MatrixGenerics_1.14.0      
## [11] matrixStats_1.2.0           BiocStyle_2.30.0           
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.0              dplyr_1.1.4                  
##  [3] blob_1.2.4                    Biostrings_2.70.1            
##  [5] filelock_1.0.3                bitops_1.0-7                 
##  [7] SingleCellExperiment_1.24.0   fastmap_1.1.1                
##  [9] RCurl_1.98-1.13               BiocFileCache_2.10.1         
## [11] promises_1.2.1                digest_0.6.33                
## [13] mime_0.12                     lifecycle_1.0.4              
## [15] ellipsis_0.3.2                KEGGREST_1.42.0              
## [17] interactiveDisplayBase_1.40.0 RSQLite_2.3.4                
## [19] magrittr_2.0.3                compiler_4.3.2               
## [21] rlang_1.1.2                   sass_0.4.8                   
## [23] tools_4.3.2                   utf8_1.2.4                   
## [25] yaml_2.3.8                    knitr_1.45                   
## [27] htmlwidgets_1.6.4             S4Arrays_1.2.0               
## [29] bit_4.0.5                     curl_5.2.0                   
## [31] DelayedArray_0.28.0           abind_1.4-5                  
## [33] withr_2.5.2                   purrr_1.0.2                  
## [35] desc_1.4.3                    grid_4.3.2                   
## [37] fansi_1.0.6                   ExperimentHub_2.10.0         
## [39] xtable_1.8-4                  cli_3.6.2                    
## [41] rmarkdown_2.25                crayon_1.5.2                 
## [43] ragg_1.2.7                    generics_0.1.3               
## [45] rjson_0.2.21                  httr_1.4.7                   
## [47] DBI_1.1.3                     cachem_1.0.8                 
## [49] stringr_1.5.1                 zlibbioc_1.48.0              
## [51] AnnotationDbi_1.64.1          BiocManager_1.30.22          
## [53] XVector_0.42.0                vctrs_0.6.5                  
## [55] Matrix_1.6-4                  jsonlite_1.8.8               
## [57] bookdown_0.37                 bit64_4.0.5                  
## [59] crosstalk_1.2.1               magick_2.8.1                 
## [61] systemfonts_1.0.5             jquerylib_0.1.4              
## [63] glue_1.6.2                    pkgdown_2.0.7                
## [65] DT_0.31                       stringi_1.8.3                
## [67] BiocVersion_3.18.1            later_1.3.2                  
## [69] tibble_3.2.1                  pillar_1.9.0                 
## [71] rappdirs_0.3.3                htmltools_0.5.7              
## [73] GenomeInfoDbData_1.2.11       R6_2.5.1                     
## [75] dbplyr_2.4.0                  textshaping_0.3.7            
## [77] evaluate_0.23                 shiny_1.8.0                  
## [79] lattice_0.22-5                highr_0.10                   
## [81] AnnotationHub_3.10.0          png_0.1-8                    
## [83] SpatialExperiment_1.12.0      memoise_2.0.1                
## [85] httpuv_1.6.13                 bslib_0.6.1                  
## [87] Rcpp_1.0.11                   SparseArray_1.2.2            
## [89] xfun_0.41                     fs_1.6.3                     
## [91] pkgconfig_2.0.3