Cell-cell communication

Cell communication across multiple cell types and tissues strictly mediates proper functioning of metazoans and extensively relies on interactions between secreted ligands and cell-surface receptors. The basic principle of cell communication is to predict ligand-receptor interactions between two conditions based on the differential expression of receptors in one cell/sample type and the differential expression of ligands in another cell/sample type. It offers a chance for DEGs to have a role in cell communication analysis.

Breaking: A considerable number of databases collect the ligand-receptor pairs and developed to calculate communication scores between different cells/samples according to the gene expression. Some tools are linked in this document.


6.2.3.1 IUPHAR

Introduction: The International Union of Basic and Clinical Pharmacology (IUPHAR) / British Pharmacological Society (BPS) Guide to PHARMACOLOGY is an expert-curated resource of ligand-activity-target relationships, the majority of which come from high-quality pharmacological and medicinal chemistry literature. It is intended as a “one-stop shop” portal to pharmacological information and its main aim is to provide a searchable database with quantitative information on drug targets and the prescription medicines and experimental drugs that act on them. IUPHAR2

Web server: DISGENET IUPHAR


6.2.3.2 CellPhoneDB

Introduction: CellPhoneDB is a publicly available repository of curated receptors, ligands and their interactions. Subunit architecture is included for both ligands and receptors, representing heteromeric complexes accurately. This is crucial, as cell-cell communication relies on multi-subunit protein complexes that go beyond the binary representation used in most databases and studies.CellPhoneDB integrates existing datasets that pertain to cellular communication and new manually reviewed information. CellPhoneDB utilises information from the following data bases: UniProt, Ensembl, PDB, the IMEx consortium, IUPHAR. CellPhoneDB can be used to search for a particular ligand/receptor or interrogate your own single-cell transcriptomics data.

Installation: To install this package, works with Python v3.6 or greater: If your default Python interpreter is for “v2.x” (you can check it with “python –version”), calls to “python”/“pip” should be substituted by python3/pip3. We highly recommend using an isolated python environment (as described in steps 1 and 2) using conda or virtualenv but you could of course omit these steps and install via “pip” immediately.

1.Create python=>3.6 environment +Using conda: “conda create -n cpdb python=3.7” +Using virtualenv: “python -m venv cpdb” 2.ctivate environment +Using conda: “source activate cpdb” +Using virtualenv: “source cpdb/bin/activate” 3.Install CellPhoneDB “pip install cellphonedb”

Web server: CellPhoneDB CellPhoneDB


6.2.3.3 FANTOM5

Introduction: Web tool for exploring cell-cell ligand-receptor mediated communication networks. FANTOM5 present the first large-scale map of cell-to-cell communication between 144 human primary cell types using 2,422 putative and literature supported ligand-receptor pairs. With up to hundreds of potential interactions between any two of these 144 primary cell types, there are millions of possible cell-cell communication paths across the entire network. Static visualization of such complex networks not only can be obscure and impractical but also difficult.

Installation: An implementation of the FANTOM5 can be found here: https://github.com/Hypercubed/connectome “git clone https://github.com/Hypercubed/connectome.git cd connectome npm install bower install”


6.2.3.4 Cell-Cell Interaction Database

Introduction: Cell-cell interaction database was developed by filtering existing curated protein-protein interaction (PPI) data. Cell-cell interactions are important for understanding tissue organization. The resource available from iRefIndex, Pathway Commons and BioGRID website represents an automatically built set of protein-protein interactions that can mediate cell-cell communication that is expanded compared to previous databases we have built.

Web server: Cell-Cell Interaction Database


6.2.3.5 ligand-receptor pairs in literature

Introduction: This compendium has been created to collect lists of ligand-receptor pairs and interactions for surface-secreted proteins that are available in literature.

Information about collected lists:

