Chapter 5 The AnVIL R / Bioconductor package

In this section we learn about

  • Saving data to the current runtime
  • Saving or retrieving data from the workspace bucket
  • Manipulating the ‘TABLES’ metadata
  • ‘Power-user’ access to the underlying AnVIL software components

Packages used include

  • AnVIL – access AnVIL and Google cloud resources from within R. The AnVIL package is under active development, and we use the most recent version installed from Github.

5.1 R / Bioconductor libraries

We’ll primarily use the AnVIL package, installed from github.

## Bioconductor version 3.11 (BiocManager 1.30.10), R 4.0.2 Patched (2020-06-24
##   r78747)

We’ll motivate the use of AnVIL using a previous work flow, and use of the dplyr package. The required packages can be installed with

## Bioconductor version 3.11 (BiocManager 1.30.10), R 4.0.2 Patched (2020-06-24
##   r78747)

Start by loading the AnVIL package.

5.2 The AnVIL workspace

The central components of the AnVIL workspace are available. Each workspace has a ‘namespace’ (billing account) and ‘name’ (workspace name).

Each workspace has a google ‘bucket’ associated with it. The bucket is in existence for as long as the workspace, providing an area for persistent data storage across different kernels.

## [1] "gs://fc-66b30014-b9a7-4374-a24a-e9eba924b67d"

5.3 Saving analysis products

5.3.2 Saving results on the runtime instance

At this point, we’ve invested a certain amount of effort, mental and computational, into producing the updated sce. It might be valuable to save this object so that we can quickly read it in during our next session.

The standard mechanism for saving an R object might use saveRDS() to write the image to disk, and readRDS() to load it back in:

## class: SingleCellExperiment 
## dim: 24658 45877 
## metadata(0):
## assays(2): counts logcounts
## rownames(24658): KITL TMTC3 ... 1110059M19RIK GM20861
## rowData names(0):
## colnames(45877): r1_GGCCGCAGTCCG r1_CTTGTGCGGGAA ... p1_TAACGCGCTCCT
##   p1_ATTCTTGTTCTT
## colData names(4): cell.id cluster sizeFactor label
## reducedDimNames(2): PCA UMAP
## altExpNames(0):

5.3.3 Backing up results to the workspace bucket

A challenge with this approach is that the file system is associated with the runtime. When the runtime ends, intentionally (e.g., to switch to a different runtime) or accidentally (e.g., because of some technical problem in the AnVIL), the file is no longer available.

To make ‘persist’ the file so that its lifespan extends to the life of the workspace, copy the file from it’s current location to the google bucket associated with the workspace. Do this using avfiles_backup() (res contains the output of the cloud copy command, and would be useful if debugging a surprising outcome).

The content of the google bucket can be viewed with

## [1] "sce_07-17-20.RDS"                     
## [2] "notebooks/03-existing-workspace.ipynb"
## [3] "notebooks/04-hca-cloud-R.ipynb"       
## [4] "notebooks/05-AnVIL-package.ipynb"

We see that the data set, and the notebooks, are stored in the bucket. The file can be restored to the runtime, perhaps in a different location, with

## character(0)
## [1] "sce_07-17-20.RDS"

This restoration works even if the runtime has been changed, e.g., to use RStudio instead of Jupyter notebooks.

5.4 Workspace DATA ‘TABLES’

Check out the DATA tab on the workspace home page. Note that there is a TABLES entry. A Workspace data TABLE provides metadata about genome-scale resources available to the workspace. Often, the data are subject to access restrictions, and access to the workspace implies access to the restricted data.

We’ll create references to public-access data available from the Human Cell Atlas.

5.4.1 Metadata discovery and export from the HCA

Visit the Human Cell Atlas Data Portal.

Select on the project “A single-cell reference map of transcriptional states for human blood and tissue T cell activation” (second item on the default screen, as of this writing). Note that the data set is very well documented. We worked with the ‘Expression Matrices’ (left panel) in a previous section of the workshop, and will work with ‘Analysis Protocol (optimus_v1.3.5)’ (right sidebar) in a subsequent section.

