1 Introduction

InterCellar is a Bioconductor package that provides an interactive Shiny application to enable the analysis of cell-cell communication from single-cell RNA sequencing (scRNA-seq) data. Every step of the analysis can be performed interactively, thus not requiring any programming skills. Moreover, InterCellar runs on your local machine, avoiding issues related to data privacy.

1.1 Installation

InterCellar is distributed as a Bioconductor package and requires R (version 4.1) and Bioconductor (version 3.14).

To install InterCellar package enter:

if (!requireNamespace("BiocManager", quietly = TRUE))


1.2 Launching the app

Once InterCellar is successfully installed, it can be loaded as follow:


In order to start the app, please run the following command:

InterCellar::run_app( reproducible = TRUE )

InterCellar should be opening in a browser. If this does not happen automatically, please open a browser and navigate to the address shown (for example, Listening on The flag reproducible = TRUE ensures that your results will be reproducible across R sessions.

2 Data upload

The first step of the workflow requires the upload of pre-computed results generated by an external tool capable of predicting cell-cell communication mediated by ligand-receptor interactions. InterCellar supports both published tools such as CellPhoneDBv2 (Efremova et al. 2020), CellChat(Jin et al. 2021), ICELLNET(Noël et al. 2021), and SingleCellSignalR (Cabello-Aguilar et al. 2020), and custom results output of ad hoc methods, which must contain necessary information as described in the panel From custom analysis. For this user guide, we will use CellPhoneDB (CPDB) results computed on a scRNA-seq dataset from Chua et al.(Chua et al. 2020). This dataset comprises data of COVID-19 patients, divided in critical and moderate cases, as well as healthy controls. Cell-cell interaction (CCI) data output of CPDB on each condition can be found at InterCellar-reproducibility.

By navigating to 1. Data and Upload, we can import our 3 CCI data from the Supported tools panel. We specify an existing local folder where InterCellar will create output folders to save figures and tables results of the analysis. To upload a CCI data, we must specify an ID and an output folder tag. Next, we can select the folder containing CellPhoneDB results from our local drive. InterCellar will read and pre-process the data and show the resulting table in Table view. The pre-processing step consists of:

  • Mapping interaction pairs to the corresponding genes (when necessary)
  • Annotating genes to their molecular function: L (ligand) or R (receptor)
  • Re-ordering the interaction pairs listed as R-L to L-R

Finally, we can switch active CCI data on the left menu, to easily analyze multiple datasets in parallel.

3 Data exploration: Universes

Once the input data has been uploaded, InterCellar takes us to the exploration of three Universes. Each universe has its focus on a different biological domain: cell clusters, genes and functions. Specific filtering options can be applied and multiple visualization choices are available to enable a deep exploration of the cellular communication.

3.1 Cluster-verse

Focus of this universe are clusters of cells participating in the communication. The filtering options allow the user to subset the dataset by:

  • excluding entire clusters from the data. All interactions related to the excluded clusters will be excluded as well from further steps of the analysis;
  • setting a minimum interaction score;
  • (when available) changing the p-value threshold for significant interactions (default to 0.05).

The analyst will be able to see the effect of these filtering steps by looking at the box showing the number of total interactions.

Warning: these filters have global influence on the analysis, since they subset the input data!

Three tabs are part of the Cluster-verse: Network, Barplot and Table.

The Network of clusters shows the overall cellular communication. Nodes represent different clusters while edges show the (total or weighted by interaction score) number of paracrine interactions occurring between two clusters. Edges that fall back on the same cluster represent autocrine interactions.