Article Organism Number of LR pairs Downstream genes? Protein Complexes? Functional Annotations? Metabolites? Associated Tool
Kirouac et al. (2010) Human 232
Qiao et al. (2014) Human 933
Ramilowski et al. (2015) Human 2,422
Choi et al. (2015) Human 1,427
Pavlicev et al. (2017) Human 1,006
Vento-Tormo et al. (2018) & Efremova et al. (2020) Human 878 X CellPhoneDB
Wang et al. (2019) Human 2,649 X iTalk
Ximerakis et al. (2019) & BaderLab (baderlab.org/CellCellInteractions) Human 115,900
Browaeys et al. (2019) Human 12,659 X NicheNet
Noël et al. (2020) Human 380 X X ICELLNET
Cabello-Aguilar et al. (2020) Human 3,251 SingleCellSignalR
Jin et al. (2020) Human 2,005 X X CellChat
Hou et al. (2020) Human 2,187 NATMI
Shao et al. (2020) Human 3,398
Turei et al. (2021) Human 74,909 X X X
Zheng et al. (2022) Human 440 X MEBOCOST
Ding et al. (2016) Mouse 561
Yuzwa et al. (2016) Mouse 949
Skelly et al. (2018) Mouse 2,009
Sheikh et al. (2019) Mouse 1,710
Baccin et al. (2020) Mouse 721 X X RNA-Magnet (Algorithm)
Cain et al. (2020) Mouse 2,356
Jin et al. (2020) Mouse 2,021 X X CellChat
Shao et al. (2020) Mouse 2,033
Raredon et al. (2019) Mammals 269 X
Armingol et al. (2020) C. elegans 245 X cell2cell
Liu et al. (2022) Drosophila 197 X FlyPhoneDB
Xu et al. (2022) Plants 1,751 3,762 PlantPhoneDB

Web server: ligand-receptor pairs in literature


6.2.3.6 DLRP

Introduction: The Database of Ligand-Receptor Partners

Web server: DLRP


6.2.3.7 ConnectomeDB

ConnectomeDB Introduction: ConnectomeDB is a data management platform where users can access, explore and download the latest datasets from the Human Connectome Project.

Web server: ConnectomeDB


6.2.3.8 CellTalkDB

Introduction: A manually curated database of literature-supported ligand-receptor interactions in human and mouse. Total 5431 ligand-receptor interaction pairs are collected. CellTalkDB

Web server: CellTalkDB


6.2.3.9 ICELLNET

Introduction: This repository hosts the source code corresponding to the method described in Noël, F., Massenet-Regad, L., Carmi-Levy, I. et al. to infer intercellular communication networks and dissect intercellular communication between multiples cell types based on their transcriptomic profiles.

Installation: To install it, the easiest way is to use the R package “devtools” and its function “install_github”.

If you don’t have all the dependancies needed to use ICELLNET package, run the commands below:

install.packages(c("devtools", "jetset", "readxl", "psych", "GGally", "gplots", "ggplot2", "RColorBrewer", "data.table", "grid", "gridExtra", "ggthemes", "scales","rlist")) ##Installs devtools and the icellnet CRAN dependancies
if (!requireNamespace("BiocManager", quietly = TRUE)){install.packages("BiocManager")}
BiocManager::install(c("BiocGenerics", "org.Hs.eg.db", "hgu133plus2.db", "annotate"))

Then you just have to load “devtools” package and run the command below:

library(devtools)
install_github("soumelis-lab/ICELLNET",ref="master", subdir="icellnet")

6.2.3.10 Cellinker

Introduction: Cellinker is a platform of ligand-receptor interactions for intercellular communication analysis. The current version of Cellinker documents over 3,700 human and 3,200 mouse L-R protein-protein interactions (PPIs) and embeds a practical and convenient webserver with which researchers can decode intercellular communications based on scRNA-seq data. And over 400 small molecule (sMOL) related L-R interactions were collected as well. Moreover, to help with research on coronavirus (CoV) infection, Cellinker also collects information on over 16 L-R interactions involved in COV-human interactions (including 12 L-R interactions involved in SARS-CoV-2 infection).

Web server: Cellinker


6.2.3.11 PlantPhoneDB

PlantPhoneDB
PlantPhoneDB

