Contents

1 Introduction

bedbaser is an R API client for BEDbase that provides access to the bedhost API and includes convenience functions, such as to create GRanges and GRangesList objects.

2 Install bedbaser and create a BEDbase instance

Install bedbaser using BiocManager.

if (!"BiocManager" %in% rownames(installed.packages())) {
    install.packages("BiocManager")
}
BiocManager::install("bedbaser")

Load the package and create a BEDbase instance, optionally setting the cache to cache_path. If cache_path is not set, bedbaser will choose the default location.

library(bedbaser)

bedbase <- BEDbase(tempdir())
## 660029 BED files available.

bedbaser can use the same cache as geniml’s BBClient by setting the cache_path to the same location. It will create the following structure:

cache_path
    bedfiles
        a/f/afile.bed.gz
    bedsets
        a/s/aset.txt

3 Convenience Functions

bedbaser includes convenience functions prefixed with bb_ to facilitate finding BED files, exploring their metadata, downloading files, and creating GRanges objects.

4 BEDbase statistics

Use bbs_stats() to display the total available BED files, BEDsets, and genomes. Set detailed to TRUE to display the type of BED formats and genomes available.

4.1 Find a BED file or BEDset

Use bb_list_beds() and bb_list_bedsets() to browse available resources in BEDbase. Both functions display the id and names of BED files and BEDsets. An id can be used to access a specific resource.

bb_list_beds(bedbase)
## # A tibble: 1,000 × 51
##    name  genome_alias genome_digest bed_compliance data_format compliant_columns
##    <chr> <chr>        <chr>         <chr>          <chr>       <chr>            
##  1 Plas… hg19         GOIHeGSorDrb… bed6+4         encode_nar… 6                
##  2 ENCF… hg38         Ba88PY52_qei… bed5+1         bed_like_rs 5                
##  3 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  4 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  5 ENCF… hg38         Ba88PY52_qei… bed6+3         encode_bro… 6                
##  6 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  7 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  8 ENCF… hg38         Ba88PY52_qei… bed4+0         ucsc_bed    4                
##  9 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
## 10 ENCF… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
## # ℹ 990 more rows
## # ℹ 45 more variables: non_compliant_columns <chr>, id <chr>,
## #   description <chr>, submission_date <chr>, last_update_date <chr>,
## #   is_universe <chr>, license_id <chr>, annotation.organism <chr>,
## #   annotation.species_id <chr>, annotation.genotype <chr>,
## #   annotation.phenotype <chr>, annotation.description <chr>,
## #   annotation.cell_type <chr>, annotation.cell_line <chr>, …
bb_list_bedsets(bedbase)
## # A tibble: 1,000 × 9
## # Groups:   id, name, md5sum, submission_date, last_update_date, description,
## #   author, source [1,000]
##    id        name   md5sum submission_date last_update_date description bed_ids 
##    <chr>     <chr>  <chr>  <chr>           <chr>            <chr>       <list>  
##  1 gse174903 gse17… 29177… 2026-02-09T10:… 2026-02-09T10:2… "Data from… <tibble>
##  2 gse174905 gse17… 1c3b2… 2026-02-09T10:… 2026-02-09T10:4… "Data from… <tibble>
##  3 gse181605 gse18… f2708… 2025-05-24T22:… 2025-05-24T22:2… "Data from… <tibble>
##  4 gse181606 gse18… f2708… 2025-05-24T22:… 2025-05-24T22:3… "Data from… <tibble>
##  5 gse184698 gse18… ffbfd… 2025-05-24T22:… 2025-05-24T22:3… "Data from… <tibble>
##  6 gse262830 gse26… ba57b… 2025-05-24T00:… 2025-05-24T00:3… "Data from… <tibble>
##  7 gse243908 gse24… 3a6e8… 2025-05-24T22:… 2025-05-24T22:2… "Data from… <tibble>
##  8 gse248210 gse24… 76226… 2025-05-24T22:… 2025-05-24T22:2… "Data from… <tibble>
##  9 gse244935 gse24… 15323… 2025-05-24T22:… 2025-05-24T22:3… "Data from… <tibble>
## 10 gse65812  gse65… 85a0d… 2025-05-25T01:… 2025-05-25T01:5… "Data from… <tibble>
## # ℹ 990 more rows
## # ℹ 2 more variables: author <chr>, source <chr>

