Contents

1 Accessing human HNSC scRNASeq data using Bioconductor’s ExperimentHub

Transcripts per million (TPM) single cell RNA-Seq data for 5,902 cells from 18 patients–oral cavity head and neck squamous cell carcinoma (HNSC)– are available from GEO GSE103322. These data are also available as a SingleCellExpression from ExperimentHub.

In the example below, we show how this dataset can be dwnloaded from ExperimentHub.

library(ExperimentHub)
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     Filter, Find, Map, Position, Reduce, anyDuplicated, append,
##     as.data.frame, basename, cbind, colnames, dirname, do.call,
##     duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
##     lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
##     pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
##     tapply, union, unique, unsplit, which.max, which.min
## Loading required package: AnnotationHub
## Loading required package: BiocFileCache
## Loading required package: dbplyr
library(SingleCellExperiment)
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
## 
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
## 
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:base':
## 
##     I, expand.grid, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
## 
##     rowMedians
## The following objects are masked from 'package:matrixStats':
## 
##     anyMissing, rowMedians
## The following object is masked from 'package:ExperimentHub':
## 
##     cache
## The following object is masked from 'package:AnnotationHub':
## 
##     cache
eh = ExperimentHub()
## snapshotDate(): 2021-10-18
dset <- query(eh , "GSE103322")
dset
## ExperimentHub with 1 record
## # snapshotDate(): 2021-10-18
## # names(): EH5419
## # package(): GSE103322
## # $dataprovider: GEO
## # $species: Homo sapiens
## # $rdataclass: SingleCellExperiment
## # $rdatadateadded: 2021-03-04
## # $title: Single cell RNA-seq data for human head and neck squamous cell car...
## # $description: scRNA-Sequencing data and metadata for 5902 cells  from 18 p...
## # $taxonomyid: 9606
## # $genome: hg19
## # $sourcetype: tar.gz
## # $sourceurl: http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE103322
## # $sourcesize: NA
## # $tags: c("CancerData", "DNASeqData", "ExpressionData", "Genome",
## #   "GEO", "Homo_sapiens_Data", "RNASeqData", "SingleCellData") 
## # retrieve record with 'object[["EH5419"]]'

One can then extract the data for this using

sce <- dset[[1]]
## see ?GSE103322 and browseVignettes('GSE103322') for documentation
## loading from cache

1.1 Exploring the metadata

The metadata is available from the SingleCellExpression object with

head(SummarizedExperiment::colData(sce))
## DataFrame with 6 rows and 5 columns
##                        processed.by.Maxima.enzyme  Lymph.node
##                                       <character> <character>
## HN28_P15_D06_S330_comb                          1           1
## HN28_P6_G05_S173_comb                           1           0
## HN26_P14_D11_S239_comb                          1           1
## HN26_P14_H05_S281_comb                          1           1
## HN26_P25_H09_S189_comb                          1           1
## HN26_P14_H06_S282_comb                          1           1
##                        classified..as.cancer.cell
##                                       <character>
## HN28_P15_D06_S330_comb                          0
## HN28_P6_G05_S173_comb                           0
## HN26_P14_D11_S239_comb                          1
## HN26_P14_H05_S281_comb                          0
## HN26_P25_H09_S189_comb                          1
## HN26_P14_H06_S282_comb                          1
##                        classified.as.non.cancer.cells non.cancer.cell.type
##                                           <character>          <character>
## HN28_P15_D06_S330_comb                              1           Fibroblast
## HN28_P6_G05_S173_comb                               1           Fibroblast
## HN26_P14_D11_S239_comb                              0                    0
## HN26_P14_H05_S281_comb                              1           Fibroblast
## HN26_P25_H09_S189_comb                              0                    0
## HN26_P14_H06_S282_comb                              0                    0

For example, to obtain the number of cells classified as non-tumor types

table(SummarizedExperiment::colData(sce)$non.cancer.cell.type)
## 
## -Fibroblast           0      B cell   Dendritic Endothelial  Fibroblast 
##          18        2539         138          51         260        1422 
##  Macrophage        Mast      T cell     myocyte 
##          98         120        1237          19