Introduction: PlantPhoneDB is a ligand-receptor interactions database, which aims to infer cell-cell communications from scRNA-seq datasets in plant. The current PlantPhoneDB contains 3,514 unique reliable ligand-receptor pairs for Arabidopsis thaliana, which curated from seven resources, including plant.MAP, Interactome2.0, IntAct, BioGRID, Text-mining, STRING and Orthologs resources. By assigning orthologs of ligand-receptor pairs between Arabidopsis thaliana and other four plant species proteomes using the InParanoid algorithm, the number of ligand-receptor pairs identified ranged from 1,751 (Solanum lycopersicum) to 3,762 (Oryza sativa). PlantPhoneDB2

Installation: PlantPhoneDB requires R v4.0.2 or greater. To install it, the easiest way is to use the R package devtools and its function “install_github”. If you don’t have all the dependancies needed to use PlantPhoneDB package, run the commands below:

install.packages(c("devtools", "Seurat", "tidyverse", "ggplot2", "ggsci", "pheatmap", "ggpubr", "RColorBrewer", "patchwork", "lsa", "viridis", "hrbrthemes", "circlize", "chorddiag", "ggplotify", "data.table", "parmigene", "infotheo", "igraph", "cowplot", "grid", "dplyr"))

library(devtools)
install_github("Jasonxu0109/PlantPhoneDB")

Web server: PlantPhoneDB


6.2.3.12 CellCallEXT

Introduction: CellCall is an R package tool that is used to analyze cell–cell communication based on transcription factor (TF) activities calculated by cell-type specificity of target genes and thus cannot directly handle two-condition comparisons. CellCallEXT can directly identify ligand–receptor (L–R) interactions that alter the expression profiles of downstream genes between two conditions, such as tumor and healthy tissue. Scoring in CellCallEXT quantitatively integrates expression of ligands, receptors, TFs, and target genes (TGs). The pathway enrichment analysis and visualization modules allow biologists to investigate how disease alters cell–cell communication. Furthermore, Reactome pathways were added into CellCallEXT to expand the L–R–TF database.

Installation: To install this package, start R (version 3.6 or higher) and enter:

library(devtools)
devtools::install_github("shouguog/cellcallEXT")

6.2.3.13 CellChat

CellChat Introduction: CellChat is now applicable to spatial imaging data. We showcase its application to 10X Visium data. When spatial locations of spots/cells are available, CellChat infers spatial-informed cell-cell communication between interacting cell groups. CellChat restricts cell-cell communication within the maximum interaction/diffusion length of molecules. In addition to infer the intercellular communication from any given scRNA-seq data, CellChat provides functionality for further data exploration, analysis, and visualization. +It is able to analyze cell-cell communication for continuous states along cellular development trajectories. +It can quantitatively characterize and compare the inferred cell-cell communication networks using an integrated approach by combining social network analysis, pattern recognition, and manifold learning approaches. +It provides an easy-to-use tool for extracting and visualizing high-order information of the inferred networks. For example, it allows ready prediction of major signaling inputs and outputs for all cell populations and how these populations and signals coordinate together for functions. +It provides several visualization outputs to facilitate intuitive user-guided data interpretation. PlantPhoneDB2

Installation: CellChat R package can be easily installed from Github using devtools, and please make sure you have installed the correct version of “NMF” and “circlize” package:

library(devtools)
devtools::install_github("sqjin/CellChat")

Web server: CellChat


6.2.3.14 Giotto

Introduction: Giotto is a comprehensive and open-source toolbox for spatial data analysis and visualization. The analysis module provides end-to-end analysis by implementing a wide range of algorithms for characterizing tissue composition, spatial expression patterns, and cellular interactions. Furthermore, single-cell RNAseq data can be integrated for spatial cell-type enrichment analysis. The visualization module allows users to interactively visualize analysis outputs and imaging features. Giotto is applicable to a wide range of spatial technologies and platforms.

Installation: Giotto is installed via R but there are required Python modules which must be installed in order for Giotto to function properly.