4.2 Examine metadata

Use bb_metadata() to learn more about a BED or BEDset associated with an id.

ex_bed <- bb_example(bedbase, "bed")
md <- bb_metadata(bedbase, ex_bed$id)
head(md)
## $name
## [1] "encode_8320"
## 
## $genome_alias
## [1] "hg38"
## 
## $genome_digest
## [1] "jFm0Uca8a7vK2cbuIQgBopjBilgCFheD"
## 
## $bed_compliance
## [1] "bed6+4"
## 
## $data_format
## [1] "encode_narrowpeak"
## 
## $compliant_columns
## [1] 6

4.3 Show BED files in BEDset

Use bb_beds_in_bedset() to display the id of BEDs in a BEDset.

bb_beds_in_bedset(bedbase, "excluderanges")
## # A tibble: 81 × 34
##    name  genome_alias genome_digest bed_compliance data_format compliant_columns
##    <chr> <chr>        <chr>         <chr>          <chr>       <chr>            
##  1 mm10… mm10         hW3Ba5zoufl3… bed4+1         bed_like    4                
##  2 hg38… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  3 T2T.… hg19         GOIHeGSorDrb… bed4+8         bed_like    4                
##  4 TAIR… hg18         ieWVCws5MC2Q… bed4+2         bed_like    4                
##  5 mm9.… mm9          4mvptys3ckGg… bed4+1         bed_like    4                
##  6 T2T.… hg38         Ba88PY52_qei… bed4+1         bed_like    4                
##  7 danR… hg18         ieWVCws5MC2Q… bed4+1         bed_like    4                
##  8 mm39… mm39         -e70JAQq4NJD… bed4+7         bed_like    4                
##  9 mm9.… mm9          4mvptys3ckGg… bed4+4         bed_like    4                
## 10 hg19… hg19         GOIHeGSorDrb… bed4+7         bed_like    4                
## # ℹ 71 more rows
## # ℹ 28 more variables: non_compliant_columns <chr>, id <chr>,
## #   description <chr>, submission_date <chr>, last_update_date <chr>,
## #   is_universe <chr>, license_id <chr>, annotation.species_name <chr>,
## #   annotation.species_id <chr>, annotation.genotype <chr>,
## #   annotation.phenotype <chr>, annotation.description <chr>,
## #   annotation.cell_type <chr>, annotation.cell_line <chr>, …

4.4 Search for a BED file by keyword

Search for BED files by keywords. bb_bed_text_search() returns all BED files scored against a keyword query.

bb_bed_text_search(bedbase, "cancer", limit = 10)
## # A tibble: 10 × 43
##    id              payload.id payload.name payload.description payload.cell_line
##    <chr>           <chr>      <chr>        <chr>               <chr>            
##  1 f0f66be64b879d… f0f66be64… WT_T47D_HiC  ""                  "T47D-MTVL"      
##  2 c1ec0ee9b824b3… c1ec0ee9b… VCaP_H3K4me… "Chromatin IP agai… "Vertebral Cance…
##  3 5fbba3a301e929… 5fbba3a30… WT_T47D_HiC  ""                  "T47D-MTVL"      
##  4 6247ec77ee9a4f… 6247ec77e… PAX 139      ""                  ""               
##  5 0815d601135466… 0815d6011… PAX 217      ""                  ""               
##  6 d1d29207cdb6a6… d1d29207c… HeLa_1k_1D_… ""                  "HeLa"           
##  7 6a508f798160d9… 6a508f798… PAX 265      ""                  ""               
##  8 4e870164bcc0a4… 4e870164b… HeLa_1k_1D_… ""                  "HeLa"           
##  9 57291034c3664d… 57291034c… 786-O H3K27… ""                  "786-O"          
## 10 7d929f0062483c… 7d929f006… HeLa_1k_1D_… ""                  "HeLa"           
## # ℹ 38 more variables: payload.cell_type <chr>, payload.tissue <chr>,
## #   payload.target <chr>, payload.treatment <chr>, payload.assay <chr>,
## #   payload.genome_alias <chr>, payload.species_name <chr>, score <chr>,
## #   metadata.name <chr>, metadata.genome_alias <chr>,
## #   metadata.genome_digest <chr>, metadata.bed_compliance <chr>,
## #   metadata.data_format <chr>, metadata.compliant_columns <chr>,
## #   metadata.non_compliant_columns <chr>, metadata.id <chr>, …

