Using VisiumExperiment at spatialLIBD package

[This article was first published on rstats | LIBD rstats club, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

By Brenda Pardo

A month ago, I started an enriching adventure by joining Leonardo Collado-Torres’ team at Lieber Institute for Brain Development. Since then, I have been working on modifying spatialLIBD, a package to interactively visualize the LIBD human dorsolateral pre-frontal cortex (DLPFC) spatial transcriptomics data (Maynard, Collado-Torres, Weber, Uytingco, et al., 2020). The performed modifications allow spatialLIBD to use objects of the VisiumExperiment class, which is designed to specifically store spatial transcriptomics data (Righelli and Risso, 2020). In this blog post, I describe the changes we carried out to the package and happily share a piece of my journey through my research internship at LIBD.

Starting internship at Lieber Institute

As part of the Genomic Sciences undergraduate program at Universidad Nacional Autónoma de México (UNAM), I attended a single cell data analysis course imparted by Leo Collado. During the sessions, I found quite fun and useful programming in R and decided I wanted to go deeper into the use of this programming language. My interest was enhanced when Leo highlighted in the CDSB Workshop 2020, we could not just be R users but developers, and generate helpful tools for biological data analysis. With this motivation, I reached out to Leo, and that’s how the adventure started: I joined Leonardo Collado’s team at LIBD, and my research internship was inaugurated with this tweet.

Since then, I have been working with Leo on adapting the package spatialLIBD to use R objects structured specifically to store spatial transcriptomics data. This is work that I’ve been doing part-time while also attending the third 1 year classes at LCG-UNAM-EJ.

via GIPHY

What is spatialLIBD?

Spatial transcriptomics allows to know the transcriptome of a small group of cells in a tissue sample, and to map the exact location of the cells with that expression profile. This technology has generated the need for tools to visualize the data produced by it. spatialLIBD is a Bioconductor package to interactively inspect the DLPFC spatial transcriptomics 10x Genomics Visium data from Maynard, Collado-Torres et al, 2020 analyzed by LIBD researchers and collaborators.

It contains functions for:

  1. accessing the spatial transcriptomics data,
  2. visualizing the spot-level spatial gene expression data and clusters, and
  3. inspecting the data interactively either on the user’s computer or through a web application.

The spatialLIBD package used to employ R objects from the SingleCellExperiment class to store the data, nevertheless Righelli et al created a more accurate class, VisiumExperiment, for this data. This class is in the package SpatialExperiment.

The VisiumExperiment class

The VisiumExperiment class inherits from the SingleCellExperiment class, however, it includes new attributes and methods that allow optimal accommodation of the spatial transcriptomics data. It contains specific slots to store:

  • The spatial coordinates for each small group of cells (contained in a spot).
  • The paths to the tissue images.
  • Information about which spots are covered by tissue.
  • The scale factors to know the location of the spots in pixels.

and methods to set and retrieve the information contained in these slots.

Now that I have introduced the context, I can start relating my task: to adapt the set of functions that make up spatialLIBD so that they could work with VisiumExperiment objects. And now, I’ll drive you through the updates.

Before starting, remember to install spatialLIBD by using the following commands in your R session.

if (!requireNamespace("BiocManager", quietly = TRUE)) {
      install.packages("BiocManager")
  }

BiocManager::install("spatialLIBD")

Now, please load the package.

library("spatialLIBD")

Downloading DLPFC data contained in a VisiumExperiment object

Let’s start with the function fetch_data(), which was previously designed to retrieve a SingleCellExperiment object called sce, containing DLPFC spatial transcriptomics data. With our updates, the function is able to return ve, an object belonging to the VisiumExperiment class, by calling a new function sce_to_ve(), that takes data from sce and rearranges it to the structure of the VisiumExperiment class (defined by Righelli et al).

Below, we obtain ve.

## Download ve object
ve <- fetch_data(type = "ve")
## snapshotDate(): 2020-10-02
## 2020-11-09 14:59:36 loading file /Users/lcollado/Library/Caches/BiocFileCache/c4f432e69d6_Human_DLPFC_Visium_processedData_sce_scran_spatialLIBD.Rdata%3Fdl%3D1

And once we downloaded the object, we can explore it

ve
## class: VisiumExperiment 
## dim: 33538 47681 
## metadata(0):
## assays(2): counts logcounts
## rownames(33538): ENSG00000243485 ENSG00000237613 ... ENSG00000277475
##   ENSG00000268674
## rowData names(9): source type ... gene_search is_top_hvg
## colnames(47681): AAACAACGAATAGTTC-1 AAACAAGTATCTCCCA-1 ...
##   TTGTTTCCATACAACT-1 TTGTTTGTGTAAATTC-1
## colData names(66): Cluster height ... pseudobulk_UMAP_spatial
##   markers_UMAP_spatial
## reducedDimNames(6): PCA TSNE_perplexity50 ... TSNE_perplexity80
##   UMAP_neighbors15
## altExpNames(0):
## spatialCoordinates(7): Cell_ID sample_name ... pxl_row_in_fullres
##   pxl_col_in_fullres
## inTissue(1): 47681
## imagePaths(12):
##   /Users/lcollado/Library/Caches/BiocFileCache/c4f3c2dc99_151507_tissue_lowres_image.png
##   /Users/lcollado/Library/Caches/BiocFileCache/c4f6e20c2bc_151508_tissue_lowres_image.png
##   ...
##   /Users/lcollado/Library/Caches/BiocFileCache/c4f2196b8e6_151675_tissue_lowres_image.png
##   /Users/lcollado/Library/Caches/BiocFileCache/c4f2e451544_151676_tissue_lowres_image.png

Observe that our ve object is a bit more complex than a regular VisiumExperiment one because it contains multiple samples, and as a consequence, multiple images. This has an impact on the arrangement we made for part of the data.

Storing and retrieving scale factors from a VisiumExperiment object

As previously mentioned, there is a new slot in VisiumExperiment class created to store the values to convert spots coordinates into pixels named scaleFactors. This slot has a storage limitation: it has to contain a list with the exact names for the four scale factors for a given sample (tissue_lowres_scalef, fiducial_diameter_fullres, tissue_hires_scalef, spot_diameter_fullres). Given that in DLFPC data we do not have just one, but multiple samples, we decided to create a list with the required four scale factors names, but also a fifth slot with the full list of scale factors for all our samples, and it looks like this:

## Get scale factors
facs <- SpatialExperiment::scaleFactors(ve)

## "current" scale factors
facs[1:4]
## $spot_diameter_fullres
## [1] 96.37511
## 
## $tissue_hires_scalef
## [1] 0.150015
## 
## $fiducial_diameter_fullres
## [1] 144.5627
## 
## $tissue_lowres_scalef
## [1] 0.0450045
## Data for the rest of the 12 images
class(facs[5])
## [1] "list"
length(facs[[5]])
## [1] 12

In addition, we created a function called update_scaleFactors() that generates a VisiumExperiment object with updated scale factors for a given input sample ID in case the user wants uniquely a set of scale factors.

Visualizing the histology image from a VisiumExperiment object

Now let’s talk about the new location of the histology images in ve and how to display them. The object sce has a tibble in its metadata slot that contains a grob for each sample image. In contrast, ve has a list of image paths contained in the imagePath slot.

Downloading the histology images

VisiumExperiment class validity code checks that the image files, whose paths are in imagePaths, exist locally instead of being available remotely through a URL. Thus, we decided to download the images at the moment the ve object is created; this process happens in our function sce_to_ve.

The geom_spatial() function

For visualizing the histology image from visium, the function geom_spatial() was previously created. To do this, it defines a [ggplot2::layer()] , taking the information from the metadata tibble of the sce object. In order to make geom_spatial() available to use ve as an input, we created a novel function read_image() that takes the image path of the desired samples, creates the grobs and puts them on a tibble.

Here you can observe an example of the usage of these functions.

## Extract data from a sample (with ID 151507)
sample_id <- "151507"
ve_sub <- ve[, SpatialExperiment::spatialCoords(ve)$sample_name == sample_id]
sample_df <- as.data.frame(SpatialExperiment::spatialCoords(ve_sub))

## Plot with geom_spatial
ggplot2::ggplot(
    sample_df,
    ggplot2::aes(
        x = imagecol,
        y = imagerow,
    )
) +
geom_spatial(
    data = read_image(ve_sub, sample_id),
    ggplot2::aes(grob = grob),
    x = 0.5,
    y = 0.5
)

Making other functions compatible with VisiumExperiment class

Other functions just like sce_image_gene(), sce_image_clus(), sce_imge_grid() and sce_image_grid_gene() access the column containing the sample IDs, which is located in different slots depending on the object class. For sce, sample_name is in colData slot, and for ve it is in the spatialCoords slot. Hence, conditionals evaluating the object class were added in order to access the information correctly.

Finally, the sce_image_clus_p() and sce_image_gene_p() functions also had important modifications. They visualize the gene expression (or any continuous variable) and clusters for one given sample at the spot-level using the histology information on the background; both functions receive a data frame with information residing in colData of the object sce, including the spatial coordinates. Given the VisiumExperiment object ve contains spatial coordinates in spatialCoords slot, a function called ve_image_colData() was created in order to generate the data frame by joining the required columns for the input for the functions sce_image_clus_p() and sce_image_gene_p().

An example of how these functions can accept the VisiumExperiment object is shown here:

## Use the data previously extracted for a sample 
## Prepare the data for the plotting function
df <- colData(ve_sub)
df$COUNT <- df$expr_chrM_ratio

sce_image_gene_p(
    sce = ve_sub,
    d = df,
    sampleid = sample_id,
    title = "151507 chrM expr ratio",
    spatial = FALSE
)

Although the goal is that the end user won’t need to use these lower-level functions and can just run code like this with our original SingleCellExperiment objects as well as the new VisiumExperiment objects:

sce_image_gene(
    sce = ve_sub,
    sampleid = sample_id,
    spatial = TRUE
)

Wrapping up

And that’s it, those are the main modifications the package went through to accept our VisiumExperiment object. These changes are part of Bioconductor 3.12 that was just recently released, so you can try them out!

I could make a long list of things that I have learned and gained during the process, but I will briefly summarize it. Firstly, I had so much fun coding in R, I got very familiar with the programming language and started feeling like a fish in the water. Secondly, I learned how to write R packages and found it quite useful to order code and document it. And lastly, I acquired a set of skills and good habits to organize my code and projects in R. I want to emphasize that, an element of great importance to this learning and growth process is having a mentor who is enthusiastic about sharing knowledge, always attentive and patient with the student. All his teaching has driven and inspired me to program and enjoy while doing it. Undoubtedly, the road continues and there is much to continue learning!

via GIPHY

Future Plans?

I’m looking forward to learning more about data analysis while working with 10x Genomics Visium data with Leo and colleagues at LIBD. All while potentially working on more R packages as I keep learning new skills that will help me join grad school programs. In the meantime, I’m going to apply to present these updates at EuroBioC2020 and would love to meet you there!

Thanks for reading this post and you are welcome to keep exploring spatialLIBD and the DLPFC data.

via GIPHY

References

[1] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.10. 2020. URL: https://github.com/cboettig/knitcitations.

[2] G. Csárdi, R. core, H. Wickham, W. Chang, et al. sessioninfo: R Session Information. R package version 1.1.1. 2018. URL: https://CRAN.R-project.org/package=sessioninfo.

[3] K. R. Maynard, L. Collado-Torres, L. M. Weber, C. Uytingco, et al. “Transcriptome-scale spatial gene expression in the human dorsolateral prefrontal cortex”. In: bioRxiv (2020). DOI: 10.1101/2020.02.28.969931. URL: https://www.biorxiv.org/content/10.1101/2020.02.28.969931v1.

[4] A. Oleś, M. Morgan, and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.18.0. 2020. URL: https://github.com/Bioconductor/BiocStyle.

[5] D. Righelli and D. Risso. SpatialExperiment: S4 Class for Spatial Experiments handling. R package version 1.0.0. 2020.

[6] Y. Xie, A. P. Hill, and A. Thomas. blogdown: Creating Websites with R Markdown. ISBN 978-0815363729. Boca Raton, Florida: Chapman and Hall/CRC, 2017. URL: https://github.com/rstudio/blogdown.

Reproducibility

## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
##  setting  value                       
##  version  R version 4.0.3 (2020-10-10)
##  os       macOS Catalina 10.15.7      
##  system   x86_64, darwin17.0          
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  ctype    en_US.UTF-8                 
##  tz       America/New_York            
##  date     2020-11-09                  
## 
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
##  package                * version  date       lib source                                 
##  AnnotationDbi            1.52.0   2020-10-27 [1] Bioconductor                           
##  AnnotationHub            2.22.0   2020-10-27 [1] Bioconductor                           
##  assertthat               0.2.1    2019-03-21 [1] CRAN (R 4.0.2)                         
##  attempt                  0.3.1    2020-05-03 [1] CRAN (R 4.0.2)                         
##  backports                1.2.0    2020-11-02 [1] CRAN (R 4.0.3)                         
##  beachmat                 2.6.0    2020-10-27 [1] Bioconductor                           
##  beeswarm                 0.2.3    2016-04-25 [1] CRAN (R 4.0.2)                         
##  benchmarkme              1.0.4    2020-05-09 [1] CRAN (R 4.0.2)                         
##  benchmarkmeData          1.0.4    2020-04-23 [1] CRAN (R 4.0.2)                         
##  Biobase                * 2.50.0   2020-10-27 [1] Bioconductor                           
##  BiocFileCache            1.14.0   2020-10-27 [1] Bioconductor                           
##  BiocGenerics           * 0.36.0   2020-10-27 [1] Bioconductor                           
##  BiocManager              1.30.10  2019-11-16 [1] CRAN (R 4.0.2)                         
##  BiocNeighbors            1.8.0    2020-10-27 [1] Bioconductor                           
##  BiocParallel             1.24.0   2020-10-27 [1] Bioconductor                           
##  BiocSingular             1.6.0    2020-10-27 [1] Bioconductor                           
##  BiocStyle              * 2.18.0   2020-10-27 [1] Bioconductor                           
##  BiocVersion              3.12.0   2020-05-14 [1] Bioconductor                           
##  bit                      4.0.4    2020-08-04 [1] CRAN (R 4.0.2)                         
##  bit64                    4.0.5    2020-08-30 [1] CRAN (R 4.0.2)                         
##  bitops                   1.0-6    2013-08-17 [1] CRAN (R 4.0.2)                         
##  blob                     1.2.1    2020-01-20 [1] CRAN (R 4.0.2)                         
##  blogdown               * 0.21     2020-10-11 [1] CRAN (R 4.0.3)                         
##  bmp                      0.3      2017-09-11 [1] CRAN (R 4.0.2)                         
##  bookdown                 0.21     2020-10-13 [1] CRAN (R 4.0.3)                         
##  cli                      2.1.0    2020-10-12 [1] CRAN (R 4.0.2)                         
##  codetools                0.2-16   2018-12-24 [1] CRAN (R 4.0.3)                         
##  colorout                 1.2-2    2020-11-03 [1] Github (jalvesaq/[email protected])     
##  colorspace               1.4-1    2019-03-18 [1] CRAN (R 4.0.2)                         
##  config                   0.3      2018-03-27 [1] CRAN (R 4.0.2)                         
##  cowplot                  1.1.0    2020-09-08 [1] CRAN (R 4.0.2)                         
##  crayon                   1.3.4    2017-09-16 [1] CRAN (R 4.0.2)                         
##  curl                     4.3      2019-12-02 [1] CRAN (R 4.0.1)                         
##  data.table               1.13.2   2020-10-19 [1] CRAN (R 4.0.2)                         
##  DBI                      1.1.0    2019-12-15 [1] CRAN (R 4.0.2)                         
##  dbplyr                   2.0.0    2020-11-03 [1] CRAN (R 4.0.3)                         
##  DelayedArray             0.16.0   2020-10-27 [1] Bioconductor                           
##  DelayedMatrixStats       1.12.0   2020-10-27 [1] Bioconductor                           
##  desc                     1.2.0    2018-05-01 [1] CRAN (R 4.0.2)                         
##  digest                   0.6.27   2020-10-24 [1] CRAN (R 4.0.2)                         
##  dockerfiler              0.1.3    2019-03-19 [1] CRAN (R 4.0.2)                         
##  doParallel               1.0.16   2020-10-16 [1] CRAN (R 4.0.2)                         
##  dotCall64                1.0-0    2018-07-30 [1] CRAN (R 4.0.2)                         
##  dplyr                    1.0.2    2020-08-18 [1] CRAN (R 4.0.2)                         
##  DT                       0.16     2020-10-13 [1] CRAN (R 4.0.2)                         
##  ellipsis                 0.3.1    2020-05-15 [1] CRAN (R 4.0.2)                         
##  evaluate                 0.14     2019-05-28 [1] CRAN (R 4.0.1)                         
##  ExperimentHub            1.16.0   2020-10-27 [1] Bioconductor                           
##  fansi                    0.4.1    2020-01-08 [1] CRAN (R 4.0.2)                         
##  farver                   2.0.3    2020-01-16 [1] CRAN (R 4.0.2)                         
##  fastmap                  1.0.1    2019-10-08 [1] CRAN (R 4.0.2)                         
##  fields                   11.6     2020-10-09 [1] CRAN (R 4.0.2)                         
##  foreach                  1.5.1    2020-10-15 [1] CRAN (R 4.0.2)                         
##  fs                       1.5.0    2020-07-31 [1] CRAN (R 4.0.2)                         
##  generics                 0.1.0    2020-10-31 [1] CRAN (R 4.0.2)                         
##  GenomeInfoDb           * 1.26.0   2020-10-27 [1] Bioconductor                           
##  GenomeInfoDbData         1.2.4    2020-11-03 [1] Bioconductor                           
##  GenomicRanges          * 1.42.0   2020-10-27 [1] Bioconductor                           
##  ggbeeswarm               0.6.0    2017-08-07 [1] CRAN (R 4.0.2)                         
##  ggplot2                  3.3.2    2020-06-19 [1] CRAN (R 4.0.2)                         
##  glue                     1.4.2    2020-08-27 [1] CRAN (R 4.0.2)                         
##  golem                    0.2.1    2020-03-05 [1] CRAN (R 4.0.2)                         
##  gridExtra                2.3      2017-09-09 [1] CRAN (R 4.0.2)                         
##  gtable                   0.3.0    2019-03-25 [1] CRAN (R 4.0.2)                         
##  htmltools                0.5.0    2020-06-16 [1] CRAN (R 4.0.2)                         
##  htmlwidgets              1.5.2    2020-10-03 [1] CRAN (R 4.0.2)                         
##  httpuv                   1.5.4    2020-06-06 [1] CRAN (R 4.0.2)                         
##  httr                     1.4.2    2020-07-20 [1] CRAN (R 4.0.2)                         
##  interactiveDisplayBase   1.28.0   2020-10-27 [1] Bioconductor                           
##  IRanges                * 2.24.0   2020-10-27 [1] Bioconductor                           
##  irlba                    2.3.3    2019-02-05 [1] CRAN (R 4.0.2)                         
##  iterators                1.0.13   2020-10-15 [1] CRAN (R 4.0.2)                         
##  jpeg                     0.1-8.1  2019-10-24 [1] CRAN (R 4.0.2)                         
##  jsonlite                 1.7.1    2020-09-07 [1] CRAN (R 4.0.2)                         
##  knitcitations          * 1.0.10   2020-11-03 [1] Github (cboettig/[email protected])
##  knitr                    1.30     2020-09-22 [1] CRAN (R 4.0.2)                         
##  labeling                 0.4.2    2020-10-20 [1] CRAN (R 4.0.2)                         
##  later                    1.1.0.1  2020-06-05 [1] CRAN (R 4.0.2)                         
##  lattice                  0.20-41  2020-04-02 [1] CRAN (R 4.0.3)                         
##  lazyeval                 0.2.2    2019-03-15 [1] CRAN (R 4.0.2)                         
##  lifecycle                0.2.0    2020-03-06 [1] CRAN (R 4.0.2)                         
##  lubridate                1.7.9    2020-06-08 [1] CRAN (R 4.0.2)                         
##  magrittr                 1.5      2014-11-22 [1] CRAN (R 4.0.2)                         
##  maps                     3.3.0    2018-04-03 [1] CRAN (R 4.0.2)                         
##  Matrix                   1.2-18   2019-11-27 [1] CRAN (R 4.0.3)                         
##  MatrixGenerics         * 1.2.0    2020-10-27 [1] Bioconductor                           
##  matrixStats            * 0.57.0   2020-09-25 [1] CRAN (R 4.0.2)                         
##  memoise                  1.1.0    2017-04-21 [1] CRAN (R 4.0.2)                         
##  mime                     0.9      2020-02-04 [1] CRAN (R 4.0.2)                         
##  munsell                  0.5.0    2018-06-12 [1] CRAN (R 4.0.2)                         
##  pillar                   1.4.6    2020-07-10 [1] CRAN (R 4.0.2)                         
##  pkgconfig                2.0.3    2019-09-22 [1] CRAN (R 4.0.2)                         
##  pkgload                  1.1.0    2020-05-29 [1] CRAN (R 4.0.2)                         
##  plotly                   4.9.2.1  2020-04-04 [1] CRAN (R 4.0.2)                         
##  plyr                     1.8.6    2020-03-03 [1] CRAN (R 4.0.2)                         
##  png                      0.1-7    2013-12-03 [1] CRAN (R 4.0.2)                         
##  Polychrome               1.2.5    2020-03-29 [1] CRAN (R 4.0.2)                         
##  promises                 1.1.1    2020-06-09 [1] CRAN (R 4.0.2)                         
##  purrr                    0.3.4    2020-04-17 [1] CRAN (R 4.0.2)                         
##  R6                       2.5.0    2020-10-28 [1] CRAN (R 4.0.2)                         
##  rappdirs                 0.3.1    2016-03-28 [1] CRAN (R 4.0.2)                         
##  RColorBrewer             1.1-2    2014-12-07 [1] CRAN (R 4.0.2)                         
##  Rcpp                     1.0.5    2020-07-06 [1] CRAN (R 4.0.2)                         
##  RCurl                    1.98-1.2 2020-04-18 [1] CRAN (R 4.0.2)                         
##  readbitmap               0.1.5    2018-06-27 [1] CRAN (R 4.0.2)                         
##  RefManageR               1.3.0    2020-11-03 [1] Github (ropensci/[email protected])   
##  remotes                  2.2.0    2020-07-21 [1] CRAN (R 4.0.2)                         
##  rlang                    0.4.8    2020-10-08 [1] CRAN (R 4.0.2)                         
##  rmarkdown                2.5      2020-10-21 [1] CRAN (R 4.0.3)                         
##  roxygen2                 7.1.1    2020-06-27 [1] CRAN (R 4.0.2)                         
##  rprojroot                1.3-2    2018-01-03 [1] CRAN (R 4.0.2)                         
##  RSQLite                  2.2.1    2020-09-30 [1] CRAN (R 4.0.2)                         
##  rstudioapi               0.11     2020-02-07 [1] CRAN (R 4.0.2)                         
##  rsvd                     1.0.3    2020-02-17 [1] CRAN (R 4.0.2)                         
##  S4Vectors              * 0.28.0   2020-10-27 [1] Bioconductor                           
##  scales                   1.1.1    2020-05-11 [1] CRAN (R 4.0.2)                         
##  scater                   1.18.0   2020-10-27 [1] Bioconductor                           
##  scatterplot3d            0.3-41   2018-03-14 [1] CRAN (R 4.0.2)                         
##  scuttle                  1.0.0    2020-10-27 [1] Bioconductor                           
##  sessioninfo            * 1.1.1    2018-11-05 [1] CRAN (R 4.0.2)                         
##  shiny                    1.5.0    2020-06-23 [1] CRAN (R 4.0.2)                         
##  shinyWidgets             0.5.4    2020-10-06 [1] CRAN (R 4.0.2)                         
##  SingleCellExperiment   * 1.12.0   2020-10-27 [1] Bioconductor                           
##  spam                     2.5-1    2019-12-12 [1] CRAN (R 4.0.2)                         
##  sparseMatrixStats        1.2.0    2020-10-27 [1] Bioconductor                           
##  SpatialExperiment        1.0.0    2020-10-27 [1] Bioconductor                           
##  spatialLIBD            * 1.2.0    2020-10-29 [1] Bioconductor                           
##  stringi                  1.5.3    2020-09-09 [1] CRAN (R 4.0.2)                         
##  stringr                  1.4.0    2019-02-10 [1] CRAN (R 4.0.2)                         
##  SummarizedExperiment   * 1.20.0   2020-10-27 [1] Bioconductor                           
##  testthat                 3.0.0    2020-10-31 [1] CRAN (R 4.0.2)                         
##  tibble                   3.0.4    2020-10-12 [1] CRAN (R 4.0.2)                         
##  tidyr                    1.1.2    2020-08-27 [1] CRAN (R 4.0.2)                         
##  tidyselect               1.1.0    2020-05-11 [1] CRAN (R 4.0.2)                         
##  tiff                     0.1-5    2013-09-04 [1] CRAN (R 4.0.2)                         
##  usethis                  1.6.3    2020-09-17 [1] CRAN (R 4.0.2)                         
##  vctrs                    0.3.4    2020-08-29 [1] CRAN (R 4.0.2)                         
##  vipor                    0.4.5    2017-03-22 [1] CRAN (R 4.0.2)                         
##  viridis                  0.5.1    2018-03-29 [1] CRAN (R 4.0.2)                         
##  viridisLite              0.3.0    2018-02-01 [1] CRAN (R 4.0.1)                         
##  withr                    2.3.0    2020-09-22 [1] CRAN (R 4.0.2)                         
##  xfun                     0.19     2020-10-30 [1] CRAN (R 4.0.2)                         
##  xml2                     1.3.2    2020-04-23 [1] CRAN (R 4.0.2)                         
##  xtable                   1.8-4    2019-04-21 [1] CRAN (R 4.0.2)                         
##  XVector                  0.30.0   2020-10-28 [1] Bioconductor                           
##  yaml                     2.2.1    2020-02-01 [1] CRAN (R 4.0.2)                         
##  zlibbioc                 1.36.0   2020-10-28 [1] Bioconductor                           
## 
## [1] /Library/Frameworks/R.framework/Versions/4.0/Resources/library

  1. I believe that it’s the junior year in the US.↩︎

To leave a comment for the author, please follow the link and comment on their blog: rstats | LIBD rstats club.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.