Return to the data portal. Use the check box to select the project, and click ‘Export Selected Data’ toward the top right.

On the next screen, choose ‘Export to Terra’, select ‘BAM’ files, and ‘Request Export’

I was transferred to Terra, asked to log in, then to create or use a workspace. I chose an existing workspace (this one!). The HCA data appeared under the DATA tab as a TABLE labeled “participants”.

The AnVIL package allow us to query the workspace data tables.

5.4.2 Accessing TABLES

Use avtables() to discover the tables available.

## # A tibble: 1 x 3
##   table      count colnames                                                     
##   <chr>      <int> <chr>                                                        
## 1 participa…    16 participant_id, bundle_uuid, bundle_version, cell_suspension…

Use avtable() to retrieve a particular table.

## # A tibble: 16 x 121
##    name  `__unknown_3__f… `__csv__file_na… `__unknown_4__f… donor_organism_…
##    <chr> <chr>            <chr>            <chr>            <chr>           
##  1 09ce… unknown          empty_drops_res… 60921956ce081e3… 95822e01-44a7-4…
##  2 0cba… unknown          empty_drops_res… bf8fbfd77dc4dfe… b09a1e10-3c38-4…
##  3 24cf… unknown          empty_drops_res… 00ccbe66273c95e… 95822e01-44a7-4…
##  4 2677… unknown          empty_drops_res… 4cc66da5a4279cd… 8b5774b2-2aba-4…
##  5 269c… unknown          empty_drops_res… 823bb11d2b3d5f8… 8b5774b2-2aba-4…
##  6 6aeb… unknown          empty_drops_res… 004b9ce987100ed… 8b5774b2-2aba-4…
##  7 88f0… unknown          empty_drops_res… 3fb281d48b034bc… 8b5774b2-2aba-4…
##  8 8b9e… unknown          empty_drops_res… 048b463622830aa… 8b5774b2-2aba-4…
##  9 8c6e… unknown          empty_drops_res… b55f255b6892ab4… 95822e01-44a7-4…
## 10 9137… unknown          empty_drops_res… bdcac1fa24a6af8… 95822e01-44a7-4…
## 11 a460… unknown          empty_drops_res… aed8ac6e3611608… 95822e01-44a7-4…
## 12 c4dc… unknown          empty_drops_res… 91248e040be8119… b09a1e10-3c38-4…
## 13 c5df… unknown          empty_drops_res… 872c8366048261e… 8b5774b2-2aba-4…
## 14 cfa6… unknown          empty_drops_res… 351bf8067ef3b42… 4b7a3de7-94db-4…
## 15 dde6… unknown          empty_drops_res… bd41fb241c3b618… 95822e01-44a7-4…
## 16 ecbc… unknown          empty_drops_res… a0598691e0a040f… 4b7a3de7-94db-4…
## # … with 116 more variables: `__unknown_3__file_sha256` <chr>,
## #   `__fastq_read2__file_sha256` <chr>, `__unknown_0__file_size` <chr>,
## #   `__fastq_read2__drs_url` <chr>, `__unknown_0__file_sha256` <chr>,
## #   `__csv__drs_url` <chr>, `__fastq_read2__file_format` <chr>,
## #   `__unknown_1__file_version` <chr>, `__fastq_read2__file_name` <chr>,
## #   cell_suspension__estimated_cell_count <chr>, `__unknown_4__drs_url` <chr>,
## #   `__bam__file_url` <chr>, `__unknown_2__file_uuid` <chr>,
## #   `__unknown_3__file_name` <chr>, `__unknown_1__file_content_type` <chr>,
## #   `__unknown_0__file_version` <chr>, `__bam__file_sha256` <chr>,
## #   `__csv__file_sha256` <chr>, `__bam__file_version` <chr>,
## #   cell_suspension__selected_cell_type <chr>,
## #   `__fastq_read1__file_name` <chr>,
## #   sequencing_process__provenance__document_id <chr>,
## #   `__matrix__file_content_type` <chr>,
## #   `__unknown_3__file_content_type` <chr>,
## #   specimen_from_organism__provenance__document_id <chr>,
## #   project__contributors__laboratory <chr>, `__matrix__file_name` <chr>,
## #   sequencing_protocol__paired_end <chr>, `__unknown_4__file_format` <chr>,
## #   `__unknown_2__file_format` <chr>, `__unknown_4__file_uuid` <chr>,
## #   `__unknown_1__file_name` <chr>, sample__provenance__document_id <chr>,
## #   `_entity_type` <chr>, `__unknown_0__drs_url` <chr>,
## #   `__fastq_read2__file_version` <chr>, `__bam__file_content_type` <chr>,
## #   `__unknown_0__file_format` <chr>, `__fastq_read1__file_size` <chr>,
## #   donor_organism__organism_age <chr>, `__unknown_1__file_uuid` <chr>,
## #   project__project_core__project_short_name <chr>,
## #   `__unknown_2__file_url` <chr>, donor_organism__diseases <chr>,
## #   bundle_version <chr>, `__csv__file_uuid` <chr>,
## #   `__unknown_4__file_content_type` <chr>,
## #   library_preparation_protocol__library_construction_approach <chr>,
## #   `__matrix__drs_url` <chr>, `__bam__file_uuid` <chr>,
## #   `__unknown_4__file_version` <chr>, `__unknown_0__file_url` <chr>,
## #   `__fastq_read2__file_content_type` <chr>, `__bam__file_size` <chr>,
## #   `__matrix__file_url` <chr>, `__unknown_2__file_sha256` <chr>,
## #   `__fastq_read2__read_index` <chr>, `__csv__file_version` <chr>,
## #   `__matrix__file_version` <chr>, `__bam__drs_url` <chr>,
## #   `__csv__file_format` <chr>,
## #   sequencing_protocol__instrument_manufacturer_model <chr>,
## #   `__fastq_read1__file_content_type` <chr>, `__unknown_3__file_uuid` <chr>,
## #   bundle_uuid <chr>, project__provenance__document_id <chr>,
## #   cell_suspension__provenance__document_id <chr>,
## #   `__unknown_3__file_size` <chr>, `__unknown_3__file_version` <chr>,
## #   `__unknown_4__file_size` <chr>, `__unknown_2__file_name` <chr>,
## #   sample__biomaterial_core__biomaterial_id <chr>,
## #   `__fastq_read1__file_format` <chr>, donor_organism__sex <chr>,
## #   `__unknown_4__file_name` <chr>, `__unknown_0__file_name` <chr>,
## #   `__fastq_read1__file_sha256` <chr>, `__matrix__file_sha256` <chr>,
## #   `__matrix__file_format` <chr>, donor_organism__genus_species <chr>,
## #   `__unknown_2__drs_url` <chr>, `__unknown_1__file_size` <chr>,
## #   `__fastq_read1__file_version` <chr>, `__unknown_3__drs_url` <chr>,
## #   `__unknown_3__file_url` <chr>, project__project_core__project_title <chr>,
## #   `__fastq_read1__read_index` <chr>, `__fastq_read2__file_size` <chr>,
## #   `__matrix__file_size` <chr>, `__fastq_read1__file_uuid` <chr>,
## #   `__unknown_1__file_format` <chr>, `__unknown_1__file_url` <chr>,
## #   `__csv__file_size` <chr>,
## #   specimen_from_organism__preservation_storage__preservation_method <chr>,
## #   `__unknown_2__file_content_type` <chr>, `__bam__file_format` <chr>,
## #   donor_organism__biomaterial_core__biomaterial_id <chr>,
## #   `__bam__file_name` <chr>, `__unknown_1__file_sha256` <chr>,
## #   `__unknown_1__drs_url` <chr>, …