4.5 Import a BED into a GRanges object

Create a GRanges object with a BED id with bb_to_granges, which downloads and imports a BED file using rtracklayer.

ex_bed <- bb_example(bedbase, "bed")
# Allow bedbaser to assign column names and types
bb_to_granges(bedbase, ex_bed$id, quietly = FALSE)
## 
## Attaching package: 'Biostrings'
## The following object is masked from 'package:base':
## 
##     strsplit
## GRanges object with 134214 ranges and 6 metadata columns:
##            seqnames            ranges strand |        name     score
##               <Rle>         <IRanges>  <Rle> | <character> <numeric>
##        [1]     chr1   1011559-1011907      * |  Peak_17877        94
##        [2]     chr1   1100362-1100829      * | Peak_128709        21
##        [3]     chr1   1113217-1113860      * |    Peak_477       285
##        [4]     chr1   1192152-1192369      * |  Peak_80934        43
##        [5]     chr1   1365846-1366946      * |   Peak_1628       212
##        ...      ...               ...    ... .         ...       ...
##   [134210]     chrY 56863009-56863326      * |   Peak_9430       120
##   [134211]     chrY 56865410-56865614      * | Peak_106191        35
##   [134212]     chrY 56868733-56868946      * |  Peak_57076        56
##   [134213]     chrY 56869876-56870126      * |   Peak_6376       140
##   [134214]     chrY 56872109-56872328      * |  Peak_29026        77
##            signalValue    pValue    qValue      peak
##              <numeric> <numeric> <numeric> <integer>
##        [1]     3.43081   8.07173   5.08229       208
##        [2]     1.80252   2.89222   1.02526       144
##        [3]     5.81182  21.63969  16.85817       182
##        [4]     2.60721   4.48469   2.17283       143
##        [5]     4.22880  16.47118  12.31763       396
##        ...         ...       ...       ...       ...
##   [134210]     3.07474   9.99596   6.71214       284
##   [134211]     2.27692   3.86663   1.72586       185
##   [134212]     2.26984   5.37840   2.88900       187
##   [134213]     4.09058  11.31119   7.83814       191
##   [134214]     3.16690   6.88420   4.09865       144
##   -------
##   seqinfo: 711 sequences (1 circular) from hg38 genome

For BEDX+Y formats, a named list with column types may be passed through extra_cols if the column name and type are known. Otherwise, bb_to_granges guesses the column types and assigns column names.

# Manually assign column name and type using `extra_cols`
bb_to_granges(bedbase, ex_bed$id, extra_cols = c("column_name" = "character"))

bb_to_granges automatically assigns the column names and types for broad peak and narrow peak files.

