Contents

1 Motivation & Introduction

The purpose of this vignette is to explore the file manifests available from the Human Cell Atlas project.

These files provide a metadata summary for a collection of files in a tabular format, including but not limited to information about process and workflow used to generate the file, information about the specimens the file data were derived from, and identifiers connect specific projects, files, and specimens.

The WARP (WDL Analysis Research Pipelines) repository contains information on a variety of pipelines, and can be used alongside a manifest to better understand the metadata.

1.1 Installation and getting started

Evaluate the following code chunk to install packages required for this vignette.

## install from Bioconductor if you haven't already
pkgs <- c("LoomExperiment", "hca")
pkgs_needed <- pkgs[!pkgs %in% rownames(installed.packages())]
BiocManager::install(pkgs_needed)

Load the packages into your R session.

library(dplyr)
library(SummarizedExperiment)
library(LoomExperiment)
library(hca)

2 Example: Default function parameters

default_manifest_tbl <- hca::manifest()
## requesting manifest
default_manifest_tbl
## # A tibble: 358,176 × 55
##    source_id   source_spec    bundle_uuid  bundle_version      file_document_id 
##    <chr>       <chr>          <chr>        <dttm>              <chr>            
##  1 cf3cfc49-d… tdr:tdr-fp-54… ffed96bd-be… 2021-05-14 13:58:58 0000591a-0df3-40…
##  2 cf3cfc49-d… tdr:tdr-fp-54… 4ef10b20-d5… 2019-08-01 20:01:47 0000c13f-a299-48…
##  3 cf3cfc49-d… tdr:tdr-fp-54… 0d43b1a9-71… 2019-05-17 16:05:38 0001010d-8f9a-41…
##  4 cf3cfc49-d… tdr:tdr-fp-54… 2fb448ac-38… 2021-02-25 20:02:24 00014fc3-7451-43…
##  5 cf3cfc49-d… tdr:tdr-fp-54… 2a61bc39-23… 2019-08-01 20:01:47 0001614e-b44f-46…
##  6 cf3cfc49-d… tdr:tdr-fp-54… 17eb537d-b9… 2019-05-16 21:18:13 00016bff-87d4-47…
##  7 cf3cfc49-d… tdr:tdr-fp-54… 894980d6-f3… 2021-06-10 09:50:55 00016dd1-216e-4b…
##  8 cf3cfc49-d… tdr:tdr-fp-54… 0678bd67-ff… 2019-08-01 20:01:47 000183e4-19f4-43…
##  9 cf3cfc49-d… tdr:tdr-fp-54… aa7364b0-c4… 2021-05-14 13:58:53 000189b0-671a-45…
## 10 cf3cfc49-d… tdr:tdr-fp-54… 2d556dfb-0f… 2019-08-01 20:01:46 0001b474-e38d-49…
## # … with 358,166 more rows, and 50 more variables: file_type <chr>,
## #   file_name <chr>, file_format <chr>, read_index <chr>, file_size <dbl>,
## #   file_uuid <chr>, file_version <dttm>, file_crc32c <chr>, file_sha256 <chr>,
## #   file_content_type <chr>, file_drs_uri <chr>, file_url <chr>,
## #   cell_suspension.provenance.document_id <chr>,
## #   cell_suspension.biomaterial_core.biomaterial_id <chr>,
## #   cell_suspension.estimated_cell_count <dbl>, …

3 Example: Manifest for specific criteria

manifest_filter <- hca::filters(
    projectId = list(is = "4a95101c-9ffc-4f30-a809-f04518a23803"),
    fileFormat = list(is = "loom"),
    workflow = list(is = c("optimus_v4.2.2", "optimus_v4.2.3"))
)