1.2 Extracting the data

The data can be extracted from the SingleCellExpression object with

dset <- SummarizedExperiment::assays(sce)$TPM
dim(dset)
## [1] 21341  5902
dset[1:4, 1:3]
##        HN28_P15_D06_S330_comb HN28_P6_G05_S173_comb HN26_P14_D11_S239_comb
## 401546                 0.0000                0.0000                0.42761
## 6205                   6.0037                7.3006                7.28850
## 63916                  0.0000                0.0000                0.00000
## 90993                  0.0000                0.0000                0.00000

2 sessionInfo()

sessionInfo()
## R version 4.1.1 (2021-08-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.3 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.14-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.14-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB              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] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] GSE103322_1.0.0             GEOquery_2.62.0            
##  [3] SingleCellExperiment_1.16.0 SummarizedExperiment_1.24.0
##  [5] Biobase_2.54.0              GenomicRanges_1.46.0       
##  [7] GenomeInfoDb_1.30.0         IRanges_2.28.0             
##  [9] S4Vectors_0.32.0            MatrixGenerics_1.6.0       
## [11] matrixStats_0.61.0          ExperimentHub_2.2.0        
## [13] AnnotationHub_3.2.0         BiocFileCache_2.2.0        
## [15] dbplyr_2.1.1                BiocGenerics_0.40.0        
## [17] BiocStyle_2.22.0           
## 
## loaded via a namespace (and not attached):
##  [1] httr_1.4.2                    tidyr_1.1.4                  
##  [3] sass_0.4.0                    bit64_4.0.5                  
##  [5] jsonlite_1.7.2                bslib_0.3.1                  
##  [7] shiny_1.7.1                   assertthat_0.2.1             
##  [9] interactiveDisplayBase_1.32.0 BiocManager_1.30.16          
## [11] blob_1.2.2                    GenomeInfoDbData_1.2.7       
## [13] yaml_2.2.1                    BiocVersion_3.14.0           
## [15] pillar_1.6.4                  RSQLite_2.2.8                
## [17] lattice_0.20-45               limma_3.50.0                 
## [19] glue_1.4.2                    digest_0.6.28                
## [21] promises_1.2.0.1              XVector_0.34.0               
## [23] htmltools_0.5.2               httpuv_1.6.3                 
## [25] Matrix_1.3-4                  pkgconfig_2.0.3              
## [27] bookdown_0.24                 zlibbioc_1.40.0              
## [29] purrr_0.3.4                   xtable_1.8-4                 
## [31] later_1.3.0                   tzdb_0.2.0                   
## [33] tibble_3.1.5                  KEGGREST_1.34.0              
## [35] generics_0.1.1                ellipsis_0.3.2               
## [37] cachem_1.0.6                  withr_2.4.2                  
## [39] magrittr_2.0.1                crayon_1.4.1                 
## [41] mime_0.12                     memoise_2.0.0                
## [43] evaluate_0.14                 fansi_0.5.0                  
## [45] xml2_1.3.2                    data.table_1.14.2            
## [47] tools_4.1.1                   hms_1.1.1                    
## [49] lifecycle_1.0.1               stringr_1.4.0                
## [51] DelayedArray_0.20.0           AnnotationDbi_1.56.1         
## [53] Biostrings_2.62.0             compiler_4.1.1               
## [55] jquerylib_0.1.4               rlang_0.4.12                 
## [57] grid_4.1.1                    RCurl_1.98-1.5               
## [59] rappdirs_0.3.3                bitops_1.0-7                 
## [61] rmarkdown_2.11                DBI_1.1.1                    
## [63] curl_4.3.2                    R6_2.5.1                     
## [65] knitr_1.36                    dplyr_1.0.7                  
## [67] fastmap_1.1.0                 bit_4.0.4                    
## [69] utf8_1.2.2                    filelock_1.0.2               
## [71] readr_2.0.2                   stringi_1.7.5                
## [73] Rcpp_1.0.7                    vctrs_0.3.8                  
## [75] png_0.1-7                     tidyselect_1.1.1             
## [77] xfun_0.27