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(): 2022-04-19
dset <- query(eh , "GSE103322")
dset
## ExperimentHub with 1 record
## # snapshotDate(): 2022-04-19
## # 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.2.0 RC (2022-04-19 r82224)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.15-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.2.0             GEOquery_2.64.0            
##  [3] SingleCellExperiment_1.18.0 SummarizedExperiment_1.26.0
##  [5] Biobase_2.56.0              GenomicRanges_1.48.0       
##  [7] GenomeInfoDb_1.32.0         IRanges_2.30.0             
##  [9] S4Vectors_0.34.0            MatrixGenerics_1.8.0       
## [11] matrixStats_0.62.0          ExperimentHub_2.4.0        
## [13] AnnotationHub_3.4.0         BiocFileCache_2.4.0        
## [15] dbplyr_2.1.1                BiocGenerics_0.42.0        
## [17] BiocStyle_2.24.0           
## 
## loaded via a namespace (and not attached):
##  [1] httr_1.4.2                    tidyr_1.2.0                  
##  [3] sass_0.4.1                    bit64_4.0.5                  
##  [5] jsonlite_1.8.0                bslib_0.3.1                  
##  [7] shiny_1.7.1                   assertthat_0.2.1             
##  [9] interactiveDisplayBase_1.34.0 BiocManager_1.30.17          
## [11] blob_1.2.3                    GenomeInfoDbData_1.2.8       
## [13] yaml_2.3.5                    BiocVersion_3.15.2           
## [15] pillar_1.7.0                  RSQLite_2.2.12               
## [17] lattice_0.20-45               limma_3.52.0                 
## [19] glue_1.6.2                    digest_0.6.29                
## [21] promises_1.2.0.1              XVector_0.36.0               
## [23] htmltools_0.5.2               httpuv_1.6.5                 
## [25] Matrix_1.4-1                  pkgconfig_2.0.3              
## [27] bookdown_0.26                 zlibbioc_1.42.0              
## [29] purrr_0.3.4                   xtable_1.8-4                 
## [31] later_1.3.0                   tzdb_0.3.0                   
## [33] tibble_3.1.6                  KEGGREST_1.36.0              
## [35] generics_0.1.2                ellipsis_0.3.2               
## [37] withr_2.5.0                   cachem_1.0.6                 
## [39] cli_3.3.0                     magrittr_2.0.3               
## [41] crayon_1.5.1                  mime_0.12                    
## [43] memoise_2.0.1                 evaluate_0.15                
## [45] fansi_1.0.3                   xml2_1.3.3                   
## [47] data.table_1.14.2             tools_4.2.0                  
## [49] hms_1.1.1                     lifecycle_1.0.1              
## [51] stringr_1.4.0                 DelayedArray_0.22.0          
## [53] AnnotationDbi_1.58.0          Biostrings_2.64.0            
## [55] compiler_4.2.0                jquerylib_0.1.4              
## [57] rlang_1.0.2                   grid_4.2.0                   
## [59] RCurl_1.98-1.6                rappdirs_0.3.3               
## [61] bitops_1.0-7                  rmarkdown_2.14               
## [63] DBI_1.1.2                     curl_4.3.2                   
## [65] R6_2.5.1                      knitr_1.39                   
## [67] dplyr_1.0.8                   fastmap_1.1.0                
## [69] bit_4.0.4                     utf8_1.2.2                   
## [71] filelock_1.0.2                readr_2.1.2                  
## [73] stringi_1.7.6                 Rcpp_1.0.8.3                 
## [75] vctrs_0.4.1                   png_0.1-7                    
## [77] tidyselect_1.1.2              xfun_0.30