manifest_tibble <- hca::manifest(filters = manifest_filter)
## requesting manifest
manifest_tibble
## # A tibble: 20 × 55
##    source_id   source_spec    bundle_uuid  bundle_version      file_document_id 
##    <chr>       <chr>          <chr>        <dttm>              <chr>            
##  1 cf3cfc49-d… tdr:tdr-fp-54… b593b66a-d2… 2020-02-03 01:00:00 131ea511-25f7-58…
##  2 cf3cfc49-d… tdr:tdr-fp-54… 5a63dd0b-52… 2021-02-02 23:50:00 1bb375a5-d22b-59…
##  3 cf3cfc49-d… tdr:tdr-fp-54… 40733888-3b… 2021-02-02 23:55:00 1f8ff0fa-6892-5e…
##  4 cf3cfc49-d… tdr:tdr-fp-54… 1a41ebe6-ee… 2021-02-02 23:50:00 2fffe225-ba6c-59…
##  5 cf3cfc49-d… tdr:tdr-fp-54… c12a6ca2-32… 2021-02-02 23:50:00 31aa5a18-2a4e-54…
##  6 cf3cfc49-d… tdr:tdr-fp-54… f58d690c-bb… 2021-02-02 23:50:00 48eea299-8823-5a…
##  7 cf3cfc49-d… tdr:tdr-fp-54… 21c4e2de-ec… 2021-02-02 23:50:00 51458973-404c-58…
##  8 cf3cfc49-d… tdr:tdr-fp-54… 50620c50-23… 2021-02-02 23:50:00 5bbebef4-9b14-50…
##  9 cf3cfc49-d… tdr:tdr-fp-54… e3ecdfc2-44… 2021-02-02 23:55:00 5bc232f2-b77c-52…
## 10 cf3cfc49-d… tdr:tdr-fp-54… ae338c4e-65… 2021-02-02 23:50:00 6326b602-0f63-54…
## 11 cf3cfc49-d… tdr:tdr-fp-54… d62c4599-47… 2020-02-03 01:00:00 7848d80b-6b1d-56…
## 12 cf3cfc49-d… tdr:tdr-fp-54… 81df106e-e7… 2021-02-02 23:55:00 9f8bc032-6276-57…
## 13 cf3cfc49-d… tdr:tdr-fp-54… 2838323c-cd… 2020-02-03 01:00:00 b98cfaac-64f5-59…
## 14 cf3cfc49-d… tdr:tdr-fp-54… c3f672ad-e6… 2021-02-02 23:50:00 bf7751ae-ac9d-5b…
## 15 cf3cfc49-d… tdr:tdr-fp-54… a9c90392-ca… 2020-02-03 01:00:00 c7b6470c-e2f0-51…
## 16 cf3cfc49-d… tdr:tdr-fp-54… 9d0f5cd1-0e… 2020-02-03 01:00:00 d0b95f2c-98ae-58…
## 17 cf3cfc49-d… tdr:tdr-fp-54… 59de15e1-f5… 2021-02-02 23:50:00 d18759a6-2a95-5d…
## 18 cf3cfc49-d… tdr:tdr-fp-54… 54fb0e25-57… 2021-02-02 23:55:00 dfd9905b-d6c9-5a…
## 19 cf3cfc49-d… tdr:tdr-fp-54… 7516565a-e8… 2021-02-02 23:55:00 e07ca731-b20a-5b…
## 20 cf3cfc49-d… tdr:tdr-fp-54… 8e850d2d-0b… 2021-02-02 23:50:00 fd41f3d6-7664-53…
## # … with 50 more variables: file_type <chr>, file_name <chr>,
## #   file_format <chr>, read_index <lgl>, file_size <dbl>, file_uuid <chr>,
## #   file_version <dttm>, file_crc32c <chr>, file_sha256 <chr>,
## #   file_content_type <chr>, file_drs_uri <chr>, file_url <chr>,
## #   cell_suspension.provenance.document_id <chr>,
## #   cell_suspension.biomaterial_core.biomaterial_id <chr>,
## #   cell_suspension.estimated_cell_count <lgl>, …

## what specimen organs are represented in these files?
manifest_tibble |>
    dplyr::count(specimen_from_organism.organ)
## # A tibble: 4 × 2
##   specimen_from_organism.organ     n
##   <chr>                        <int>
## 1 blood                            5
## 2 hematopoietic system             5
## 3 lung                             5
## 4 mediastinal lymph node           5

4 Example: Using manifest data to select files