5.4.3 What do we learn about the samples in this experiment?

Metadata about the participants in the study can be found by selecting the columns that do not start with an underscore

## # A tibble: 16 x 28
##    name  donor_organism_… cell_suspension… cell_suspension… sequencing_proc…
##    <chr> <chr>            <chr>            <chr>            <chr>           
##  1 09ce… 95822e01-44a7-4… 0                T cell           294fe5d9-c1e8-4…
##  2 0cba… b09a1e10-3c38-4… 0                T cell           bfbf2ca6-13e5-4…
##  3 24cf… 95822e01-44a7-4… 0                T cell           a040dae6-e0b1-4…
##  4 2677… 8b5774b2-2aba-4… 0                T cell           d6536459-ab4e-4…
##  5 269c… 8b5774b2-2aba-4… 0                T cell           58cf25fd-440a-4…
##  6 6aeb… 8b5774b2-2aba-4… 0                T cell           098cc66a-d806-4…
##  7 88f0… 8b5774b2-2aba-4… 0                T cell           c76d90b8-c190-4…
##  8 8b9e… 8b5774b2-2aba-4… 0                T cell           c763f679-e13d-4…
##  9 8c6e… 95822e01-44a7-4… 0                T cell           58a18a4c-5423-4…
## 10 9137… 95822e01-44a7-4… 0                T cell           36ca61c4-9752-4…
## 11 a460… 95822e01-44a7-4… 0                T cell           6fcd2c86-76dc-4…
## 12 c4dc… b09a1e10-3c38-4… 0                T cell           219e1b92-9749-4…
## 13 c5df… 8b5774b2-2aba-4… 0                T cell           fcbaa3c6-b2bf-4…
## 14 cfa6… 4b7a3de7-94db-4… 0                T cell           24ae6c0b-d147-4…
## 15 dde6… 95822e01-44a7-4… 0                T cell           fb72f4c2-7f35-4…
## 16 ecbc… 4b7a3de7-94db-4… 0                T cell           3ddf143f-36bd-4…
## # … with 23 more variables:
## #   specimen_from_organism__provenance__document_id <chr>,
## #   project__contributors__laboratory <chr>,
## #   sequencing_protocol__paired_end <chr>,
## #   sample__provenance__document_id <chr>, donor_organism__organism_age <chr>,
## #   project__project_core__project_short_name <chr>,
## #   donor_organism__diseases <chr>, bundle_version <chr>,
## #   library_preparation_protocol__library_construction_approach <chr>,
## #   sequencing_protocol__instrument_manufacturer_model <chr>,
## #   bundle_uuid <chr>, project__provenance__document_id <chr>,
## #   cell_suspension__provenance__document_id <chr>,
## #   sample__biomaterial_core__biomaterial_id <chr>, donor_organism__sex <chr>,
## #   donor_organism__genus_species <chr>,
## #   project__project_core__project_title <chr>,
## #   specimen_from_organism__preservation_storage__preservation_method <chr>,
## #   donor_organism__biomaterial_core__biomaterial_id <chr>,
## #   specimen_from_organism__organ_part <chr>,
## #   donor_organism__organism_age_unit <chr>,
## #   project__contributors__institution <chr>,
## #   specimen_from_organism__organ <chr>

