Introduction
This book provides interactive examples of computational analysis workflows for spatially-resolved transcriptomics data using the Bioconductor framework within the R programming language.
Contents
Chapters are organized into several parts:
Introduction: introduction, background, and R/Bioconductor data classes
Analysis steps: chapters on individual analysis steps
Workflows: complete workflows for several example datasets
Appendix: related resources, contributors and acknowledgments, and references
Who this book is for
Overall, the aim of this book is to interactively demonstrate analysis workflows at a sufficient level of detail that allows readers to get started with analyzing spatially-resolved transcriptomics data and to adapt or extend these workflows to their own datasets. While we will showcase a number of methods available through Bioconductor or CRAN for individual analysis steps, we do not intend to provide a comprehensive review of all available methods for each step.
This book is intended for readers who have some experience with R, but does not necessarily assume familiarity with Bioconductor. The examples and workflows include R code required to download data, set up data objects, perform analyses, and visualize results.
For readers who are new to R and Bioconductor, additional useful resources include:
The Orchestrating Single-Cell Analysis with Bioconductor (OSCA) book (Amezquita et al. 2019), which contains comprehensive resources on analysis workflows for single-cell data, as well as additional introductory material on R and Bioconductor.
The R for Data Science online book provides an excellent introduction to R.
Data Carpentry and Software Carpentry provide online lesson materials on R programming, the Unix shell, and version control.
The R/Bioconductor Data Science Team at LIBD has a detailed guide of free resources and videos to learn more about R and Bioconductor, as well as YouTube videos and LIBD rstats club sessions, including some on the basics of Bioconductor and infrastructure for storing gene expression data.
Additional details on data preprocessing procedures for spatially-resolved transcriptomics data from the 10x Genomics Visium platform are provided in the following online book (using tools outside R and Bioconductor):
Bioconductor
Bioconductor is an open source and open development project, providing a cohesive and flexible framework for analyzing high-throughput genomic data in R (Huber et al. 2015). The Bioconductor project consists of more than 2,000 contributed R packages, as well as core infrastructure maintained by the Bioconductor Core Team, providing a rich analysis environment for users.
One of the main advantages of Bioconductor is the modularity and open development philosophy. R packages are contributed by numerous research groups, with the Bioconductor Core Team coordinating the overall project and maintaining core infrastructure, build testing, and development guidelines. A key feature is that contributed packages use consistent data structures, enabling users to integrate packages into analysis workflows. Bioconductor packages also include comprehensive documentation, including long-form tutorials or vignettes.
This modular and open development approach allows data analysts to build analysis workflows that integrate the latest state-of-the-art methods developed by research groups around the world. Any research group can contribute new packages to Bioconductor by following the contribution guidelines provided on the Bioconductor website.
Contributions
We welcome suggestions for updates to the analysis and workflow chapters. Suggestions may be provided as GitHub issues.
All methods included in the code examples must be available as R packages from either Bioconductor or CRAN. This ensures compatibility with the existing workflows and provides users with guarantees regarding ease of installation, long-term availability, stability, and maintenance through the Bioconductor or CRAN systems. By following this strategy, we aim to showcase key methods for individual analysis steps and demonstrate flexible analysis workflows at a sufficient level of detail to enable readers to adapt or extend these workflows to their own datasets.
Additional methods (e.g. available from GitHub) may also be described within the analysis chapters, but these methods will not be included in the code examples. Methods available as pip
installable Python packages will also be integrated into the examples in future updates using reticulate.