manifest_tibble
## # A tibble: 20 × 55
##    source_id   source_spec    bundle_uuid  bundle_version      file_document_id 
##    <chr>       <chr>          <chr>        <dttm>              <chr>            
##  1 cf3cfc49-d… tdr:tdr-fp-54… b593b66a-d2… 2020-02-03 01:00:00 131ea511-25f7-58…
##  2 cf3cfc49-d… tdr:tdr-fp-54… 5a63dd0b-52… 2021-02-02 23:50:00 1bb375a5-d22b-59…
##  3 cf3cfc49-d… tdr:tdr-fp-54… 40733888-3b… 2021-02-02 23:55:00 1f8ff0fa-6892-5e…
##  4 cf3cfc49-d… tdr:tdr-fp-54… 1a41ebe6-ee… 2021-02-02 23:50:00 2fffe225-ba6c-59…
##  5 cf3cfc49-d… tdr:tdr-fp-54… c12a6ca2-32… 2021-02-02 23:50:00 31aa5a18-2a4e-54…
##  6 cf3cfc49-d… tdr:tdr-fp-54… f58d690c-bb… 2021-02-02 23:50:00 48eea299-8823-5a…
##  7 cf3cfc49-d… tdr:tdr-fp-54… 21c4e2de-ec… 2021-02-02 23:50:00 51458973-404c-58…
##  8 cf3cfc49-d… tdr:tdr-fp-54… 50620c50-23… 2021-02-02 23:50:00 5bbebef4-9b14-50…
##  9 cf3cfc49-d… tdr:tdr-fp-54… e3ecdfc2-44… 2021-02-02 23:55:00 5bc232f2-b77c-52…
## 10 cf3cfc49-d… tdr:tdr-fp-54… ae338c4e-65… 2021-02-02 23:50:00 6326b602-0f63-54…
## 11 cf3cfc49-d… tdr:tdr-fp-54… d62c4599-47… 2020-02-03 01:00:00 7848d80b-6b1d-56…
## 12 cf3cfc49-d… tdr:tdr-fp-54… 81df106e-e7… 2021-02-02 23:55:00 9f8bc032-6276-57…
## 13 cf3cfc49-d… tdr:tdr-fp-54… 2838323c-cd… 2020-02-03 01:00:00 b98cfaac-64f5-59…
## 14 cf3cfc49-d… tdr:tdr-fp-54… c3f672ad-e6… 2021-02-02 23:50:00 bf7751ae-ac9d-5b…
## 15 cf3cfc49-d… tdr:tdr-fp-54… a9c90392-ca… 2020-02-03 01:00:00 c7b6470c-e2f0-51…
## 16 cf3cfc49-d… tdr:tdr-fp-54… 9d0f5cd1-0e… 2020-02-03 01:00:00 d0b95f2c-98ae-58…
## 17 cf3cfc49-d… tdr:tdr-fp-54… 59de15e1-f5… 2021-02-02 23:50:00 d18759a6-2a95-5d…
## 18 cf3cfc49-d… tdr:tdr-fp-54… 54fb0e25-57… 2021-02-02 23:55:00 dfd9905b-d6c9-5a…
## 19 cf3cfc49-d… tdr:tdr-fp-54… 7516565a-e8… 2021-02-02 23:55:00 e07ca731-b20a-5b…
## 20 cf3cfc49-d… tdr:tdr-fp-54… 8e850d2d-0b… 2021-02-02 23:50:00 fd41f3d6-7664-53…
## # … with 50 more variables: file_type <chr>, file_name <chr>,
## #   file_format <chr>, read_index <lgl>, file_size <dbl>, file_uuid <chr>,
## #   file_version <dttm>, file_crc32c <chr>, file_sha256 <chr>,
## #   file_content_type <chr>, file_drs_uri <chr>, file_url <chr>,
## #   cell_suspension.provenance.document_id <chr>,
## #   cell_suspension.biomaterial_core.biomaterial_id <chr>,
## #   cell_suspension.estimated_cell_count <lgl>, …
file_uuid <- "24a8a323-7ecd-504e-a253-b0e0892dd730"
file_filter <- hca::filters(
    fileId = list(is = file_uuid)
)

file_tbl <- hca::files(filters = file_filter)

file_tbl
## # A tibble: 1 × 8
##   fileId   name    fileFormat    size version projectTitle   projectId  url     
##   <chr>    <chr>   <chr>        <int> <chr>   <chr>          <chr>      <chr>   
## 1 24a8a32… t-cell… loom        3.90e8 2021-0… A single-cell… 4a95101c-… https:/…
file_location <-
    file_tbl |>
    hca::files_download()
file_location
##                       24a8a323-7ecd-504e-a253-b0e0892dd730-2021-02-11T19:00:05.000000Z 
## "/Users/biocbuild/Library/Caches/org.R-project.R/R/hca/fd5332e58e15_fd5332e58e15.loom"
loom <- LoomExperiment::import(file_location)
metadata(loom) |>
    dplyr::glimpse()
