This is the standalone version of Cerebro, cell report browser, (currently available for macOS and Windows) which allows users to interactively visualize various parts of single cell transcriptomics data without requiring bioinformatic expertise.
The core is the cerebroApp Shiny application which is bottled into a standalone app using Electron. Therefore, it can also be run on web servers and Linux machines, requiring only R and a set of dependencies.
Input data needs to be prepared using the cerebroPrepare R package which was built specifically for this purpose.
It offers functionality to export a Seurat object (both v2 and v3 are supported) to the correct format in a single step.
The file should be saved either with the
.crb extension, indicating that internally it is an RDS object.
Furthermore, the cerebroPrepare package also provides functions to perform a set of (optional) analyses, e.g. pathway enrichment analysis based on marker gene lists of groups of cells.
.crb file is then loaded into Cerebro and shows all available information.
- Interactive 2D and 3D dimensional reductions.
- Sample and cluster overview panels.
- Tables of most expressed genes and marker genes for samples and clusters.
- Tables of enriched pathways in marker gene lists.
- Query gene(s) and gene sets from MSigDB and show their expression in dimensional reductions.
- All plots can be exported to PNG. In addition, 2D dimensional reductions can be exported to PDF.
- Tables can be downloaded in CSV or Excel format.
Further screenshots can be found in the
Interface panels in details
Select input file (
Shows number of cells, samples, clusters, as well as experiment name and organism.
Shows 2D and 3D dimensional reductions. Cells can be colored by meta data variables, automatically coloring the cells using a categorical or continuous scale. Cells can be randomly down-sampled to improve performance.
Shows sample-centric perspective of data.
- Composition of samples by cluster as table and plot.
- Distribution of number of transcripts and expressed genes by sample.
- Distribution of mitochondrial and ribosomal gene expression by sample (if it was computed with
- Cell cycle by sample, either determined by the Seurat function or using Cyclone (if it was computed and assigned during exporting).
Shows cluster-centric perspective of data.
See info about
Samples panel above for more details.
Most expressed genes
If computed in
cerebroPrepare, provides tables of most expressed genes by sample and cluster.
If computed in
cerebroPrepare, provides tables of marker genes by sample and cluster.
If computed in
cerebroPrepare, provides tables of enriched pathways in marker gene lists of samples and clusters.
Allows to show the expression of specified genes (showing the average per cell if multiple genes) in the data set.
Calculation is triggered after pressing
Multiple genes must be submitted in separate lines or separated by either space, comma, semicolon.
Shows which genes are available or missing (or misspelled) in data set.
Expression levels are shown in dimensional reductions and as violin plots for every sample and cluster.
Average expression across all cells of the 50 most expressed genes (of the ones specified by the user) are shown as well to quickly spot which genes drive the color scale.
Gene set expression
Basically the same as the gene expression panel except that it allows to select gene sets from MSigDB (requires internet connection). Only available for human and mouse data.
Gene ID conversion
Provides table that allows to convert gene IDs and names. Includes GENCODE identifier, ENSEMBL identifier, HAVANA identifier, gene symbol and gene type. Only available for mouse and human. Based on GENCODE annotation version M16 (mouse) and version 27 (human).
Overview of parameters that were used during the analysis, as long as they were provided.
Also shows list of mitochondrial and ribosomal genes present in the data set if computed with
Single cell RNA-sequencing data is rich and complex. Allowing experimental biologists to explore the results is beneficial for the iterative scientific process of performing analysis and deriving conclusions. Cerebro provides an easy way to access the data without any bioinformatic expertise.
Download Cerebro for your OS from here, unpack and launch. Currently, Cerebro is available only for macOS and Windows.
Users of all platforms can alternatively launch the app through the dedicated
cerebroApp R package or
romanhaa/cerebro Docker container.
cerebroApp R package
Requirements: R (version 3.5.1 or higher)
A convenient IDE would be RStudio.
Make sure to install
BiocManager::install() to get the most recent version of dependencies on Bioconductor.
romanhaa/cerebro Docker container
docker pull romanhaa/cerebro:latest docker run -p 8080:8080 -v <export_folder>:/plots romanhaa/cerebro # for example docker run -p 8080:8080 -v ~/Desktop:/plots romanhaa/cerebro
Then, in your browser you navigate to the address printed in the terminal, e.g.
Note 1: Binding a local directory with
-v <export_folder>:/plots is only necessary if you want to export dimensional reductions from Cerebro.
Note 2: If you need to change the port, you can do that like this:
docker run -p <port_of_choice>:8080 -v <export_folder>:/plots romanhaa/cerebro # OR docker run -p <port_of_choice>:<port_of_choice> -v <export_folder>:/plots romanhaa/cerebro Rscript -e 'shiny::runApp(cerebroApp::launchApp(), port=<port_of_choice>, host="0.0.0.0", launch.browser=FALSE)'
pbmc_10k_v3 example data set
Conversion of other single cell data formats
cerebroPrepare R package only provides a functions to export a
Seurat (v2 or v3) object to the Cerebro input file.
However, there are a few other important single cell data storage formats, e.g.
AnnData (used by scanpy,
SingleCellExperiment (used by scran and scater, and
CellDataSet (used by Monocle).
Ideally, we would like to provide export functions for all of those formats.
However, the reality is, especially considering that these formats can change with updates of the respective packages, this would correspond to an enormous maintance effort.
For the moment, we can take advantage of the conversion and export functions that some of those packages mentioned before already provide.
In the figure below, we highlight how you can generate the Cerebro input file from any of the four major formats.
- Cerebro is a Shiny app that is bottled into a standalone application using Electron.
- Plotting relies heavily on
- Tables are built with
- Access to MSigDB through
Building from source
# clone this repository git clone https://gitlab.com/romanhaa/Cerebro.git # install Electron packager npm install electron-packager --global # go into the repository cd Cerebro # install dependencies npm install # run the app npm start # build the app npm run package-mac
To build the Windows version under macOS it is necessary to install Wine. I experienced problems with missing libraries of the stable version (4.0) so I recommend to use the developers version (4.4) using Homebrew:
brew tap caskroom/versions brew update brew install caskroom/versions/wine-devel npm run package-win
If you're using Linux Bash for Windows, see this guide or use
node from the command prompt.
- If the app shows a blank/white window, press CMR+R (macOS) or CTRL+R (Windows) to refresh the page. Especially on slower machines it can happen that the interface loads before the Shiny application is launched.
- Columbus Collaboratory layed out the basics of using Electron to create a standalone Shiny application: https://github.com/ColumbusCollaboratory/electron-quick-start
- Sample and cluster color palettes taken from https://flatuicolors.com/
- App icon made by Kiranshastry from https://www.flaticon.com is licensed by CC 3.0 BY
Copyright (c) 2019 Roman Hillje