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, aperm, 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 object is masked from 'package:utils':
## 
##     findMatches
## 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()
dset <- query(eh , "GSE103322")
dset
## ExperimentHub with 1 record
## # snapshotDate(): 2023-10-24
## # 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.3.1 (2023-06-16)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.3 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.18-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## 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       
## 
## time zone: America/New_York
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] GSE103322_1.8.0             GEOquery_2.70.0            
##  [3] SingleCellExperiment_1.24.0 SummarizedExperiment_1.32.0
##  [5] Biobase_2.62.0              GenomicRanges_1.54.0       
##  [7] GenomeInfoDb_1.38.0         IRanges_2.36.0             
##  [9] S4Vectors_0.40.0            MatrixGenerics_1.14.0      
## [11] matrixStats_1.0.0           ExperimentHub_2.10.0       
## [13] AnnotationHub_3.10.0        BiocFileCache_2.10.0       
## [15] dbplyr_2.3.4                BiocGenerics_0.48.0        
## [17] BiocStyle_2.30.0           
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.0              dplyr_1.1.3                  
##  [3] blob_1.2.4                    filelock_1.0.2               
##  [5] Biostrings_2.70.1             bitops_1.0-7                 
##  [7] fastmap_1.1.1                 RCurl_1.98-1.12              
##  [9] promises_1.2.1                digest_0.6.33                
## [11] mime_0.12                     lifecycle_1.0.3              
## [13] ellipsis_0.3.2                statmod_1.5.0                
## [15] KEGGREST_1.42.0               interactiveDisplayBase_1.40.0
## [17] RSQLite_2.3.1                 magrittr_2.0.3               
## [19] compiler_4.3.1                rlang_1.1.1                  
## [21] sass_0.4.7                    tools_4.3.1                  
## [23] utf8_1.2.4                    yaml_2.3.7                   
## [25] data.table_1.14.8             knitr_1.44                   
## [27] S4Arrays_1.2.0                bit_4.0.5                    
## [29] curl_5.1.0                    DelayedArray_0.28.0          
## [31] xml2_1.3.5                    abind_1.4-5                  
## [33] withr_2.5.1                   purrr_1.0.2                  
## [35] grid_4.3.1                    fansi_1.0.5                  
## [37] xtable_1.8-4                  cli_3.6.1                    
## [39] rmarkdown_2.25                crayon_1.5.2                 
## [41] generics_0.1.3                tzdb_0.4.0                   
## [43] httr_1.4.7                    DBI_1.1.3                    
## [45] cachem_1.0.8                  zlibbioc_1.48.0              
## [47] AnnotationDbi_1.64.0          BiocManager_1.30.22          
## [49] XVector_0.42.0                vctrs_0.6.4                  
## [51] Matrix_1.6-1.1                jsonlite_1.8.7               
## [53] bookdown_0.36                 hms_1.1.3                    
## [55] bit64_4.0.5                   limma_3.58.0                 
## [57] tidyr_1.3.0                   jquerylib_0.1.4              
## [59] glue_1.6.2                    BiocVersion_3.18.0           
## [61] later_1.3.1                   tibble_3.2.1                 
## [63] pillar_1.9.0                  rappdirs_0.3.3               
## [65] htmltools_0.5.6.1             GenomeInfoDbData_1.2.11      
## [67] R6_2.5.1                      evaluate_0.22                
## [69] shiny_1.7.5.1                 lattice_0.22-5               
## [71] readr_2.1.4                   png_0.1-8                    
## [73] memoise_2.0.1                 httpuv_1.6.12                
## [75] bslib_0.5.1                   Rcpp_1.0.11                  
## [77] SparseArray_1.2.0             xfun_0.40                    
## [79] pkgconfig_2.0.3