## List of 15
##  $ last_modified                                             : chr "20210211T185949.186062Z"
##  $ CreationDate                                              : chr "20210211T185658.758915Z"
##  $ LOOM_SPEC_VERSION                                         : chr "3.0.0"
##  $ donor_organism.genus_species                              : chr "Homo sapiens"
##  $ expression_data_type                                      : chr "exonic"
##  $ input_id                                                  : chr "58a18a4c-5423-4c59-9b3c-50b7f30b1ca5, c763f679-e13d-4f81-844f-c2c80fc90f46, c76d90b8-c190-4c58-b9bc-b31f586ec7f"| __truncated__
##  $ input_id_metadata_field                                   : chr "sequencing_process.provenance.document_id"
##  $ input_name                                                : chr "PP012_suspension, PP003_suspension, PP004_suspension, PP011_suspension"
##  $ input_name_metadata_field                                 : chr "sequencing_input.biomaterial_core.biomaterial_id"
##  $ library_preparation_protocol.library_construction_approach: chr "10X v2 sequencing"
##  $ optimus_output_schema_version                             : chr "1.0.0"
##  $ pipeline_version                                          : chr "Optimus_v4.2.2"
##  $ project.project_core.project_name                         : chr "HumanTissueTcellActivation"
##  $ project.provenance.document_id                            : chr "4a95101c-9ffc-4f30-a809-f04518a23803"
##  $ specimen_from_organism.organ                              : chr "hematopoietic system"
colData(loom) |>
    dplyr::as_tibble() |>
    dplyr::glimpse()
## Rows: 91,713
## Columns: 43
## $ CellID                                                 <chr> "GCTTCCATCACCGT…
## $ antisense_reads                                        <int> 0, 0, 0, 0, 0, …
## $ cell_barcode_fraction_bases_above_30_mean              <dbl> 0.9846281, 0.98…
## $ cell_barcode_fraction_bases_above_30_variance          <dbl> 0.003249023, 0.…
## $ cell_names                                             <chr> "GCTTCCATCACCGT…
## $ duplicate_reads                                        <int> 0, 0, 0, 0, 0, …
## $ emptydrops_FDR                                         <dbl> 1.000000000, 0.…
## $ emptydrops_IsCell                                      <raw> 00, 01, 00, 00,…
## $ emptydrops_Limited                                     <raw> 00, 01, 00, 00,…
## $ emptydrops_LogProb                                     <dbl> -689.6831, -120…
## $ emptydrops_PValue                                      <dbl> 0.91840816, 0.0…
## $ emptydrops_Total                                       <int> 255, 16705, 681…
## $ fragments_per_molecule                                 <dbl> 1.693252, 8.453…
## $ fragments_with_single_read_evidence                    <int> 504, 139828, 58…
## $ genes_detected_multiple_observations                   <int> 82, 2873, 1552,…
## $ genomic_read_quality_mean                              <dbl> 36.62988, 36.87…
## $ genomic_read_quality_variance                          <dbl> 25.99015, 20.19…
## $ genomic_reads_fraction_bases_quality_above_30_mean     <dbl> 0.8584288, 0.86…
## $ genomic_reads_fraction_bases_quality_above_30_variance <dbl> 0.03981779, 0.0…
## $ input_id                                               <chr> "58a18a4c-5423-…
## $ molecule_barcode_fraction_bases_above_30_mean          <dbl> 0.9820324, 0.98…
## $ molecule_barcode_fraction_bases_above_30_variance      <dbl> 0.005782884, 0.…
## $ molecules_with_single_read_evidence                    <int> 276, 5028, 2041…
## $ n_fragments                                            <int> 552, 202060, 84…
## $ n_genes                                                <int> 227, 3381, 1826…
## $ n_mitochondrial_genes                                  <int> 5, 22, 17, 5, 2…
## $ n_mitochondrial_molecules                              <int> 8, 3528, 2928, …
## $ n_molecules                                            <int> 326, 23902, 998…
## $ n_reads                                                <int> 679, 341669, 13…
## $ noise_reads                                            <int> 0, 0, 0, 0, 0, …
## $ pct_mitochondrial_molecules                            <dbl> 1.1782032, 1.03…
## $ perfect_cell_barcodes                                  <int> 667, 336674, 13…
## $ perfect_molecule_barcodes                              <int> 384, 227854, 89…
## $ reads_mapped_exonic                                    <int> 343, 210716, 84…
## $ reads_mapped_intergenic                                <int> 39, 19439, 8042…
## $ reads_mapped_intronic                                  <int> 175, 58833, 276…
## $ reads_mapped_multiple                                  <int> 162, 90968, 365…
## $ reads_mapped_too_many_loci                             <int> 0, 0, 0, 0, 0, …
## $ reads_mapped_uniquely                                  <int> 450, 227309, 93…
## $ reads_mapped_utr                                       <int> 55, 29289, 1039…
## $ reads_per_fragment                                     <dbl> 1.230072, 1.690…
## $ reads_unmapped                                         <int> 67, 23392, 9340…
## $ spliced_reads                                          <int> 99, 73817, 2987…