bed_id <- "bbad85f21962bb8d972444f7f9a3a932"
md <- bb_metadata(bedbase, bed_id)
head(md)
## $name
## [1] "PM_137_NPC_CTCF_ChIP"
## 
## $genome_alias
## [1] "hg38"
## 
## $genome_digest
## [1] "Ba88PY52_qeifhJrgUXyin6UITdXNsg3"
## 
## $bed_compliance
## [1] "bed6+4"
## 
## $data_format
## [1] "encode_narrowpeak_rs"
## 
## $compliant_columns
## [1] 6
bb_to_granges(bedbase, bed_id)
## GRanges object with 26210 ranges and 6 metadata columns:
##           seqnames            ranges strand |                   name     score
##              <Rle>         <IRanges>  <Rle> |            <character> <numeric>
##       [1]     chr1     869762-870077      * | 111-11-DSP-NPC-CTCF-..       587
##       [2]     chr1     904638-904908      * | 111-11-DSP-NPC-CTCF-..       848
##       [3]     chr1     921139-921331      * | 111-11-DSP-NPC-CTCF-..       177
##       [4]     chr1     939191-939364      * | 111-11-DSP-NPC-CTCF-..       139
##       [5]     chr1     976105-976282      * | 111-11-DSP-NPC-CTCF-..       185
##       ...      ...               ...    ... .                    ...       ...
##   [26206]     chrY 18445992-18446211      * | 111-11-DSP-NPC-CTCF-..       203
##   [26207]     chrY 18608331-18608547      * | 111-11-DSP-NPC-CTCF-..       203
##   [26208]     chrY 18669820-18670062      * | 111-11-DSP-NPC-CTCF-..       244
##   [26209]     chrY 18997783-18997956      * | 111-11-DSP-NPC-CTCF-..       191
##   [26210]     chrY 19433165-19433380      * | 111-11-DSP-NPC-CTCF-..       275
##           signalValue    pValue    qValue      peak
##             <numeric> <numeric> <numeric> <integer>
##       [1]    20.94161   58.7971   54.9321       152
##       [2]    30.90682   84.8282   80.3102       118
##       [3]     9.62671   17.7065   14.8446        69
##       [4]     8.10671   13.9033   11.1352        49
##       [5]     9.26375   18.5796   15.6985       129
##       ...         ...       ...       ...       ...
##   [26206]    10.64005   20.3549   17.4328       106
##   [26207]     8.00064   20.3991   17.4753       149
##   [26208]    12.16006   24.4764   21.4585       119
##   [26209]     8.97342   19.1163   16.2230        69
##   [26210]    12.21130   27.5139   24.4211        89
##   -------
##   seqinfo: 711 sequences (1 circular) from hg38 genome

4.6 Import a BEDset into a GRangesList

Create a GRangesList given a BEDset id with bb_to_grangeslist.

bedset_id <- "lola_hg38_ucsc_features"
bb_to_grangeslist(bedbase, bedset_id)
## GRangesList object of length 11:
## [[1]]
## GRanges object with 864 ranges and 0 metadata columns:
##         seqnames            ranges strand
##            <Rle>         <IRanges>  <Rle>
##     [1]     chr1    690078-6272609      *
##     [2]     chr1    690078-2326424      *
##     [3]     chr1    771707-6806566      *
##     [4]     chr1    771707-3153758      *
##     [5]     chr1    805477-4942653      *
##     ...      ...               ...    ...
##   [860]     chrY 23762211-26011096      *
##   [861]     chrY 23762211-26011096      *
##   [862]     chrY 23774007-25910251      *
##   [863]     chrY 26011096-26174983      *
##   [864]     chrY 26312489-26653776      *
##   -------
##   seqinfo: 711 sequences (1 circular) from hg38 genome
## 
## ...
## <10 more elements>

4.7 Save a BED file

Save BED files or BEDsets with bb_save:

bb_save(bedbase, ex_bed$id, tempdir())

5 Accessing BEDbase API endpoints

Because bedbaser uses the AnVIL Service class, it’s possible to access any endpoint of the BEDbase API.