As in a previous exercise, we can select the invariant columns to learn about experiment-wide participant descriptions…

## # A tibble: 14 x 2
##    name                                value                                    
##    <chr>                               <chr>                                    
##  1 cell_suspension__estimated_cell_co… 0                                        
##  2 cell_suspension__selected_cell_type T cell                                   
##  3 project__contributors__laboratory   Farber Lab; Columbia Center for Translat…
##  4 sequencing_protocol__paired_end     False                                    
##  5 project__project_core__project_sho… HumanTissueTcellActivation               
##  6 library_preparation_protocol__libr… 10X v2 sequencing                        
##  7 sequencing_protocol__instrument_ma… Illumina HiSeq 4000                      
##  8 project__provenance__document_id    4a95101c-9ffc-4f30-a809-f04518a23803     
##  9 donor_organism__sex                 male                                     
## 10 donor_organism__genus_species       Homo sapiens                             
## 11 project__project_core__project_tit… A single-cell reference map of transcrip…
## 12 specimen_from_organism__preservati… fresh                                    
## 13 donor_organism__organism_age_unit   year                                     
## 14 project__contributors__institution  Columbia University Irving Medical Cente…

The varying columns…

## # A tibble: 16 x 14
##    name  donor_organism_… sequencing_proc… specimen_from_o… sample__provena…
##    <chr> <chr>            <chr>            <chr>            <chr>           
##  1 09ce… 95822e01-44a7-4… 294fe5d9-c1e8-4… c9abc146-67f0-4… c9abc146-67f0-4…
##  2 0cba… b09a1e10-3c38-4… bfbf2ca6-13e5-4… 0ec78ea7-1fc1-4… 0ec78ea7-1fc1-4…
##  3 24cf… 95822e01-44a7-4… a040dae6-e0b1-4… ed854de5-c872-4… ed854de5-c872-4…
##  4 2677… 8b5774b2-2aba-4… d6536459-ab4e-4… dfe889d8-86c0-4… dfe889d8-86c0-4…
##  5 269c… 8b5774b2-2aba-4… 58cf25fd-440a-4… c2fed28d-cdd4-4… c2fed28d-cdd4-4…
##  6 6aeb… 8b5774b2-2aba-4… 098cc66a-d806-4… a3c3f746-aa00-4… a3c3f746-aa00-4…
##  7 88f0… 8b5774b2-2aba-4… c76d90b8-c190-4… 427e0abb-3d3e-4… 427e0abb-3d3e-4…
##  8 8b9e… 8b5774b2-2aba-4… c763f679-e13d-4… 55c59b93-6ce2-4… 55c59b93-6ce2-4…
##  9 8c6e… 95822e01-44a7-4… 58a18a4c-5423-4… 9a79497c-a825-4… 9a79497c-a825-4…
## 10 9137… 95822e01-44a7-4… 36ca61c4-9752-4… 85a0036b-fb11-4… 85a0036b-fb11-4…
## 11 a460… 95822e01-44a7-4… 6fcd2c86-76dc-4… 59a13e80-0c0b-4… 59a13e80-0c0b-4…
## 12 c4dc… b09a1e10-3c38-4… 219e1b92-9749-4… 46cbd6a3-1ba4-4… 46cbd6a3-1ba4-4…
## 13 c5df… 8b5774b2-2aba-4… fcbaa3c6-b2bf-4… d02c3fdd-5c85-4… d02c3fdd-5c85-4…
## 14 cfa6… 4b7a3de7-94db-4… 24ae6c0b-d147-4… edd28ba8-0bb3-4… edd28ba8-0bb3-4…
## 15 dde6… 95822e01-44a7-4… fb72f4c2-7f35-4… ef3a770b-6bd5-4… ef3a770b-6bd5-4…
## 16 ecbc… 4b7a3de7-94db-4… 3ddf143f-36bd-4… 03a73511-bdeb-4… 03a73511-bdeb-4…
## # … with 9 more variables: donor_organism__organism_age <chr>,
## #   donor_organism__diseases <chr>, bundle_version <chr>, bundle_uuid <chr>,
## #   cell_suspension__provenance__document_id <chr>,
## #   sample__biomaterial_core__biomaterial_id <chr>,
## #   donor_organism__biomaterial_core__biomaterial_id <chr>,
## #   specimen_from_organism__organ_part <chr>,
## #   specimen_from_organism__organ <chr>