5 Example: Using manifest data to annotate a .loom file

The function optimus_loom_annotation() takes in the file path of a .loom file generated by the Optimus pipeline and returns a LoomExperiment object whose colData has been annotated with additional specimen data extracted from a manifest.

annotated_loom <- optimus_loom_annotation(file_location)
## requesting manifest
annotated_loom
## class: SingleCellLoomExperiment 
## dim: 58347 91713 
## metadata(16): last_modified CreationDate ...
##   specimen_from_organism.organ manifest
## assays(1): matrix
## rownames: NULL
## rowData names(29): Gene antisense_reads ... reads_per_molecule
##   spliced_reads
## colnames: NULL
## colData names(97): input_id CellID ...
##   sequencing_input.biomaterial_core.biomaterial_id
##   sequencing_input_type
## reducedDimNames(0):
## mainExpName: NULL
## altExpNames(0):
## rowGraphs(0): NULL
## colGraphs(0): NULL


## new metadata
setdiff(
    names(metadata(annotated_loom)),
    names(metadata(loom))
)
## [1] "manifest"
metadata(annotated_loom)$manifest
## # A tibble: 4 × 55
##   source_id   source_spec     bundle_uuid  bundle_version      file_document_id 
##   <chr>       <chr>           <chr>        <dttm>              <chr>            
## 1 cf3cfc49-d… tdr:tdr-fp-546… e3ecdfc2-44… 2021-02-02 23:55:00 5bc232f2-b77c-52…
## 2 cf3cfc49-d… tdr:tdr-fp-546… 81df106e-e7… 2021-02-02 23:55:00 9f8bc032-6276-57…
## 3 cf3cfc49-d… tdr:tdr-fp-546… 54fb0e25-57… 2021-02-02 23:55:00 dfd9905b-d6c9-5a…
## 4 cf3cfc49-d… tdr:tdr-fp-546… 7516565a-e8… 2021-02-02 23:55:00 e07ca731-b20a-5b…
## # … with 50 more variables: file_type <chr>, file_name <chr>,
## #   file_format <chr>, read_index <chr>, file_size <dbl>, file_uuid <chr>,
## #   file_version <dttm>, file_crc32c <chr>, file_sha256 <chr>,
## #   file_content_type <chr>, file_drs_uri <chr>, file_url <chr>,
## #   cell_suspension.provenance.document_id <chr>,
## #   cell_suspension.biomaterial_core.biomaterial_id <chr>,
## #   cell_suspension.estimated_cell_count <lgl>, …

## new colData columns
setdiff(
    names(colData(annotated_loom)),
    names(colData(loom))
)
##  [1] "source_id"                                                      
##  [2] "source_spec"                                                    
##  [3] "bundle_uuid"                                                    
##  [4] "bundle_version"                                                 
##  [5] "file_document_id"                                               
##  [6] "file_type"                                                      
##  [7] "file_name"                                                      
##  [8] "file_format"                                                    
##  [9] "read_index"                                                     
## [10] "file_size"                                                      
## [11] "file_uuid"                                                      
## [12] "file_version"                                                   
## [13] "file_crc32c"                                                    
## [14] "file_sha256"                                                    
## [15] "file_content_type"                                              
## [16] "file_drs_uri"                                                   
## [17] "file_url"                                                       
## [18] "cell_suspension.provenance.document_id"                         
## [19] "cell_suspension.biomaterial_core.biomaterial_id"                
## [20] "cell_suspension.estimated_cell_count"                           
## [21] "cell_suspension.selected_cell_type"                             
## [22] "sequencing_protocol.instrument_manufacturer_model"              
## [23] "sequencing_protocol.paired_end"                                 
## [24] "library_preparation_protocol.library_construction_approach"     
## [25] "library_preparation_protocol.nucleic_acid_source"               
## [26] "project.provenance.document_id"                                 
## [27] "project.contributors.institution"                               
## [28] "project.contributors.laboratory"                                
## [29] "project.project_core.project_short_name"                        
## [30] "project.project_core.project_title"                             
## [31] "specimen_from_organism.provenance.document_id"                  
## [32] "specimen_from_organism.diseases"                                
## [33] "specimen_from_organism.organ"                                   
## [34] "specimen_from_organism.organ_part"                              
## [35] "specimen_from_organism.preservation_storage.preservation_method"
## [36] "donor_organism.sex"                                             
## [37] "donor_organism.biomaterial_core.biomaterial_id"                 
## [38] "donor_organism.provenance.document_id"                          
## [39] "donor_organism.genus_species"                                   
## [40] "donor_organism.development_stage"                               
## [41] "donor_organism.diseases"                                        
## [42] "donor_organism.organism_age"                                    
## [43] "cell_line.provenance.document_id"                               
## [44] "cell_line.biomaterial_core.biomaterial_id"                      
## [45] "organoid.provenance.document_id"                                
## [46] "organoid.biomaterial_core.biomaterial_id"                       
## [47] "organoid.model_organ"                                           
## [48] "organoid.model_organ_part"                                      
## [49] "_entity_type"                                                   
## [50] "sample.provenance.document_id"                                  
## [51] "sample.biomaterial_core.biomaterial_id"                         
## [52] "sequencing_input.provenance.document_id"                        
## [53] "sequencing_input.biomaterial_core.biomaterial_id"               
## [54] "sequencing_input_type"