show(bedbase)
## service: bedbase
## host: api.bedbase.org
## tags(); use bedbase$<tab completion>:
## # A tibble: 50 × 3
##    tag   operation                                           summary            
##    <chr> <chr>                                               <chr>              
##  1 base  get_assays_list_v1_assays_get                       Get available assa…
##  2 base  get_bedbase_db_stats_v1_stats_get                   Get summary statis…
##  3 base  get_detailed_stats_v1_detailed_stats_get            Get detailed stati…
##  4 base  get_detailed_usage_v1_detailed_usage_get            Get detailed usage…
##  5 base  get_genomes_list_v1_genomes_get                     Get available geno…
##  6 base  redirect_to_download_v1_files__file_path__get       Redirect To Downlo…
##  7 base  service_info_v1_service_info_get                    GA4GH service info 
##  8 bed   analyze_reference_genome_v1_bed_analyze_genome_post Analyze reference …
##  9 bed   bed_to_bed_search_v1_bed_search_bed_post            Search for similar…
## 10 bed   embed_bed_file_v1_bed_embed_post                    Get embeddings for…
## # ℹ 40 more rows
## tag values:
##   base, bed, bedset, home, objects, search, NA
## schemas():
##   AccessMethod, AccessURL, BaseListResponse, BedClassification,
##   BedEmbeddingResult
##   # ... with 46 more elements

For example, to access a BED file’s stats, access the endpoint with $ and use httr to get the result. show will display information about the endpoint.

library(httr)
## 
## Attaching package: 'httr'
## The following object is masked from 'package:Biobase':
## 
##     content
show(bedbase$get_bed_stats_v1_bed__bed_id__metadata_stats_get)
## get_bed_stats_v1_bed__bed_id__metadata_stats_get 
## Get stats for a single BED record 
## Description:
##   Example bed_id: bbad85f21962bb8d972444f7f9a3a932
## 
## Parameters:
##   bed_id (string)
##     BED digest
id <- "bbad85f21962bb8d972444f7f9a3a932"
rsp <- bedbase$get_bed_stats_v1_bed__bed_id__metadata_stats_get(id)
content(rsp)
## $number_of_regions
## [1] 26210
## 
## $gc_content
## [1] 0.5
## 
## $median_tss_dist
## [1] 31480
## 
## $mean_region_width
## [1] 276.3
## 
## $exon_frequency
## [1] 1358
## 
## $exon_percentage
## [1] 0.0518
## 
## $intron_frequency
## [1] 9390
## 
## $intron_percentage
## [1] 0.3583
## 
## $intergenic_percentage
## [1] 0.4441
## 
## $intergenic_frequency
## [1] 11639
## 
## $promotercore_frequency
## [1] 985
## 
## $promotercore_percentage
## [1] 0.0376
## 
## $fiveutr_frequency
## [1] 720
## 
## $fiveutr_percentage
## [1] 0.0275
## 
## $threeutr_frequency
## [1] 1074
## 
## $threeutr_percentage
## [1] 0.041
## 
## $promoterprox_frequency
## [1] 1044
## 
## $promoterprox_percentage
## [1] 0.0398

6 Example: Change genomic coordinate system with liftOver

Given a BED id, we can use liftOver to convert one genomic coordinate system to another.

Install liftOver and rtracklayer then load the packages.

if (!"BiocManager" %in% rownames(installed.packages())) {
    install.packages("BiocManager")
}
BiocManager::install(c("liftOver", "rtracklayer"))

library(liftOver)
library(rtracklayer)

Create a GRanges object from a mouse genome. Create a BEDbase Service instance. Use the instance to create a GRanges object from the BEDbase id.

