--- title: "chevreulShiny" author: - name: Kevin Stachelek affiliation: - University of Southern California email: kevin.stachelek@gmail.com - name: Bhavana Bhat affiliation: - University of Southern California email: bbhat@usc.edu output: BiocStyle::html_document: self_contained: yes toc: true toc_float: true toc_depth: 2 code_folding: show date: "`r doc_date()`" package: "`r pkg_ver('chevreulShiny')`" vignette: > %\VignetteIndexEntry{Preprocessing} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", dpi = 900, out.width = "100%", message = FALSE, warning = FALSE, crop = NULL) ## Related to https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016656.html ``` # Basics ## Install `chevreulShiny` `R` is an open-source statistical environment which can be easily modified to enhance its functionality via packages. `r Biocpkg("chevreulShiny")` is a `R` package available via the [Bioconductor](http://bioconductor.org) repository for packages. `R` can be installed on any operating system from [CRAN](https://cran.r-project.org/) after which you can install `r Biocpkg("chevreulShiny")` by using the following commands in your `R` session: ```{r "install", eval = FALSE} if (!requireNamespace("BiocManager", quietly = TRUE)) { install.packages("BiocManager") } BiocManager::install("chevreulShiny") ``` ## Required knowledge The `r Biocpkg("chevreulShiny")` package is designed for single-cell RNA sequencing data. The functions included within this package are derived from other packages that have implemented the infrastructure needed for RNA-seq data processing and analysis. Packages that have been instrumental in the development of `r Biocpkg("chevreulShiny")` include, `Biocpkg("SummarizedExperiment")` and `Biocpkg("scater")`. ## Asking for help `R` and `Bioconductor` have a steep learning curve so it is critical to learn where to ask for help. The [Bioconductor support site](https://support.bioconductor.org/) is the main resource for getting help: remember to use the `chevreulShiny` tag and check [the older posts](https://support.bioconductor.org/tag/chevreulShiny/). # Quick start to using `chevreulShiny` The `chevreulShiny` package contains a shiny app for easy visualization and analysis of scRNA data. `chevreulShiny` uses SingleCellExperiment (SCE) object type (from `r Biocpkg("SingleCellExperiment")`) to store expression and other metadata from single-cell experiments. This package features functions capable of: * Performing Clustering at a range of resolutions and Dimensional reduction of Raw Sequencing Data. * Visualizing scRNA data using different plotting functions. * Integration of multiple datasets for consistent analyses. * Cell cycle state regression and labeling. ```{r, message=FALSE} library("chevreulShiny") # Load the data data("small_example_dataset") ``` ## Shiny app chevreulShiny includes a shiny app for exploratory scRNA data analysis and visualization which can be accessed via ```{r "start", message=FALSE, eval = FALSE} minimalChevreulApp(small_example_dataset) ``` Note: the SCE object must be pre-processed and integrated (if required) prior to running the shiny app. This package includes a set of Shiny apps for interactive exploration of single cell RNA sequencing (scRNA-seq) datasets processed as SingleCellExperiments A demo with a developing human retina scRNA-seq dataset from Shayler et al. is available here chevreulShiny includes tools for: - Interactive data analysis and visualization ## Installation instructions chevreulShiny depends on a minimum R version 4.4. The current chevreulShiny loads two [Bioconductor](http://bioconductor.org/) dependencies 1. [`chevreulProcess`](https://github.com/cobriniklab/chevreulProcess) 2. [`chevreulPlot`](https://github.com/cobriniklab/chevreulPlot) These enable standardized processing, plotting of SingleCellExperiments, respectively. ### Troubleshooting installation #### Dependency management When installing an R package like chevreulShiny with many dependencies, conflicts with existing installations can arise. This is a common issue in R package management. Here are some strategies to address this problem: 1. Consider renv for dependency management. This tool creates isolated environments for each project, ensuring that package versions don't conflict across different projects. 2. Use the conflicted Package The conflicted package provides an alternative conflict resolution strategy. It makes every conflict an error, forcing you to choose which function to use #### Slow internet connection When installing R packages on slow internet connections, several issues can arise, particularly with larger packages or when using functions like remotes::install_github(). Here are some strategies to address bandwidth-related problems: Set a longer timeout for downloads: `options(timeout = 9999999)` Specify the download method: `options(download.file.method = "libcurl")` ## Hardware requirements Recommended minimum hardware requirements for running chevreulShiny are as follows: - RAM: A minimum of 16 GB RAM is recommended for initial analysis. However, for larger datasets or more complex analyses, 64 GB or more is advisable. - CPU: Having multiple cores can be beneficial for parallel processing. - Storage: Sufficient storage space is necessary, especially for temporary files. The exact amount depends on the size of your datasets - R Version: Chevruel requires R version 4.4 or greater It's important to note that these requirements can vary based on the size and complexity of your dataset. As the number of cells increases, so do the hardware requirements. For instance: A dataset with around 8,000 cells can be analyzed with 8 GB of RAM. For larger datasets or more complex analyses, 64-128 GB of RAM can be beneficial. ## Learn More To learn more about the usage of Bioconductor tools for single-cell RNA-seq analysis. Consult the book Orchestrating Single-Cell Analysis with Bioconductor. The book walks through common workflows for the analysis of single-cell RNA-seq data (scRNA-seq). This book will show you how to make use of cutting-edge Bioconductor tools to process, analyze, visualize, and explore scRNA-seq data `R` session information. ```{r reproduce3, echo=FALSE} ## Session info options(width = 120) sessionInfo() ```