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
## Warning: replacing previous import 'utils::findMatches' by
## 'S4Vectors::findMatches' when loading 'AnnotationDbi'
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-04-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.0 RC (2023-04-13 r84269)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.2 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.17-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.6.0             GEOquery_2.68.0            
##  [3] SingleCellExperiment_1.22.0 SummarizedExperiment_1.30.0
##  [5] Biobase_2.60.0              GenomicRanges_1.52.0       
##  [7] GenomeInfoDb_1.36.0         IRanges_2.34.0             
##  [9] S4Vectors_0.38.0            MatrixGenerics_1.12.0      
## [11] matrixStats_0.63.0          ExperimentHub_2.8.0        
## [13] AnnotationHub_3.8.0         BiocFileCache_2.8.0        
## [15] dbplyr_2.3.2                BiocGenerics_0.46.0        
## [17] BiocStyle_2.28.0           
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.0              dplyr_1.1.2                  
##  [3] blob_1.2.4                    filelock_1.0.2               
##  [5] Biostrings_2.68.0             bitops_1.0-7                 
##  [7] fastmap_1.1.1                 RCurl_1.98-1.12              
##  [9] promises_1.2.0.1              digest_0.6.31                
## [11] mime_0.12                     lifecycle_1.0.3              
## [13] ellipsis_0.3.2                KEGGREST_1.40.0              
## [15] interactiveDisplayBase_1.38.0 RSQLite_2.3.1                
## [17] magrittr_2.0.3                compiler_4.3.0               
## [19] rlang_1.1.0                   sass_0.4.5                   
## [21] tools_4.3.0                   utf8_1.2.3                   
## [23] yaml_2.3.7                    data.table_1.14.8            
## [25] knitr_1.42                    bit_4.0.5                    
## [27] curl_5.0.0                    DelayedArray_0.26.0          
## [29] xml2_1.3.3                    withr_2.5.0                  
## [31] purrr_1.0.1                   grid_4.3.0                   
## [33] fansi_1.0.4                   xtable_1.8-4                 
## [35] cli_3.6.1                     rmarkdown_2.21               
## [37] crayon_1.5.2                  generics_0.1.3               
## [39] tzdb_0.3.0                    httr_1.4.5                   
## [41] DBI_1.1.3                     cachem_1.0.7                 
## [43] zlibbioc_1.46.0               AnnotationDbi_1.62.0         
## [45] BiocManager_1.30.20           XVector_0.40.0               
## [47] vctrs_0.6.2                   Matrix_1.5-4                 
## [49] jsonlite_1.8.4                bookdown_0.33                
## [51] hms_1.1.3                     bit64_4.0.5                  
## [53] limma_3.56.0                  tidyr_1.3.0                  
## [55] jquerylib_0.1.4               glue_1.6.2                   
## [57] BiocVersion_3.17.1            later_1.3.0                  
## [59] tibble_3.2.1                  pillar_1.9.0                 
## [61] rappdirs_0.3.3                htmltools_0.5.5              
## [63] GenomeInfoDbData_1.2.10       R6_2.5.1                     
## [65] evaluate_0.20                 shiny_1.7.4                  
## [67] lattice_0.21-8                readr_2.1.4                  
## [69] png_0.1-8                     memoise_2.0.1                
## [71] httpuv_1.6.9                  bslib_0.4.2                  
## [73] Rcpp_1.0.10                   xfun_0.39                    
## [75] pkgconfig_2.0.3