library(devtools) # If not installed: install.packages('devtools')
library(remotes)  #If not installed: install.packages('remotes')
remotes::install_github("RubD/Giotto")

The python modules will be installed automatically in a miniconda environment when installing Giotto. An implementation of the modules in python can be found here: https://giottosuite.readthedocs.io/en/master/gettingstarted.html#requirements

Web server: Giotto


6.2.3.15 SingleCellSignalR

Introduction: SingleCellSignalR is the first such tool available in R. It relies on a comprehensive database of known LR interactions, which we called LRdb. It also introduces a new regularized product score aimed at adapting to variable levels of depth in single-cell datasets, i.e. the prevalence of censored read counts or dropouts. LRdb is the result of integrating and curating existing sources plus manual additions. The new scoring approach has the advantage of facilitating the use of stable thresholds on LR interaction scores to control false positives (FPs) and not only rank LR interactions. SingleCellSignalR

Installation: To install this package, start R (version “4.2”) and enter:

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("SingleCellSignalR")

6.2.3.16 CellCall

Introduction: CellCall is a toolkit to infer intercellular communication networks and internal regulatory signals by integrating intracellular and intercellular signaling. (1) CellCall collects ligand-receptor-transcript factor (L-R-TF) axis datasets based on KEGG pathways. (2) According to prior knowledge of L-R-TF interactions, CellCall infers intercellular communication by combining the expression of ligands/receptors and downstream TF activities for certain L-R pairs. (3) CellCall embeds a pathway activity analysis method to identify the crucial pathways involved in communications between certain cell types. (4) CellCall offers a rich suite of visualization options (Circos plot, Sankey plot, bubble plot, ridge plot, etc.) to intuitively present the analysis results. The overview figure of CellCall is shown as follows.

Installation: To install this package, start R (version 3.6 or higher) and enter:

library(devtools)
devtools::install_github("ShellyCoder/cellcall")

Application: More examples can download from here.


6.2.3.17 TraSig

Introduction: TraSig (Trajectory-based Signalling genes inference) identifies interacting cell types pairs and significant ligand-receptors based on the expression of genes as well as the pseudo-time ordering of cells. For any two groups of cells that are expected to overlap in time, TraSig takes the pseudo-time ordering for each group and the expression of genes along the trajectory as input and then outputs an interaction score and p-value for each possible ligand-receptor pair. It also outputs a summary score for cell type pairs by combining individual ligand-receptors’ scores.

Installation: An implementation of the TraSig in python can be found here: https://github.com/doraadong/TraSig


6.2.3.18 celltalker

Introduction: The goal of celltalker is to infer putative ligand and receptor interactions from single-cell RNAseq data. This is accomplished by evaluating known cognate ligand/receptor interactions across groups of cells. Interactions are scored by jointly weighting the expression levels of ligands and receptors, and significance is evaluated by comparing to a background distribution of scrambled ligands and receptors.

Installation: To install this package, start R (version 3.6 or higher) and enter:

install.packages("devtools")
devtools::install_github("arc85/celltalker")

Application: More examples can download from here.


6.2.3.19 iTALK

Introduction: iTALK is an R toolkit for characterizing and illustrating intercellular communication, developed and maintained by Linghua Wang lab at the University of Texas MD Anderson Cancer Center. iTALK can be used to visualize the complexity, diversity and dynamics of cell-cell communication in a wide range of biological processes.

Installation:To install this package, start R (version 3.6 or higher) and enter:

if(!require(devtools)) install.packages("devtools");
devtools::install_github("Coolgenome/iTALK", build_vignettes = TRUE)

6.2.3.20 PyMINEr

Introduction: PyMINEr is a computational pipeline that automates many of the informatics tasks that you might want to do with your dataset all from a very brief single command line entry. This will bring down the amount of time that you actually need to work with it, and eliminate the need for any custom coding. Once you’ve got PyMINEr up and running you can be finished with an informatics collaboration with about 30 seconds of work with a single command-line entry in the style of: pyminer.py -i expression.txt