id <- "f2a5b06011706376560514c3f39648ea"
bedbase <- BEDbase()
gro <- bb_to_granges(bedbase, id)
gro
## GRanges object with 132610 ranges and 2 metadata columns:
##            seqnames            ranges strand |        name     score
##               <Rle>         <IRanges>  <Rle> | <character> <numeric>
##        [1]     chr1   3132268-3132768      + |  chr1-21633         1
##        [2]     chr1   3185464-3185964      + |  chr1-21634         1
##        [3]     chr1   3221560-3222060      + |   chr1-6085         1
##        [4]     chr1   3476307-3476807      + |  chr1-21635         1
##        [5]     chr1   3560226-3561000      + |   chr1-4747         1
##        ...      ...               ...    ... .         ...       ...
##   [132606]     chrY 90737580-90739215      + |     chrY-23         1
##   [132607]     chrY 90742758-90744732      + |     chrY-35         1
##   [132608]     chrY 90810972-90814119      + |     chrY-47         1
##   [132609]     chrY 90819248-90819748      + |    chrY-131         1
##   [132610]     chrY 90828312-90828949      + |    chrY-103         1
##   -------
##   seqinfo: 239 sequences (1 circular) from mm10 genome

Download the chain file from UCSC.

chain_url <- paste0(
    "https://hgdownload.cse.ucsc.edu/goldenPath/mm10/liftOver/",
    "mm10ToMm39.over.chain.gz"
)
tmpdir <- tempdir()
gz <- file.path(tmpdir, "mm10ToMm39.over.chain.gz")
download.file(chain_url, gz)
gunzip(gz, remove = FALSE)

Import the chain, set the sequence levels style, and set the genome for the GRanges object.

ch <- import.chain(file.path(tmpdir, "mm10ToMm39.over.chain"))
seqlevelsStyle(gro) <- "UCSC"
gro39 <- liftOver(gro, ch)
gro39 <- unlist(gro39)
genome(gro39) <- "mm39"
gro39
## GRanges object with 132675 ranges and 2 metadata columns:
##            seqnames            ranges strand |        name     score
##               <Rle>         <IRanges>  <Rle> | <character> <numeric>
##        [1]     chr1   3202491-3202991      + |  chr1-21633         1
##        [2]     chr1   3255687-3256187      + |  chr1-21634         1
##        [3]     chr1   3291783-3292283      + |   chr1-6085         1
##        [4]     chr1   3546530-3547030      + |  chr1-21635         1
##        [5]     chr1   3630449-3631223      + |   chr1-4747         1
##        ...      ...               ...    ... .         ...       ...
##   [132671]     chrY 90748849-90750484      + |     chrY-23         1
##   [132672]     chrY 90754027-90756001      + |     chrY-35         1
##   [132673]     chrY 90822241-90825388      + |     chrY-47         1
##   [132674]     chrY 90830517-90831017      + |    chrY-131         1
##   [132675]     chrY 90839581-90840218      + |    chrY-103         1
##   -------
##   seqinfo: 21 sequences from mm39 genome; no seqlengths

7 SessionInfo()