Details of, e.g., donor attributes are easily discovered

## # A tibble: 4 x 4
##   provenance__document_id              sex   organism_age     n
##   <chr>                                <chr> <chr>        <int>
## 1 4b7a3de7-94db-4507-b1f9-c3931f9f3aa5 male  50-55            2
## 2 8b5774b2-2aba-4b90-8fa0-c7f69207802c male  65               6
## 3 95822e01-44a7-420b-92fc-b001460b1d13 male  52               6
## 4 b09a1e10-3c38-4bb3-8553-d762810a6fb7 male  50-55            2

The ‘big data’ (e.g., BAM files) are co-located in the google cloud (note the replica=gcp, i.e., Google cloud platform, at the end of the URL), so accessible for computation and without download charge.

## # A tibble: 16 x 1
##    `__bam__file_url`                                                            
##    <chr>                                                                        
##  1 https://dss.data.humancellatlas.org/v1/files/4ad1cc30-98e2-4db1-a303-20fb297…
##  2 https://dss.data.humancellatlas.org/v1/files/9af75eda-79b9-48b8-a29b-2d162cf…
##  3 https://dss.data.humancellatlas.org/v1/files/47d4aee5-06e9-4821-badf-08155c9…
##  4 https://dss.data.humancellatlas.org/v1/files/b8c092c8-4a89-45b6-bed3-4cc2bb5…
##  5 https://dss.data.humancellatlas.org/v1/files/cdb319d6-bd03-4984-a94d-c8bb3d6…
##  6 https://dss.data.humancellatlas.org/v1/files/048541ec-503a-48a0-85f8-58eba00…
##  7 https://dss.data.humancellatlas.org/v1/files/8424fdb4-c168-4cac-85d8-59694be…
##  8 https://dss.data.humancellatlas.org/v1/files/896605ca-71e8-449a-8cc4-1dd8bf0…
##  9 https://dss.data.humancellatlas.org/v1/files/b6b7f5a1-3f4b-4d88-8f1e-0f682b5…
## 10 https://dss.data.humancellatlas.org/v1/files/50897f4d-a010-4626-9547-92b8eaa…
## 11 https://dss.data.humancellatlas.org/v1/files/b9fa1e76-4999-4358-a18b-9b2cee2…
## 12 https://dss.data.humancellatlas.org/v1/files/ab102f17-5045-4b69-9cd3-2b22ca4…
## 13 https://dss.data.humancellatlas.org/v1/files/87a84844-349c-4463-8c0b-6aa22b1…
## 14 https://dss.data.humancellatlas.org/v1/files/f97266be-5f00-48de-b0cf-a3528fb…
## 15 https://dss.data.humancellatlas.org/v1/files/2802b4ef-88d0-4283-8d92-a2573eb…
## 16 https://dss.data.humancellatlas.org/v1/files/b04813fc-ac15-4fbb-8f14-9d8796a…

