library(ggplot2)
library(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 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, is.unsorted,
## lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
## pmin.int, rank, rbind, rownames, sapply, saveRDS, table, tapply,
## 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':
##
## I, expand.grid, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
library(InteractionSet)
## 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: 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
library(HiCExperiment)
## Consider using the `HiContacts` package to perform advanced genomic operations
## on `HiCExperiment` objects.
##
## Read "Orchestrating Hi-C analysis with Bioconductor" online book to learn more:
## https://js2264.github.io/OHCA/
##
## Attaching package: 'HiCExperiment'
## The following object is masked from 'package:SummarizedExperiment':
##
## metadata<-
## The following object is masked from 'package:S4Vectors':
##
## metadata<-
## The following object is masked from 'package:ggplot2':
##
## resolution
library(HiContactsData)
## 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
library(HiContacts)
## Registered S3 methods overwritten by 'readr':
## method from
## as.data.frame.spec_tbl_df vroom
## as_tibble.spec_tbl_df vroom
## format.col_spec vroom
## print.col_spec vroom
## print.collector vroom
## print.date_names vroom
## print.locale vroom
## str.col_spec vroom
library(rtracklayer)
##
## Attaching package: 'rtracklayer'
## The following object is masked from 'package:AnnotationHub':
##
## hubUrl4 Hi-C data visualization
This chapter focuses on the various visualization tools offered by HiContacts to plot HiCExperiment contact matrices in R.
hic object π
To demonstrate how to visualize a HiCExperiment contact matrix, we will create an HiCExperiment object from an example .cool file provided in the HiContactsData package.
library(HiCExperiment)
library(HiContactsData)
# ---- This downloads an example `.mcool` file and caches it locally
coolf <- HiContactsData('yeast_wt', 'mcool')
## see ?HiContactsData and browseVignettes('HiContactsData') for documentation
## loading from cache
# ---- This creates a connection to the disk-stored `.mcool` file
cf <- CoolFile(coolf)
cf
## CoolFile object
## .mcool file: /home/biocbuild/.cache/R/ExperimentHub/3779346f3bd3c_7752
## resolution: 1000
## pairs file:
## metadata(0):
# ---- This imports contacts from the chromosome `V` at resolution `2000`
hic <- import(cf, focus = 'V', resolution = 2000)hic
## `HiCExperiment` object with 303,545 contacts over 289 regions
## -------
## fileName: "/home/biocbuild/.cache/R/ExperimentHub/3779346f3bd3c_7752"
## focus: "V"
## resolutions(5): 1000 2000 4000 8000 16000
## active resolution: 2000
## interactions: 20177
## scores(2): count balanced
## topologicalFeatures: compartments(0) borders(0) loops(0) viewpoints(0)
## pairsFile: N/A
## metadata(0):4.1 Visualizing Hi-C contact maps
Visualizing Hi-C contact maps is often a necessary step in exploratory data analysis. A Hi-C contact map is usually displayed as a heatmap, in which:
- Each axis represents a section of the genome of interest (either a segment of a chromosome, or several chromosomes, β¦).
- The color code aims to represent βinteraction frequencyβ, which can be expressed in βrawβ counts or normalized (balanced).
- Other metrics can also be displayed in Hi-C heatmaps, e.g. ratios of interaction frequency between two Hi-C experiments, p-values of differential interaction analysis, β¦
- Axes are often identical, representing interactions constrained within a single genomic window, a.k.a. on-diagonal matrices.
- However, axes can be different: this is the case when off-diagonal matrices are displayed.
4.1.1 Single map
Simple visualization of disk-stored Hi-C contact matrices can be done by:
- Importing the interactions over the genomic location of interest into a
HiCExperimentobject; - Using
plotMatrixfunction (provided byHiContacts) to generate a plot.
library(HiContacts)
plotMatrix(hic)
A caption summarizing the plotting parameters is added below the heatmap. This can be removed with caption = FALSE.
4.1.2 Horizontal map
Hi-C maps are sometimes visualized in a βhorizontalβ style, where a square on-diagonal heatmap is tilted by 45Λ and truncated to only show interactions up to a certain distance from the main diagonal.
When a maxDistance argument is provided to plotMatrix, it automatically generates a horizontal-style heatmap.
plotMatrix(hic, maxDistance = 200000)
4.1.3 Side-by-side maps
Sometimes, one may want to visually plot 2 Hi-C samples side by side to compare the interaction landscapes over the same genomic locus. This can be done by adding a second HiCExperiment (imported with the same focus) with the compare.to argument.
Here, we are importing a second .mcool file corresponding to a Hi-C experiment performed in a eco1 yeast mutant:
hic2 <- import(
CoolFile(HiContactsData('yeast_eco1', 'mcool')),
focus = 'V',
resolution = 2000
)
## see ?HiContactsData and browseVignettes('HiContactsData') for documentation
## loading from cacheWe then plot the 2 matrices side by side. The first will be displayed in the top right corner and the second (provided with compare.to) will be in the bottom left corner.
plotMatrix(hic, compare.to = hic2)
## [1] "/home/biocbuild/.cache/R/ExperimentHub/3779346f3bd3c_7752 | /home/biocbuild/.cache/R/ExperimentHub/377a927a138167_7754"
4.1.4 Plotting multiple chromosomes
Interactions from multiple chromosomes can be visualized in a Hi-C heatmap. One needs to (1) first parse the entire contact matrix in R, (2) then subset interactions over chromosomes of interest with [ and (3) use plotMatrix to generate the multi-chromosome plot.
full_hic <- import(cf, resolution = 4000)
plotMatrix(full_hic)
hic_subset <- full_hic[c("II", "III", "IV")]
plotMatrix(hic_subset)
4.2 Hi-C maps customization options
A number of customization options are available for the plotMatrix function. The next subsections focus on how to:
- Pick the
scoresof interest to represent in a Hi-C heatmap; - Change the numeric scale and boundaries;
- Change the color map;
- Extra customization options
4.2.1 Choosing scores
By default, plotMatrix will attempt to plot balanced (coverage normalized) Hi-C matrices. However, extra scores may be associated with interactions in a HiCExperiment object (more on this in the next chapter)
For instance, we can plot the count scores, which are un-normalized raw contact counts directly obtained when binning a .pairs file:
plotMatrix(hic, use.scores = 'count')
4.2.2 Choosing scale
The color scale is automatically adjusted to range from the minimum to the maximum scores of the HiCExperiment being plotted. This can be adjusted using the limits argument.
plotMatrix(hic, limits = c(-3.5, -1))
4.2.3 Choosing color map
?HiContacts::palettes returns a list of available color maps to use with plotMatrix. Any custom color map can also be used by manually specifying a vector of colors.
# ----- `afmhotr` color map is shipped in the `HiContacts` package
afmhotrColors()
## [1] "#ffffff" "#f8f5c3" "#f4ee8d" "#f6be35" "#ee7d32" "#c44228" "#821d19"
## [8] "#381211" "#050606"
plotMatrix(
hic,
use.scores = 'balanced',
limits = c(-4, -1),
cmap = afmhotrColors()
)
4.3 Advanced visualization
4.3.1 Overlaying topological features
Topological features (e.g. chromatin loops, domain borders, A/B compartments, e.g. β¦) are often displayed over a Hi-C heatmap.
To illustrate how to do this, letβs import pre-computed chromatin loops in R. These loops have been identified using chromosight (Matthey-Doret et al. (2020)) on the contact matrix which we imported interactions from.
library(rtracklayer)
library(InteractionSet)
loops <- system.file('extdata', 'S288C-loops.bedpe', package = 'HiCExperiment') |>
import() |>
makeGInteractionsFromGRangesPairs()
loops
## GInteractions object with 162 interactions and 0 metadata columns:
## seqnames1 ranges1 seqnames2 ranges2
## <Rle> <IRanges> <Rle> <IRanges>
## [1] I 3001-4000 --- I 29001-30000
## [2] I 29001-30000 --- I 50001-51000
## [3] I 95001-96000 --- I 128001-129000
## [4] I 133001-134000 --- I 157001-158000
## [5] II 8001-9000 --- II 46001-47000
## ... ... ... ... ... ...
## [158] XVI 773001-774000 --- XVI 803001-804000
## [159] XVI 834001-835000 --- XVI 859001-860000
## [160] XVI 860001-861000 --- XVI 884001-885000
## [161] XVI 901001-902000 --- XVI 940001-941000
## [162] XVI 917001-918000 --- XVI 939001-940000
## -------
## regions: 316 ranges and 0 metadata columns
## seqinfo: 16 sequences from an unspecified genome; no seqlengthsSimilarly, borders have also been mapped with chromosight. We can also import them in R.
borders <- system.file('extdata', 'S288C-borders.bed', package = 'HiCExperiment') |>
import()
borders
## GRanges object with 814 ranges and 0 metadata columns:
## seqnames ranges strand
## <Rle> <IRanges> <Rle>
## [1] I 73001-74000 *
## [2] I 108001-109000 *
## [3] I 181001-182000 *
## [4] II 90001-91000 *
## [5] II 119001-120000 *
## ... ... ... ...
## [810] XVI 777001-778000 *
## [811] XVI 796001-797000 *
## [812] XVI 811001-812000 *
## [813] XVI 890001-891000 *
## [814] XVI 933001-934000 *
## -------
## seqinfo: 16 sequences from an unspecified genome; no seqlengthsChromatin loops are stored in GInteractions while borders are GRanges. The former will be displayed as off-diagonal circles and the later as on-diagonal diamonds on the Hi-C heatmap.
plotMatrix(hic, loops = loops, borders = borders)
4.3.2 Aggregated Hi-C maps
Finally, Hi-C map βsnippetsβ (i.e. extracts) are often aggregated together to show an average signal. This analysis is sometimes referred to as APA (Aggregated Plot Analysis).
Aggregated Hi-C maps can be computed over a collection of targets using the aggregate function. These targets can be GRanges (to extract on-diagonal snippets) or GInteractions (to extract off-diagonal snippets). The flankingBins specifies how many matrix bins should be extracted on each side of the targets of interest.
Here, we compute the aggregated Hi-C snippets of Β± 15kb around each chromatin loop listed in loops.
hic <- zoom(hic, 1000)
aggr_loops <- aggregate(hic, targets = loops, flankingBins = 15)
## Going through preflight checklist...
## Parsing the entire contact matrice as a sparse matrix...
## Modeling distance decay...
## Filtering for contacts within provided targets...
aggr_loops
## `AggrHiCExperiment` object over 148 targets
## -------
## fileName: "/home/biocbuild/.cache/R/ExperimentHub/3779346f3bd3c_7752"
## focus: 148 targets
## resolutions(5): 1000 2000 4000 8000 16000
## active resolution: 1000
## interactions: 961
## scores(4): count balanced expected detrended
## slices(4): count balanced expected detrended
## topologicalFeatures: targets(148) compartments(0) borders(0) loops(0) viewpoints(0)
## pairsFile: N/A
## metadata(0):aggregate generates a AggrHiCExperiment object, a flavor of HiCExperiment class of objects.
-
AggrHiCExperimentobjects have an extraslicesslot. This stores a list ofarrays, one perscores. Eacharrayis of 3 dimensions,xandyrepresenting the heatmap axes, andzrepresenting the index of thetarget. -
AggrHiCExperimentobjects also have a mandatorytopologicalFeatureselement namedtargets, storing the genomic loci provided inaggregate.
slices(aggr_loops)
## List of length 4
## names(4): count balanced expected detrended
dim(slices(aggr_loops, 'count'))
## [1] 31 31 148
topologicalFeatures(aggr_loops, 'targets')
## Pairs object with 148 pairs and 0 metadata columns:
## first second
## <GRanges> <GRanges>
## [1] I:14501-44500 I:35501-65500
## [2] I:80501-110500 I:113501-143500
## [3] I:118501-148500 I:142501-172500
## [4] II:33501-63500 II:63501-93500
## [5] II:134501-164500 II:159501-189500
## ... ... ...
## [144] XVI:586501-616500 XVI:606501-636500
## [145] XVI:733501-763500 XVI:754501-784500
## [146] XVI:758501-788500 XVI:788501-818500
## [147] XVI:819501-849500 XVI:844501-874500
## [148] XVI:845501-875500 XVI:869501-899500The resulting AggrHiCExperiment can be plotted using the same plotMatrix function with the arguments described above.
plotMatrix(
aggr_loops,
use.scores = 'detrended',
scale = 'linear',
limits = c(-1, 1),
cmap = bgrColors()
)
Session info
sessioninfo::session_info(include_base = TRUE)
## β Session info ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
## setting value
## version R version 4.5.0 RC (2025-04-04 r88126)
## os Ubuntu 24.04.2 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate C
## ctype en_US.UTF-8
## tz America/New_York
## date 2025-04-16
## pandoc 2.7.3 @ /usr/bin/ (via rmarkdown)
## quarto 1.5.57 @ /usr/local/bin/quarto
##
## β Packages ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
## package * version date (UTC) lib source
## abind 1.4-8 2024-09-12 [2] CRAN (R 4.5.0)
## AnnotationDbi 1.70.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## AnnotationHub * 3.16.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## base * 4.5.0 2025-04-10 [3] local
## beeswarm 0.4.0 2021-06-01 [2] CRAN (R 4.5.0)
## Biobase * 2.68.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## BiocFileCache * 2.16.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## BiocGenerics * 0.54.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## BiocIO 1.18.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## BiocManager 1.30.25 2024-08-28 [2] CRAN (R 4.5.0)
## BiocParallel 1.42.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## BiocVersion 3.21.1 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## Biostrings 2.76.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## bit 4.6.0 2025-03-06 [2] CRAN (R 4.5.0)
## bit64 4.6.0-1 2025-01-16 [2] CRAN (R 4.5.0)
## bitops 1.0-9 2024-10-03 [2] CRAN (R 4.5.0)
## blob 1.2.4 2023-03-17 [2] CRAN (R 4.5.0)
## cachem 1.1.0 2024-05-16 [2] CRAN (R 4.5.0)
## Cairo 1.6-2 2023-11-28 [2] CRAN (R 4.5.0)
## cli 3.6.4 2025-02-13 [2] CRAN (R 4.5.0)
## codetools 0.2-20 2024-03-31 [3] CRAN (R 4.5.0)
## colorspace 2.1-1 2024-07-26 [2] CRAN (R 4.5.0)
## compiler 4.5.0 2025-04-10 [3] local
## crayon 1.5.3 2024-06-20 [2] CRAN (R 4.5.0)
## curl 6.2.2 2025-03-24 [2] CRAN (R 4.5.0)
## datasets * 4.5.0 2025-04-10 [3] local
## DBI 1.2.3 2024-06-02 [2] CRAN (R 4.5.0)
## dbplyr * 2.5.0 2024-03-19 [2] CRAN (R 4.5.0)
## DelayedArray 0.34.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## digest 0.6.37 2024-08-19 [2] CRAN (R 4.5.0)
## dplyr 1.1.4 2023-11-17 [2] CRAN (R 4.5.0)
## evaluate 1.0.3 2025-01-10 [2] CRAN (R 4.5.0)
## ExperimentHub * 2.16.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## farver 2.1.2 2024-05-13 [2] CRAN (R 4.5.0)
## fastmap 1.2.0 2024-05-15 [2] CRAN (R 4.5.0)
## filelock 1.0.3 2023-12-11 [2] CRAN (R 4.5.0)
## generics * 0.1.3 2022-07-05 [2] CRAN (R 4.5.0)
## GenomeInfoDb * 1.44.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## GenomeInfoDbData 1.2.14 2025-04-10 [2] Bioconductor
## GenomicAlignments 1.44.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## GenomicRanges * 1.60.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## ggbeeswarm 0.7.2 2023-04-29 [2] CRAN (R 4.5.0)
## ggplot2 * 3.5.2 2025-04-09 [2] CRAN (R 4.5.0)
## ggrastr 1.0.2 2023-06-01 [2] CRAN (R 4.5.0)
## glue 1.8.0 2024-09-30 [2] CRAN (R 4.5.0)
## graphics * 4.5.0 2025-04-10 [3] local
## grDevices * 4.5.0 2025-04-10 [3] local
## grid 4.5.0 2025-04-10 [3] local
## gtable 0.3.6 2024-10-25 [2] CRAN (R 4.5.0)
## HiCExperiment * 1.8.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## HiContacts * 1.10.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## HiContactsData * 1.9.0 2024-11-05 [2] Bioconductor 3.21 (R 4.5.0)
## hms 1.1.3 2023-03-21 [2] CRAN (R 4.5.0)
## htmltools 0.5.8.1 2024-04-04 [2] CRAN (R 4.5.0)
## htmlwidgets 1.6.4 2023-12-06 [2] CRAN (R 4.5.0)
## httr 1.4.7 2023-08-15 [2] CRAN (R 4.5.0)
## InteractionSet * 1.36.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## IRanges * 2.42.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## jsonlite 2.0.0 2025-03-27 [2] CRAN (R 4.5.0)
## KEGGREST 1.48.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## knitr 1.50 2025-03-16 [2] CRAN (R 4.5.0)
## labeling 0.4.3 2023-08-29 [2] CRAN (R 4.5.0)
## lattice 0.22-7 2025-04-02 [3] CRAN (R 4.5.0)
## lifecycle 1.0.4 2023-11-07 [2] CRAN (R 4.5.0)
## magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.5.0)
## Matrix 1.7-3 2025-03-11 [3] CRAN (R 4.5.0)
## MatrixGenerics * 1.20.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## matrixStats * 1.5.0 2025-01-07 [2] CRAN (R 4.5.0)
## memoise 2.0.1 2021-11-26 [2] CRAN (R 4.5.0)
## methods * 4.5.0 2025-04-10 [3] local
## mime 0.13 2025-03-17 [2] CRAN (R 4.5.0)
## munsell 0.5.1 2024-04-01 [2] CRAN (R 4.5.0)
## parallel 4.5.0 2025-04-10 [3] local
## pillar 1.10.2 2025-04-05 [2] CRAN (R 4.5.0)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.5.0)
## png 0.1-8 2022-11-29 [2] CRAN (R 4.5.0)
## purrr 1.0.4 2025-02-05 [2] CRAN (R 4.5.0)
## R6 2.6.1 2025-02-15 [2] CRAN (R 4.5.0)
## rappdirs 0.3.3 2021-01-31 [2] CRAN (R 4.5.0)
## Rcpp 1.0.14 2025-01-12 [2] CRAN (R 4.5.0)
## RCurl 1.98-1.17 2025-03-22 [2] CRAN (R 4.5.0)
## readr 2.1.5 2024-01-10 [2] CRAN (R 4.5.0)
## restfulr 0.0.15 2022-06-16 [2] CRAN (R 4.5.0)
## rhdf5 2.52.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## rhdf5filters 1.20.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## Rhdf5lib 1.30.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## rjson 0.2.23 2024-09-16 [2] CRAN (R 4.5.0)
## rlang 1.1.6 2025-04-11 [2] CRAN (R 4.5.0)
## rmarkdown 2.29 2024-11-04 [2] CRAN (R 4.5.0)
## Rsamtools 2.24.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## RSpectra 0.16-2 2024-07-18 [2] CRAN (R 4.5.0)
## RSQLite 2.3.9 2024-12-03 [2] CRAN (R 4.5.0)
## rtracklayer * 1.68.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## S4Arrays 1.8.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## S4Vectors * 0.46.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## scales 1.3.0 2023-11-28 [2] CRAN (R 4.5.0)
## sessioninfo 1.2.3 2025-02-05 [2] CRAN (R 4.5.0)
## SparseArray 1.8.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## stats * 4.5.0 2025-04-10 [3] local
## stats4 * 4.5.0 2025-04-10 [3] local
## strawr 0.0.92 2024-07-16 [2] CRAN (R 4.5.0)
## stringi 1.8.7 2025-03-27 [2] CRAN (R 4.5.0)
## stringr 1.5.1 2023-11-14 [2] CRAN (R 4.5.0)
## SummarizedExperiment * 1.38.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## tibble 3.2.1 2023-03-20 [2] CRAN (R 4.5.0)
## tidyr 1.3.1 2024-01-24 [2] CRAN (R 4.5.0)
## tidyselect 1.2.1 2024-03-11 [2] CRAN (R 4.5.0)
## tools 4.5.0 2025-04-10 [3] local
## tzdb 0.5.0 2025-03-15 [2] CRAN (R 4.5.0)
## UCSC.utils 1.4.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## utils * 4.5.0 2025-04-10 [3] local
## vctrs 0.6.5 2023-12-01 [2] CRAN (R 4.5.0)
## vipor 0.4.7 2023-12-18 [2] CRAN (R 4.5.0)
## vroom 1.6.5 2023-12-05 [2] CRAN (R 4.5.0)
## withr 3.0.2 2024-10-28 [2] CRAN (R 4.5.0)
## xfun 0.52 2025-04-02 [2] CRAN (R 4.5.0)
## XML 3.99-0.18 2025-01-01 [2] CRAN (R 4.5.0)
## XVector 0.48.0 2025-04-15 [2] Bioconductor 3.21 (R 4.5.0)
## yaml 2.3.10 2024-07-26 [2] CRAN (R 4.5.0)
##
## [1] /tmp/Rtmp7FQOdT/Rinst10fd4623a1c887
## [2] /home/biocbuild/bbs-3.21-bioc/R/site-library
## [3] /home/biocbuild/bbs-3.21-bioc/R/library
## * ββ Packages attached to the search path.
##
## βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