1 Installation

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

BiocManager::install("SingleCellMultiModal")

1.1 Load

library(SingleCellMultiModal)
library(MultiAssayExperiment)

2 scNMT

The dataset was graciously provided by Argelaguet et al. (2019).

Scripts used to process the raw data were written and maintained by Argelaguet and colleagues and reside on GitHub: https://github.com/rargelaguet/scnmt_gastrulation

For more information on the protocol, see Clark et al. (2018).

2.1 Downloading datasets

The user can see the available dataset by using the default options

scNMT("mouse_gastrulation", mode = "*", dry.run = TRUE)
## Available data modes for
##   mouse_gastrulation:
##     acc_CTCF, acc_DHS, acc_cgi, acc_genebody,
##     acc_p300, acc_promoter, met_CTCF,
##     met_DHS, met_cgi, met_genebody, met_p300,
##     met_promoter, rna

Or by simply running:

scNMT("mouse_gastrulation")
## Available data modes for
##   mouse_gastrulation:
##     acc_CTCF, acc_DHS, acc_cgi, acc_genebody,
##     acc_p300, acc_promoter, met_CTCF,
##     met_DHS, met_cgi, met_genebody, met_p300,
##     met_promoter, rna

Example with actual data:

nmt <- scNMT("mouse_gastrulation", mode = c("*_DHS", "*_cgi", "*_genebody"),
    dry.run = FALSE)
nmt
## A MultiAssayExperiment object of 6 listed
##  experiments with user-defined names and respective classes.
##  Containing an ExperimentList class object of length 6:
##  [1] acc_cgi: matrix with 4459 rows and 826 columns
##  [2] acc_DHS: matrix with 290 rows and 826 columns
##  [3] acc_genebody: matrix with 17139 rows and 826 columns
##  [4] met_cgi: matrix with 5536 rows and 826 columns
##  [5] met_DHS: matrix with 66 rows and 826 columns
##  [6] met_genebody: matrix with 15837 rows and 826 columns
## Features:
##  experiments() - obtain the ExperimentList instance
##  colData() - the primary/phenotype DFrame
##  sampleMap() - the sample availability DFrame
##  `$`, `[`, `[[` - extract colData columns, subset, or experiment
##  *Format() - convert into a long or wide DFrame
##  assays() - convert ExperimentList to a SimpleList of matrices

2.2 Exploring the data structure

Check row annotations:

rownames(nmt)
## CharacterList of length 6
## [["acc_cgi"]] CGI_5278 CGI_6058 CGI_10627 ... CGI_7832 CGI_11329 CGI_10964
## [["acc_DHS"]] ESC_DHS_118970 ESC_DHS_118919 ... ESC_DHS_68996 ESC_DHS_109494
## [["acc_genebody"]] ENSMUSG00000036181 ENSMUSG00000071862 ... ENSMUSG00000025576
## [["met_cgi"]] CGI_3481 CGI_8941 CGI_956 CGI_9461 ... CGI_2867 CGI_3499 CGI_365
## [["met_DHS"]] ESC_DHS_20778 ESC_DHS_14504 ... ESC_DHS_72133 ESC_DHS_72129
## [["met_genebody"]] ENSMUSG00000059334 ENSMUSG00000024026 ... ENSMUSG00000078302

Take a peek at the sampleMap:

sampleMap(nmt)
## DataFrame with 4956 rows and 3 columns
##             assay                 primary                 colname
##          <factor>             <character>             <character>
## 1    met_genebody E4.5-5.5_new_Plate1_A02 E4.5-5.5_new_Plate1_A02
## 2    met_genebody E4.5-5.5_new_Plate1_A04 E4.5-5.5_new_Plate1_A04
## 3    met_genebody E4.5-5.5_new_Plate1_A07 E4.5-5.5_new_Plate1_A07
## 4    met_genebody E4.5-5.5_new_Plate1_A08 E4.5-5.5_new_Plate1_A08
## 5    met_genebody E4.5-5.5_new_Plate1_A12 E4.5-5.5_new_Plate1_A12
## ...           ...                     ...                     ...
## 4952      acc_DHS        PS_VE_Plate9_G05        PS_VE_Plate9_G05
## 4953      acc_DHS        PS_VE_Plate9_G08        PS_VE_Plate9_G08
## 4954      acc_DHS        PS_VE_Plate9_G09        PS_VE_Plate9_G09
## 4955      acc_DHS        PS_VE_Plate9_G12        PS_VE_Plate9_G12
## 4956      acc_DHS        PS_VE_Plate9_H08        PS_VE_Plate9_H08

2.3 Chromatin Accessibility

See the accessibilty levels (as proportions) for DNase Hypersensitive Sites:

