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
## Loading required package: generics
## 
## Attaching package: 'generics'
## The following objects are masked from 'package:base':
## 
##     as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
##     setequal, union
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:generics':
## 
##     intersect, setdiff, setequal, union
## 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, saveRDS, setdiff,
##     setequal, 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(): 2024-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 Under development (unstable) (2024-10-21 r87258)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.21-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.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.13.0            GEOquery_2.75.0            
##  [3] SingleCellExperiment_1.29.0 SummarizedExperiment_1.37.0
##  [5] Biobase_2.67.0              GenomicRanges_1.59.0       
##  [7] GenomeInfoDb_1.43.0         IRanges_2.41.0             
##  [9] S4Vectors_0.45.0            MatrixGenerics_1.19.0      
## [11] matrixStats_1.4.1           ExperimentHub_2.15.0       
## [13] AnnotationHub_3.15.0        BiocFileCache_2.15.0       
## [15] dbplyr_2.5.0                BiocGenerics_0.53.1        
## [17] generics_0.1.3              BiocStyle_2.35.0           
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.1        dplyr_1.1.4             blob_1.2.4             
##  [4] filelock_1.0.3          Biostrings_2.75.0       fastmap_1.2.0          
##  [7] XML_3.99-0.17           digest_0.6.37           mime_0.12              
## [10] lifecycle_1.0.4         statmod_1.5.0           KEGGREST_1.47.0        
## [13] RSQLite_2.3.7           magrittr_2.0.3          compiler_4.5.0         
## [16] rlang_1.1.4             sass_0.4.9              tools_4.5.0            
## [19] utf8_1.2.4              yaml_2.3.10             data.table_1.16.2      
## [22] knitr_1.48              S4Arrays_1.7.1          bit_4.5.0              
## [25] curl_5.2.3              DelayedArray_0.33.1     xml2_1.3.6             
## [28] abind_1.4-8             withr_3.0.2             purrr_1.0.2            
## [31] grid_4.5.0              fansi_1.0.6             cli_3.6.3              
## [34] rmarkdown_2.29          crayon_1.5.3            httr_1.4.7             
## [37] tzdb_0.4.0              DBI_1.2.3               cachem_1.1.0           
## [40] zlibbioc_1.53.0         AnnotationDbi_1.69.0    BiocManager_1.30.25    
## [43] XVector_0.47.0          vctrs_0.6.5             Matrix_1.7-1           
## [46] jsonlite_1.8.9          bookdown_0.41           hms_1.1.3              
## [49] bit64_4.5.2             limma_3.63.1            jquerylib_0.1.4        
## [52] tidyr_1.3.1             glue_1.8.0              BiocVersion_3.21.1     
## [55] UCSC.utils_1.3.0        tibble_3.2.1            pillar_1.9.0           
## [58] rappdirs_0.3.3          htmltools_0.5.8.1       GenomeInfoDbData_1.2.13
## [61] R6_2.5.1                evaluate_1.0.1          lattice_0.22-6         
## [64] readr_2.1.5             rentrez_1.2.3           png_0.1-8              
## [67] memoise_2.0.1           bslib_0.8.0             SparseArray_1.7.0      
## [70] xfun_0.49               pkgconfig_2.0.3