cpgdirectionData: the data layers behind cpgdirection

Bioconductor software packages are capped at 5 MB per file. Eight of the data layers behind the cpgdirection package are larger than that, so they live here, on ExperimentHub, and are fetched on first use – then cached locally, so the download cost is paid once per machine.

Most users never call this package directly: cpgdirection resolves every layer through its data backend, using a bundled copy when one is installed and falling back to these Hub resources otherwise.

What is served

library(cpgdirectionData)
## Loading required package: 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: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: AnnotationHub
## Loading required package: BiocFileCache
## Loading required package: dbplyr
cpgdData_resources()[, c("name", "genome")]
##                           name genome
## 1            lookup_blood_hg19   hg19
## 2 lookup_nasal_epithelium_hg19   hg19
## 3     lookup_solid_tissue_hg19   hg19
## 4               smr_directions   hg19
## 5           cpg_positions_hg19   hg19
## 6             brain_directions   hg19
## 7         saliva_bridge_scores   hg19
## 8 epicv2_probe_gene_annotation   hg38

Direct retrieval from the Hub (cached after the first download):

ann <- getEpicv2ProbeGeneAnnotation()
head(ann)

Local mode

Air-gapped machines, containers without network access, and analyses that must pin an exact data snapshot can serve the same files from a local directory instead of the Hub. The chunk below demonstrates the mechanism with a stand-in file, so it runs anywhere:

d <- tempfile()
dir.create(d)
saveRDS(data.frame(cpg_id = "cg00000029", chr = "chr16", pos = 53434200L),
        file.path(d, "cpg_positions_hg19.rds"))
old <- options(cpgdirectionData.local = d)
head(getCpgPositionsHg19())
##       cpg_id   chr      pos
## 1 cg00000029 chr16 53434200
options(old)

Provenance

Every resource is built by inst/scripts/make-data.R from the full cpgdirection build. The resources themselves are archived on Zenodo (DOI 10.5281/zenodo.22225164) and retrieved from there by ExperimentHub. The multi-source EPIC v2 probe-to-gene annotation is the union of five independent tracks (Illumina EPIC-8v2-0_A2 manifest UCSC RefGene and GencodeV41; the Zhou lab SeSAMe GENCODE v41 annotation; the Exeter GENCODE 47 re-annotation, Zenodo record 15181885, including its regulatory-element assignments), with per-track support flags so downstream consumers can weight assignments by agreement.

Session info

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] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] cpgdirectionData_0.99.1 ExperimentHub_3.3.2     AnnotationHub_4.3.2    
## [4] BiocFileCache_3.3.0     dbplyr_2.6.0            BiocGenerics_0.59.12   
## [7] generics_0.1.4          rmarkdown_2.32         
## 
## loaded via a namespace (and not attached):
##  [1] rappdirs_0.3.4       sass_0.4.10          BiocVersion_3.24.0  
##  [4] RSQLite_3.53.3       digest_0.6.39        magrittr_2.0.5      
##  [7] evaluate_1.0.5       fastmap_1.2.0        blob_1.3.0          
## [10] jsonlite_2.0.0       AnnotationDbi_1.75.2 DBI_1.3.0           
## [13] BiocManager_1.30.27  httr_1.4.9           Biostrings_2.81.9   
## [16] httr2_1.3.0          jquerylib_0.1.4      cli_3.6.6           
## [19] crayon_1.5.3         rlang_1.3.0          XVector_0.53.0      
## [22] Biobase_2.73.2       bit64_4.8.6          cachem_1.1.0        
## [25] yaml_2.3.12          BiocBaseUtils_1.15.1 otel_0.2.0          
## [28] tools_4.6.1          memoise_2.0.1        dplyr_1.2.1         
## [31] filelock_1.0.3       curl_8.0.0           png_0.1-9           
## [34] buildtools_1.0.0     vctrs_0.7.3          R6_2.6.1            
## [37] stats4_4.6.1         lifecycle_1.0.5      Seqinfo_1.3.2       
## [40] KEGGREST_1.53.6      S4Vectors_0.51.10    IRanges_2.47.5      
## [43] bit_4.6.0            pkgconfig_2.0.3      pillar_1.11.1       
## [46] bslib_0.12.0         glue_1.8.1           xfun_0.61           
## [49] tibble_3.3.1         tidyselect_1.2.1     sys_3.4.3           
## [52] knitr_1.52           htmltools_0.5.9      maketools_1.3.2     
## [55] compiler_4.6.1