MetaGxPancreas: A Package for Pancreatic Cancer Gene Expression Analysis

Installing the Package

The MetaGxPancreas package is a compendium of Pancreatic Cancer datasets. The package is publicly available and can be installed from Bioconductor into R version 3.6.0 or higher. Currently, the phenoData for the datasets is overall survival status and overall survival time. This survival information is available for 11 of the 15 datasets.

if (!requireNamespace("BiocManager", quietly = TRUE)) {
  install.packages("BiocManager")
}
BiocManager::install("MetaGxPancreas")

Loading Datasets

First we load the MetaGxPancreas package into the workspace.

library(MetaGxPancreas)
## 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: 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:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following object is masked from 'package:utils':
## 
##     data
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, is.unsorted, lapply, Map, mapply, match, mget,
##     order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
##     rbind, Reduce, rownames, sapply, saveRDS, scale, sequence, table,
##     tapply, transform, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: Seqinfo
## 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
## Loading required package: ExperimentHub
## Loading required package: AnnotationHub
## Loading required package: BiocFileCache
## Loading required package: dbplyr
## 
## Attaching package: 'AnnotationHub'
## The following object is masked from 'package:Biobase':
## 
##     cache

Then we load the datasets.

pancreasData <- loadPancreasDatasets()
## Filtered out duplicated samples: ICGC_0400, ICGC_0402, GSM388116, GSM388118, GSM388120, GSM388145, GSM299238, GSM299239, GSM299240
duplicates <- pancreasData$duplicates
SEs <- pancreasData$SummarizedExperiments

This will load 15 expression datasets. Users can modify the parameters of the function to restrict datasets that do not meet certain criteria for loading. Some example parameters are shown below:

  • removeDuplicates: remove patients with a Spearman correlation greater than or equal to 0.98 with other patient expression profiles (default TRUE)
  • quantileCutoff: A numeric between 0 and 1 specifying to remove genes with standard deviation below the required quantile (default 0)
  • rescale: apply centering and scaling to the expression sets (default FALSE)
  • minNumberGenes: an integer specifying to remove expression sets with less genes than this number (default 0)
  • minSampleSize: an integer specifying the minimum number of patients required in an SE (default 0)
  • minNumberEvents: an integer specifying how man survival events must be in the dataset to keep the dataset (default 0)
  • removeSeqSubset currently only removes the ICGSSEQ dataset as it contains the same patients as the ICGS microarray dataset (defeault TRUE, currently just ICGSSEQ)
  • keepCommonOnly remove probes not common to all datasets (default FALSE)
  • imputeMissing impute missing expression value via knn

Obtaining Sample Counts in Datasets

To obtain the number of samples per dataset, run the following:

numSamples <- vapply(
  SEs,
  function(SE) length(colnames(SE)),
  FUN.VALUE = numeric(1)
)

sampleNumberByDataset <- data.frame(
  numSamples = numSamples,
  row.names = names(SEs)
)

totalNumSamples <- sum(sampleNumberByDataset$numSamples)
sampleNumberByDataset <- rbind(sampleNumberByDataset, totalNumSamples)
rownames(sampleNumberByDataset)[nrow(sampleNumberByDataset)] <- 'Total'

knitr::kable(sampleNumberByDataset)
numSamples
BADEA_SumExp 35
BALAGURANATH_SumExp 25
CHEN_SumExp 63
COLLISON_SumExp 27
GRUTZMANN_SumExp 11
ICGCSEQ_SumExp 95
ICGCMICRO_SumExp 265
KIRBY_SumExp 51
OUH_SumExp 48
PCSI_SumExp 210
PEI_SumExp 36
TCGA_SumExp 146
UNC_SumExp 125
WINTER_SumExp 30
ZHANG_SumExp 42
HAMIDI_SumExp 46
YANG_SumExp 69
LUNARDI_SumExp 45
JANKY_SumExp 118
BAUER_SumExp 195
HAIDER_SumExp 28
Total 1710

SessionInfo

sessionInfo()
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 26.04.1 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [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: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] MetaGxPancreas_1.33.0       ExperimentHub_3.3.2        
##  [3] AnnotationHub_4.3.2         BiocFileCache_3.3.0        
##  [5] dbplyr_2.6.0                SummarizedExperiment_1.43.0
##  [7] Biobase_2.73.2              GenomicRanges_1.65.4       
##  [9] Seqinfo_1.3.2               IRanges_2.47.5             
## [11] S4Vectors_0.51.10           BiocGenerics_0.59.12       
## [13] generics_0.1.4              MatrixGenerics_1.25.0      
## [15] matrixStats_1.5.0           BiocStyle_2.41.0           
## 
## loaded via a namespace (and not attached):
##  [1] KEGGREST_1.53.6      impute_1.87.0        xfun_0.61           
##  [4] bslib_0.12.0         httr2_1.3.0          lattice_0.23-1      
##  [7] vctrs_0.7.3          tools_4.6.1          curl_8.0.0          
## [10] tibble_3.3.1         AnnotationDbi_1.75.2 RSQLite_3.53.3      
## [13] blob_1.3.0           pkgconfig_2.0.3      BiocBaseUtils_1.15.1
## [16] Matrix_1.7-6         lifecycle_1.0.5      compiler_4.6.1      
## [19] Biostrings_2.81.9    htmltools_0.5.9      sys_3.4.3           
## [22] buildtools_1.0.0     sass_0.4.10          yaml_2.3.12         
## [25] pillar_1.11.1        crayon_1.5.3         jquerylib_0.1.4     
## [28] DelayedArray_0.39.8  cachem_1.1.0         abind_1.4-8         
## [31] tidyselect_1.2.1     digest_0.6.39        purrr_1.2.2         
## [34] dplyr_1.2.1          BiocVersion_3.24.0   maketools_1.3.2     
## [37] fastmap_1.2.0        grid_4.6.1           cli_3.6.6           
## [40] SparseArray_1.13.4   magrittr_2.0.5       S4Arrays_1.13.2     
## [43] withr_3.0.3          filelock_1.0.3       rappdirs_0.3.4      
## [46] bit64_4.8.6          rmarkdown_2.32       XVector_0.53.0      
## [49] httr_1.4.9           bit_4.6.0            otel_0.2.0          
## [52] png_0.1-9            memoise_2.0.1        evaluate_1.0.5      
## [55] knitr_1.52           rlang_1.3.0          glue_1.8.1          
## [58] DBI_1.3.0            BiocManager_1.30.27  jsonlite_2.0.0      
## [61] R6_2.6.1