6 Session info

sessionInfo()
## R version 4.1.1 Patched (2021-08-22 r80813)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Mojave 10.14.6
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] hca_1.1.5                   LoomExperiment_1.11.1      
##  [3] BiocIO_1.3.0                rhdf5_2.37.3               
##  [5] SingleCellExperiment_1.15.2 SummarizedExperiment_1.23.5
##  [7] Biobase_2.53.0              GenomicRanges_1.45.0       
##  [9] GenomeInfoDb_1.29.8         IRanges_2.27.2             
## [11] S4Vectors_0.31.5            BiocGenerics_0.39.2        
## [13] MatrixGenerics_1.5.4        matrixStats_0.61.0         
## [15] dplyr_1.0.7                 BiocStyle_2.21.3           
## 
## loaded via a namespace (and not attached):
##  [1] httr_1.4.2             tidyr_1.1.4            sass_0.4.0            
##  [4] vroom_1.5.5            bit64_4.0.5            jsonlite_1.7.2        
##  [7] bslib_0.3.0            assertthat_0.2.1       BiocManager_1.30.16   
## [10] BiocFileCache_2.1.1    blob_1.2.2             GenomeInfoDbData_1.2.7
## [13] yaml_2.2.1             pillar_1.6.3           RSQLite_2.2.8         
## [16] lattice_0.20-45        glue_1.4.2             digest_0.6.28         
## [19] XVector_0.33.0         htmltools_0.5.2        Matrix_1.3-4          
## [22] pkgconfig_2.0.3        bookdown_0.24          zlibbioc_1.39.0       
## [25] purrr_0.3.4            HDF5Array_1.21.0       tzdb_0.1.2            
## [28] tibble_3.1.5           generics_0.1.0         ellipsis_0.3.2        
## [31] withr_2.4.2            cachem_1.0.6           cli_3.0.1             
## [34] magrittr_2.0.1         crayon_1.4.1           memoise_2.0.0         
## [37] evaluate_0.14          fansi_0.5.0            tools_4.1.1           
## [40] hms_1.1.1              formatR_1.11           lifecycle_1.0.1       
## [43] stringr_1.4.0          Rhdf5lib_1.15.2        DelayedArray_0.19.4   
## [46] lambda.r_1.2.4         compiler_4.1.1         jquerylib_0.1.4       
## [49] rlang_0.4.11           futile.logger_1.4.3    grid_4.1.1            
## [52] RCurl_1.98-1.5         rhdf5filters_1.5.0     rappdirs_0.3.3        
## [55] bitops_1.0-7           rmarkdown_2.11         DBI_1.1.1             
## [58] curl_4.3.2             R6_2.5.1               knitr_1.36            
## [61] fastmap_1.1.0          bit_4.0.4              utf8_1.2.2            
## [64] filelock_1.0.2         futile.options_1.0.1   readr_2.0.2           
## [67] stringi_1.7.5          parallel_4.1.1         Rcpp_1.0.7            
## [70] vctrs_0.3.8            dbplyr_2.1.1           tidyselect_1.1.1      
## [73] xfun_0.26