Installation: To install it, you’ll first need to install python3 (preferably >=3.7). You can do this over at anaconda, or you could install it at the command line.

Using pip

python3 -m pip install bio-pyminer

Using Docker

Sometimes getting all the right dependencies installed can be a pain & the dependencies of one program can break another. To get around this, you can use Docker. There are plenty of tutorials out there on this. Once you’re familiar with how to use docker though, you can pull the latest PyMINEr docker image like so:

docker pull scottyler89/pyminer

docker run -it --name first_try -v <path_to_data>:/data scottyler89/pyminer
cd /data/

pyminer.py -h

Then, when you’re finished with using PyMINEr, you can log out of the docker image by typing “exit” at the command line.

Web server: PyMINEr


6.2.3.21 DeepCCI

Introduction: DeepCCI is a graph convolutional network (GCN)-based deep learning framework for Cell-Cell Interactions inference from scRNA-seq data.

Installation: Start by grabbing this source codes:

git clone https://github.com/JiangBioLab/DeepCCI.git
cd DeepCCI

Use python virutal environment with conda

conda create -n deepcciEnv python=3.7.4 pip
conda activate deepcciEnv
pip install -r requirements.txt

Because data processing and result visualization require R and then also install the following in R:

install.packages("Seurat")
install.packages("igraph")
install.packages('NMF')
install.packages("devtools")
devtools::install_github("jokergoo/circlize")
devtools::install_github("jokergoo/ComplexHeatmap")
devtools::install_github("sqjin/CellChat")
devtools::install_github('satijalab/seurat-data')

An implementation of the DeepCCI can be found here: https://github.com/JiangBioLab/DeepCCI


6.2.3.22 NicheNet

Introduction: the R implementation of the NicheNet method. The goal of NicheNet is to study intercellular communication from a computational perspective. NicheNet uses human or mouse gene expression data of interacting cells as input and combines this with a prior model that integrates existing knowledge on ligand-to-target signaling paths. This allows to predict ligand-receptor interactions that might drive gene expression changes in cells of interest.

Installation: Installation typically takes a few minutes, depending on the number of dependencies that has already been installed on your pc. You can install nichenetr (and required dependencies) from github with:

# install.packages("devtools")
devtools::install_github("saeyslab/nichenetr")

nichenetr was tested on both Windows and Linux (most recently tested R version: R 4.0.0)


6.2.3.23 SpaOTsc

Introduction: SpaOTsc provides utilities to (1) derive a mapping between spatial data and scRNA-seq data, (2) infer spatial cell-cell distance for scRNA-seq data, (3) carry out cell spatial subclustering, (4) infer space-constrained cell-cell communications, (5) infer spatial distance for intercellular signaling, and (6) construct a spatial map of intercellular gene-gene regulatory information flow.

Installation: SpaOTsc depends on the following packages: pandas, numpy, scipy, networkx, python-igraph, louvain, POT, dit, astropy, scikit-learn, matplotlib, umap-learn. See dependency versions in “requirements.txt”. Simply run the following command (preferably in a fresh virtual environment, e.g. “conda create -n spaotsc_env python=3”). The package has been tested on macOS (Mojave) and Ubuntu (16.04, 18.04) and should work in any valid python environment. Installation of SpaOTsc should take less than a minute and it may take several minutes to install the dependencies.

pip install --user Cython
pip install --user --requirement requirements.txt

cd to “SpaOTsc” and run

pip install --user .

6.2.3.24 CCCExplorer

Introduction: CCCExplorer is a java-based software that predicts and visualizes the gene signaling network to aid research on crosstalk identification in the tumor microenvironment. CCCExplorer integrates a computational model that we developed to uncover cell-cell communication as a direct and connected network. These cell communications range from ligand-receptor interactions to transcription factors and their target genes.

Installation: MacOS verison Download:https://www.dropbox.com/s/1y1or8ougjkzu3x/CCCExplorer_MacOS.zip?dl=0; Youtube video URL: https://youtu.be/wN4vHV6hoig


6.2.3.25 SoptSC