5.5 Information about the packages used in this session

The R command sessionInfo() captures information about the versions of software used in the current session. This can be valuable for performing reproducible analysis.

## R version 4.0.2 Patched (2020-06-24 r78747)
## Platform: x86_64-apple-darwin17.7.0 (64-bit)
## Running under: macOS High Sierra 10.13.6
## 
## Matrix products: default
## BLAS:   /Users/ma38727/bin/R-4-0-branch/lib/libRblas.dylib
## LAPACK: /Users/ma38727/bin/R-4-0-branch/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] AnVIL_1.1.14                dplyr_1.0.0                
##  [3] LoomExperiment_1.6.0        rtracklayer_1.48.0         
##  [5] rhdf5_2.32.2                BiocFileCache_1.12.0       
##  [7] dbplyr_1.4.4                scran_1.16.0               
##  [9] scater_1.16.2               ggplot2_3.3.2              
## [11] scRNAseq_2.2.0              SingleCellExperiment_1.10.1
## [13] SummarizedExperiment_1.18.2 DelayedArray_0.14.1        
## [15] matrixStats_0.56.0          Biobase_2.48.0             
## [17] GenomicRanges_1.40.0        GenomeInfoDb_1.24.2        
## [19] IRanges_2.22.2              S4Vectors_0.26.1           
## [21] BiocGenerics_0.34.0        
## 
## loaded via a namespace (and not attached):
##   [1] ggbeeswarm_0.6.0              colorspace_1.4-1             
##   [3] ellipsis_0.3.1                futile.logger_1.4.3          
##   [5] XVector_0.28.0                BiocNeighbors_1.6.0          
##   [7] rstudioapi_0.11               farver_2.0.3                 
##   [9] bit64_0.9-7.1                 interactiveDisplayBase_1.26.3
##  [11] AnnotationDbi_1.50.1          fansi_0.4.1                  
##  [13] knitr_1.29                    jsonlite_1.7.0               
##  [15] Rsamtools_2.4.0               shiny_1.5.0                  
##  [17] HDF5Array_1.16.1              BiocManager_1.30.10          
##  [19] compiler_4.0.2                httr_1.4.1                   
##  [21] dqrng_0.2.1                   assertthat_0.2.1             
##  [23] Matrix_1.2-18                 fastmap_1.0.1                
##  [25] limma_3.44.3                  cli_2.0.2                    
##  [27] formatR_1.7                   later_1.1.0.1                
##  [29] BiocSingular_1.4.0            htmltools_0.5.0              
##  [31] tools_4.0.2                   rsvd_1.0.3                   
##  [33] igraph_1.2.5                  gtable_0.3.0                 
##  [35] glue_1.4.1                    GenomeInfoDbData_1.2.3       
##  [37] rappdirs_0.3.1                rapiclient_0.1.3             
##  [39] Rcpp_1.0.5                    vctrs_0.3.2                  
##  [41] Biostrings_2.56.0             ExperimentHub_1.14.0         
##  [43] DelayedMatrixStats_1.10.1     xfun_0.15                    
##  [45] stringr_1.4.0                 mime_0.9                     
##  [47] lifecycle_0.2.0               irlba_2.3.3                  
##  [49] statmod_1.4.34                XML_3.99-0.4                 
##  [51] AnnotationHub_2.20.0          edgeR_3.30.3                 
##  [53] zlibbioc_1.34.0               scales_1.1.1                 
##  [55] promises_1.1.1                lambda.r_1.2.4               
##  [57] yaml_2.2.1                    curl_4.3                     
##  [59] memoise_1.1.0                 gridExtra_2.3                
##  [61] stringi_1.4.6                 RSQLite_2.2.0                
##  [63] BiocVersion_3.11.1            BiocParallel_1.22.0          
##  [65] rlang_0.4.7                   pkgconfig_2.0.3              
##  [67] bitops_1.0-6                  evaluate_0.14                
##  [69] lattice_0.20-41               purrr_0.3.4                  
##  [71] Rhdf5lib_1.10.1               GenomicAlignments_1.24.0     
##  [73] labeling_0.3                  cowplot_1.0.0                
##  [75] bit_1.1-15.2                  tidyselect_1.1.0             
##  [77] magrittr_1.5                  bookdown_0.20                
##  [79] R6_2.4.1                      generics_0.0.2               
##  [81] DBI_1.1.0                     pillar_1.4.6                 
##  [83] withr_2.2.0                   RCurl_1.98-1.2               
##  [85] tibble_3.0.3                  crayon_1.3.4                 
##  [87] futile.options_1.0.1          utf8_1.1.4                   
##  [89] rmarkdown_2.3                 viridis_0.5.1                
##  [91] locfit_1.5-9.4                grid_4.0.2                   
##  [93] blob_1.2.1                    digest_0.6.25                
##  [95] xtable_1.8-4                  tidyr_1.1.0                  
##  [97] httpuv_1.5.4                  munsell_0.5.0                
##  [99] beeswarm_0.2.3                viridisLite_0.3.0            
## [101] vipor_0.4.5