sessionInfo()
## R version 4.6.0 RC (2026-04-17 r89917)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.24-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0  LAPACK version 3.12.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] BSgenome.Mmusculus.UCSC.mm10_1.4.3      
##  [2] httr_1.4.8                              
##  [3] BSgenome.Hsapiens.UCSC.hg38_1.4.5       
##  [4] BSgenome_1.81.0                         
##  [5] BiocIO_1.23.0                           
##  [6] Biostrings_2.81.0                       
##  [7] XVector_0.53.0                          
##  [8] bedbaser_1.5.0                          
##  [9] liftOver_1.35.0                         
## [10] Homo.sapiens_1.3.1                      
## [11] TxDb.Hsapiens.UCSC.hg19.knownGene_3.22.1
## [12] org.Hs.eg.db_3.23.1                     
## [13] GO.db_3.23.1                            
## [14] OrganismDbi_1.55.0                      
## [15] GenomicFeatures_1.65.0                  
## [16] AnnotationDbi_1.75.0                    
## [17] Biobase_2.73.0                          
## [18] GenomeInfoDb_1.49.0                     
## [19] gwascat_2.45.0                          
## [20] R.utils_2.13.0                          
## [21] R.oo_1.27.1                             
## [22] R.methodsS3_1.8.2                       
## [23] rtracklayer_1.73.0                      
## [24] GenomicRanges_1.65.0                    
## [25] Seqinfo_1.3.0                           
## [26] IRanges_2.47.0                          
## [27] S4Vectors_0.51.0                        
## [28] BiocGenerics_0.59.0                     
## [29] generics_0.1.4                          
## [30] BiocStyle_2.41.0                        
## 
## loaded via a namespace (and not attached):
##   [1] jsonlite_2.0.0              magrittr_2.0.5             
##   [3] rmarkdown_2.31              vctrs_0.7.3                
##   [5] memoise_2.0.1               Rsamtools_2.29.0           
##   [7] RCurl_1.98-1.18             htmltools_0.5.9            
##   [9] S4Arrays_1.13.0             BiocBaseUtils_1.15.0       
##  [11] lambda.r_1.2.4              curl_7.1.0                 
##  [13] SparseArray_1.13.0          sass_0.4.10                
##  [15] bslib_0.10.0                htmlwidgets_1.6.4          
##  [17] keyring_1.4.1               httr2_1.2.2                
##  [19] futile.options_1.0.1        cachem_1.1.0               
##  [21] GenomicAlignments_1.49.0    mime_0.13                  
##  [23] lifecycle_1.0.5             pkgconfig_2.0.3            
##  [25] Matrix_1.7-5                R6_2.6.1                   
##  [27] fastmap_1.2.0               MatrixGenerics_1.25.0      
##  [29] shiny_1.13.0                digest_0.6.39              
##  [31] GCPtools_1.3.0              RSQLite_2.4.6              
##  [33] filelock_1.0.3              abind_1.4-8                
##  [35] compiler_4.6.0              bit64_4.8.0                
##  [37] withr_3.0.2                 BiocParallel_1.47.0        
##  [39] DBI_1.3.0                   rappdirs_0.3.4             
##  [41] DelayedArray_0.39.0         rjson_0.2.23               
##  [43] tools_4.6.0                 otel_0.2.0                 
##  [45] httpuv_1.6.17               glue_1.8.1                 
##  [47] restfulr_0.0.16             promises_1.5.0             
##  [49] grid_4.6.0                  tidyr_1.3.2                
##  [51] data.table_1.18.2.1         utf8_1.2.6                 
##  [53] pillar_1.11.1               stringr_1.6.0              
##  [55] later_1.4.8                 splines_4.6.0              
##  [57] dplyr_1.2.1                 BiocFileCache_3.3.0        
##  [59] lattice_0.22-9              survival_3.8-6             
##  [61] bit_4.6.0                   tidyselect_1.2.1           
##  [63] RBGL_1.89.0                 miniUI_0.1.2               
##  [65] knitr_1.51                  bookdown_0.46              
##  [67] SummarizedExperiment_1.43.0 snpStats_1.63.0            
##  [69] futile.logger_1.4.9         xfun_0.57                  
##  [71] matrixStats_1.5.0           DT_0.34.0                  
##  [73] stringi_1.8.7               UCSC.utils_1.9.0           
##  [75] yaml_2.3.12                 evaluate_1.0.5             
##  [77] codetools_0.2-20            cigarillo_1.3.0            
##  [79] tibble_3.3.1                AnVILBase_1.7.0            
##  [81] BiocManager_1.30.27         graph_1.91.0               
##  [83] cli_3.6.6                   AnVIL_1.25.0               
##  [85] xtable_1.8-8                jquerylib_0.1.4            
##  [87] Rcpp_1.1.1-1.1              dbplyr_2.5.2               
##  [89] png_0.1-9                   XML_3.99-0.23              
##  [91] rapiclient_0.1.8            parallel_4.6.0             
##  [93] blob_1.3.0                  bitops_1.0-9               
##  [95] VariantAnnotation_1.59.0    purrr_1.2.2                
##  [97] crayon_1.5.3                rlang_1.2.0                
##  [99] KEGGREST_1.53.0             formatR_1.14