head(assay(nmt, "acc_DHS"))[, 1:4]
##                E4.5-5.5_new_Plate1_A02 E4.5-5.5_new_Plate1_A04
## ESC_DHS_118970              0.66666667                      NA
## ESC_DHS_118919              0.76190476                      NA
## ESC_DHS_66330               0.81818182               0.7142857
## ESC_DHS_43318                       NA               0.8000000
## ESC_DHS_6229                0.85714286               0.8000000
## ESC_DHS_9413                0.06666667               0.6800000
##                E4.5-5.5_new_Plate1_A07 E4.5-5.5_new_Plate1_A08
## ESC_DHS_118970                      NA               0.2631579
## ESC_DHS_118919               0.3636364               0.8421053
## ESC_DHS_66330                0.7391304               0.6086957
## ESC_DHS_43318                0.5000000               0.8888889
## ESC_DHS_6229                 0.3333333               0.7142857
## ESC_DHS_9413                 0.2142857               0.5217391

2.4 DNA Methylation

See the methylation percentage / proportion:

head(assay(nmt, "met_DHS"))[, 1:4]
##                E4.5-5.5_new_Plate1_A02 E4.5-5.5_new_Plate1_A04
## ESC_DHS_20778                0.8000000                      NA
## ESC_DHS_14504                0.8000000                     0.8
## ESC_DHS_112143                      NA                     0.4
## ESC_DHS_34593                0.6666667                     0.6
## ESC_DHS_20747                0.4000000                     0.6
## ESC_DHS_33671                       NA                     0.6
##                E4.5-5.5_new_Plate1_A07 E4.5-5.5_new_Plate1_A08
## ESC_DHS_20778                0.8571429               0.8000000
## ESC_DHS_14504                0.8000000               0.6000000
## ESC_DHS_112143               0.5714286               0.5000000
## ESC_DHS_34593                0.7142857               0.8000000
## ESC_DHS_20747                       NA               0.6000000
## ESC_DHS_33671                0.8333333               0.6666667

For protocol information, see the references below.

3 sessionInfo

sessionInfo()
## R version 4.0.0 (2020-04-24)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.11-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.11-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
##  [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] SingleCellMultiModal_1.0.0  MultiAssayExperiment_1.14.0
##  [3] SummarizedExperiment_1.18.1 DelayedArray_0.14.0        
##  [5] matrixStats_0.56.0          Biobase_2.48.0             
##  [7] GenomicRanges_1.40.0        GenomeInfoDb_1.24.0        
##  [9] IRanges_2.22.1              S4Vectors_0.26.0           
## [11] BiocGenerics_0.34.0         BiocStyle_2.16.0           
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.4.6                  lattice_0.20-41              
##  [3] assertthat_0.2.1              digest_0.6.25                
##  [5] mime_0.9                      BiocFileCache_1.12.0         
##  [7] R6_2.4.1                      RSQLite_2.2.0                
##  [9] evaluate_0.14                 httr_1.4.1                   
## [11] pillar_1.4.4                  zlibbioc_1.34.0              
## [13] rlang_0.4.6                   curl_4.3                     
## [15] blob_1.2.1                    Matrix_1.2-18                
## [17] rmarkdown_2.1                 AnnotationHub_2.20.0         
## [19] stringr_1.4.0                 RCurl_1.98-1.2               
## [21] bit_1.1-15.2                  shiny_1.4.0.2                
## [23] compiler_4.0.0                httpuv_1.5.2                 
## [25] xfun_0.13                     pkgconfig_2.0.3              
## [27] htmltools_0.4.0               tidyselect_1.0.0             
## [29] tibble_3.0.1                  GenomeInfoDbData_1.2.3       
## [31] interactiveDisplayBase_1.26.0 bookdown_0.18                
## [33] crayon_1.3.4                  dplyr_0.8.5                  
## [35] dbplyr_1.4.3                  later_1.0.0                  
## [37] bitops_1.0-6                  rappdirs_0.3.1               
## [39] grid_4.0.0                    xtable_1.8-4                 
## [41] lifecycle_0.2.0               DBI_1.1.0                    
## [43] magrittr_1.5                  stringi_1.4.6                
## [45] XVector_0.28.0                promises_1.1.0               
## [47] ellipsis_0.3.0                vctrs_0.2.4                  
## [49] tools_4.0.0                   bit64_0.9-7                  
## [51] glue_1.4.0                    BiocVersion_3.11.1           
## [53] purrr_0.3.4                   fastmap_1.0.1                
## [55] yaml_2.2.1                    AnnotationDbi_1.50.0         
## [57] ExperimentHub_1.14.0          BiocManager_1.30.10          
## [59] memoise_1.1.0                 knitr_1.28

References

Argelaguet, Ricard, Stephen J Clark, Hisham Mohammed, L Carine Stapel, Christel Krueger, Chantriolnt-Andreas Kapourani, Ivan Imaz-Rosshandler, et al. 2019. “Multi-Omics Profiling of Mouse Gastrulation at Single-Cell Resolution.” Nature 576 (7787):487–91.

Clark, Stephen J, Ricard Argelaguet, Chantriolnt-Andreas Kapourani, Thomas M Stubbs, Heather J Lee, Celia Alda-Catalinas, Felix Krueger, et al. 2018. “scNMT-seq Enables Joint Profiling of Chromatin Accessibility DNA Methylation and Transcription in Single Cells.” Nat. Commun. 9 (1):781.