Introduction: Package used for the inference of clustering, cell lineage, pseudotime and cell-cell communication network from scRNA-seq data. 1. Estimation of the number of clusters from the single-cell data. 2. Identification of cell subpopulations. 3. Identification of DEGs for each cell subpopulation. 4. Inference of pseudotime in an unsupervised manner: i.e., initial cell is not required. 5. Inference of cell lineage and trajectory in an unsupervised manner: i.e., initial cluster is not required. 6. Inference of cell-cell communication network given a group of Ligand-Receptor pairs and their downstream target genes.

Installation: To install this package, start R (version 3.6 or higher) and enter:

install.packages("devtools")
library(devtools)
install_github("mkarikom/RSoptSC")

An implementation of the SoptSC can be found here: https://mkarikom.github.io/RSoptSC/index.html


6.2.3.26 NATMI

Introduction: NATMI (Network Analysis Toolkit for Multicellular Interactions), a Python-based toolkit for multi-cellular communication network construction and network analysis of multispecies single-cell and bulk gene expression and proteomic data.

Installation: Docker Image for NATMI: https://hub.docker.com/r/asrhou/natmi To use NATMI, following software is required: 1.Python 2 or Python 3 2.Python libraries pandas, XlsxWriter and xlrd (for general data processing). 3.Python libraries seaborn, igraph, NetworkX, PyGraphviz, bokeh and holoviews (for cell-to-cell communication network visualization). To install NATMI, run the following command in the desired installation directory:

git clone https://github.com/asrhou/NATMI.git

An implementation of the NATMI can be found here: https://github.com/forrest-lab/NATMI/#2


6.2.3.27 scConnect

Introduction: scConnect estimate expression of ligands and receptors for cell types in scRNA-seq datasets. scConnect also estimate expression of molecular ligands that are synthezised by many enzymes, hence integrating gene expression related to synthesis, transport, reuptake etc. Using interaction information from Guide to pharmacology putative cell-cell interactions can be identified. Using random permutation of cell type lables, scConnect estimate the specificity of each ligand and receptor for each cell type, and use this information to estimate the specificity of each interaction. All interactions are stored in a multi-directional graph structure and scConnect provide multitude of tools to analyse this data, including an interactive web application and several plotting functions. scConnect integrate well with Scanpy and can be appended to any scanpy analysis pipeline.

Installation: An implementation of the scConnect can be found here: https://github.com/JonETJakobsson/scConnect


6.2.3.28 FunRes

Introduction: a computational method designed for the identification of functional cell states. FunRes relies on scRNA-seq data of a tissue to initially reconstruct the functional cell-cell communication network, which is leveraged for partitioning each cell type into functional cell states.

Installation: An implementation of the FunRes can be found here: https://git-r3lab.uni.lu/kartikeya.singh/funres


6.2.3.29 scTensor

Introduction: R package for detection of cell-cell interaction using Non-negative Tensor Decomposition.

Installation: To install this package, start R (version 3.6 or higher) and enter:

# CRAN
install.packages(c("RSQLite", "igraph", "plotly", "nnTensor",
    "rTensor", "abind", "plotrix", "heatmaply", "tagcloud",
    "rmarkdown", "knitr", "outliers", "crayon", "checkmate",
    "testthat", "Seurat", "BiocManager"),
    repos="http://cran.r-project.org")

# Bioconductor
library("BiocManager")
BiocManager::install(c("S4Vectors", "reactome.db", "AnnotationDbi",
    "SummarizedExperiment", "SingleCellExperiment", "BiocStyle",
    "biomaRt", "MeSHDbi", "Category", "meshr", "GOstats", "ReactomePA",
    "DOSE", "LRBase.Hsa.eg.db", "MeSH.Hsa.eg.db", "LRBase.Mmu.eg.db",
    "MeSH.Mmu.eg.db", "LRBaseDbi", "Homo.sapiens"),
    suppressUpdates=TRUE)

##devtools
install.packages("devtools", repos="http://cran.r-project.org")
library(devtools)
devtools::install_github("rikenbit/scTensor")