• Stars
    star
    466
  • Rank 94,105 (Top 2 %)
  • Language
    R
  • Created almost 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

NicheNet: predict active ligand-target links between interacting cells

nichenetr

R build status Coverage Status DOI DOI

nichenetr: 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.

We describe the NicheNet algorithm in the following paper: NicheNet: modeling intercellular communication by linking ligands to target genes.

Major updates (20-06-2023)!

  • MultiNicheNet - a multi-sample, multi-condition extension of NicheNet - is now available on biorxiv and Github.
  • MultiNicheNet uses an updated prior model (v2) consisting of additional ligand-receptor interactions from the Omnipath database and from Verschueren et al. (2020). We have now also updated the vignettes of NicheNet to use the new model instead.
  • New functionality: we have included additional functions to prioritize ligands not only based on the ligand activity, but also on the ligand and receptor expression, cell type specificity, and condition specificity. This is similar to the criteria used in Differential NicheNet and MultiNicheNet. See the Prioritizing ligands based on expression values vignette for more information.
  • Due to this more generalizable prioritization scheme, we will no longer provide support for Differential NicheNet.
  • We included code for making a ligand-receptor-target circos plot in the Circos plot visualization vignette.

Introduction to NicheNet

The figure below shows a graphical representation of the NicheNet workflow. Interactions inferred from several complementary ligand-receptor, signaling and gene regulatory data sources were aggregated in respective integrated networks from which ligand-target regulatory potential scores were calculated. This model of prior information on potential ligand-target links can then be used to infer active ligand-target links between interacting cells. NicheNet prioritizes ligands according to their activity (i.e., how well they predict observed changes in gene expression in the receiver cell) and looks for affected targets with high potential to be regulated by these prioritized ligands.

We offer the option to use the prebuilt prior model (such that the network integration steps should not be repeated), or to create and use your own prior model (see reference to detailed vignette below).





NicheNet strongly differs from most current computational approaches to study intercellular communication. Current approaches study intercellular communication from (single-cell) expression data by linking ligands expressed by sender cells to their corresponding receptors expressed by receiver cells. However, functional understanding of a cellular communication process also requires knowing how these inferred ligand-receptor interactions result in changes in the expression of downstream target genes within the receiver cells. To address this need, we developed NicheNet. Contrary to existing approaches, NicheNet looks at gene regulatory effects of ligands because the used prior knowledge goes beyond ligand-receptor interactions and incorporates intracellular signaling and transcriptional regulation as well. As a result, NicheNet allows to predict which ligands influence the expression in another cell, which target genes are affected by each ligand and which signaling mediators may be involved. By generating these novel types of hypotheses, NicheNet can drive an improved functional understanding of a cell-cell communication process of interest. The figure below summarizes the conceptual differences between most current ligand-receptor network inference approaches (top panel) and NicheNet (bottom panel) and visualizes the power of NicheNet in prioritizing ligand-receptor interactions based on gene expression effects.





Main functionalities of nichenetr

Specific functionalities of this package include:

  • assessing how well ligands expressed by a sender cell can predict changes in gene expression in the receiver cell
  • prioritizing ligands based on their effect on gene expression
  • inferring putative ligand-target links active in the system under study
  • inferring potential signaling paths between ligands and target genes of interest: to generate causal hypotheses and check which data sources support the predictions
  • validation of the prior ligand-target model
  • construction of user-defined prior ligand-target models

Moreover, we provide instructions on how to make intuitive visualizations of the main predictions (e.g., via circos plots as shown here below).



Installation of nichenetr

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)

Learning to use nichenetr

To learn using nichenetr, read one of the following vignettes explaining several types of analyses:

Following vignette contains the explanation on how to perform a basic NicheNet analysis. This includes prioritizing ligands and predicting target genes of prioritized ligands. This demo analysis takes only a few minutes to run:

To facilitate the use of NicheNet on single-cell data, we demonstrate the use of NicheNet on a Seurat object in following vignettes. One demonstrates the use of a single wrapper function, the other demonstrates what’s behind the wrapper (recommended).

Following vignettes contain explanation on how to do some follow-up analyses after performing the most basic analysis:

If you want to make a circos plot visualization of the NicheNet output, you can check following vignettes:

People interested in building own models or benchmark own models against NicheNet can read one of the following vignettes:

Deprecated vignettes

Differential NicheNet has been deprecated; you may want to consider using the general prioritization scheme instead.

In NicheNet v2, the mouse and human ligand-target models are uploaded separately so symbol conversion is not necessary. If you are still using the NicheNet v1 model, you can check the following vignette on how to convert the model (given in human symbols) to mouse symbols:

FAQ

Check the FAQ page at FAQ NicheNet: vignette("faq", package="nichenetr")

Previous updates

12-01-2022: In the Liver Atlas paper from Guilliams et al.: Spatial proteogenomics reveals distinct and evolutionarily conserved hepatic macrophage niches, we used Differential NicheNet, an extension to the default NicheNet algorithm. Differential NicheNet can be used to compare cell-cell interactions between different niches and better predict niche-specific ligand-receptor (L-R) pairs. It was used in that paper to predict ligand-receptor pairs specific for the Kupffer cell niche in mouse and human.

The main difference between the classic NicheNet pipeline and the Differential NicheNet pipeline is that Differential NicheNet also uses the differential expression between the conditions/niches of the ligand-receptor pairs for prioritization in addition to the ligand activities. The classic NicheNet pipeline on the contrary uses only ligand acivity for prioritization (and shows differential expression only in visualizations).

So if you have data of multiple conditions or niches, and you want to include differential expression of the ligand-receptor pairs in the prioritization, we recommend you check out Differential NicheNet (update nichenetr to the 1.1.0 version). At the bottom of this page, you can find the links to two vignettes illustrating a Differential NicheNet analysis. We recommend these vignettes if you want to apply Differential NicheNet on your own data. If you want to see the code used for the analyses used in the Guilliams et al. paper, see https://github.com/saeyslab/NicheNet_LiverCellAtlas.

15-10-2019: Bonnardel, T’Jonck et al. used NicheNet to predict upstream niche signals driving Kupffer cell differentiation Stellate Cells, Hepatocytes, and Endothelial Cells Imprint the Kupffer Cell Identity on Monocytes Colonizing the Liver Macrophage Niche.

References

Browaeys, R., Saelens, W. & Saeys, Y. NicheNet: modeling intercellular communication by linking ligands to target genes. Nat Methods (2019) doi:10.1038/s41592-019-0667-5

Bonnardel et al. Stellate Cells, Hepatocytes, and Endothelial Cells Imprint the Kupffer Cell Identity on Monocytes Colonizing the Liver Macrophage Niche. Immunity (2019) doi:10.1016/j.immuni.2019.08.017

Guilliams et al. Spatial proteogenomics reveals distinct and evolutionarily conserved hepatic macrophage niches. Cell (2022) doi:10.1016/j.cell.2021.12.018

More Repositories

1

multinichenetr

MultiNicheNet: a flexible framework for differential cell-cell communication analysis from multi-sample multi-condition single-cell transcriptomics data
HTML
96
star
2

CytoNorm

R library to normalize cytometry data
R
31
star
3

moduledetection-evaluation

Jupyter Notebook
27
star
4

FlowSOM

Using self-organizing maps for visualization and interpretation of cytometry data
R
26
star
5

FlowCytometryScripts

R
22
star
6

spotless-benchmark

A repository for benchmarking spatial deconvolution and mapping tools
R
19
star
7

napari-sparrow

https://sparrow-pipeline.readthedocs.io/en/latest/
Python
19
star
8

brainimmuneatlas

Overview of the scripts used to analyse the brainimmuneatlas data
R
16
star
9

PeacoQC

Peak-based selection of high quality cytometry data
R
14
star
10

FlowSOM_Python

The complete FlowSOM package known from R, now available in Python!
Python
12
star
11

DeepLearning_for_ImagingFlowCytometry

A framework around Tensorflow-Keras that makes it easy to train and evaluate any deep learning architecture on imaging flow cytometry data.
Python
10
star
12

triwise

An R package to analyze and visualize gene expression differences in three biological conditions
R
6
star
13

NicheNet_LiverCellAtlas

Scripts used for the Differential NicheNet analyses in the Liver Atlas paper Guilliams et al., Cell 2022
R
6
star
14

MFs_peripheralCentralNerveSystem

Scripts of Ydens et al. Nature Neuroscience. 2020
R
5
star
15

dambi-hpc-guide

Basic and Advanced usage of High-Performance Computing in Bioinformatics
JavaScript
5
star
16

harpy

Python
5
star
17

ViScore

Single-cell dimensionality reduction evaluation and benchmarking toolkit
Jupyter Notebook
4
star
18

FlowSOM_protocol

R code to demonstrate the FlowSOM analysis pipeline.
R
3
star
19

binary-ivap

Jupyter Notebook
3
star
20

ViVAE_old

Autoencoder-based models for dimension reduction of high-dimensional cytometry and single-cell RNA-seq data based on geometry and nearest-neighbour relations
Python
3
star
21

ComputationalCytometry

Workshop computational cytometry
R
2
star
22

synthspot

synthvisium: package to generate synthetic Visium-like spot data
R
2
star
23

multivap

Multiclass generalization of the binary IVAP defense against adversarial examples
Jupyter Notebook
2
star
24

VIB_Hackathon_June_2024

Code repository for the VIB Hackathon June 2024 on spatial omics. More info: https://hackmd.io/@berombau/BJetSxw8T
Jupyter Notebook
2
star
25

GroupEnc

Encoder with group loss for global structure preservation
Python
2
star
26

ViVAE

Single-cell dimensionality reduction toolkit
Jupyter Notebook
2
star
27

muscatWrapper

Easy muscat differential expression analysis and visualization
HTML
1
star
28

portal

Site for https://saeyslab.github.io/portal/
HTML
1
star
29

Roquin-1-hyperinflammation

Code to generate some of the results described by Tavernier et al.
R
1
star
30

Kiss_et_al_CellularImmunologyReview

R code to replicate the tSNE and FlowSOM figures
R
1
star
31

hydra_hpc_example

Hydra HPC example
Python
1
star
32

sc_hackathon_2023

Ghent hackathon on Python/R interoperability for single cell and spatial bioinformatics
1
star
33

cifconvert

cifconvert is a package built on the python-bioformats package that saves images and masks from the proprietary Amnis CIF-file format to an HDF5 file.
Python
1
star
34

FlowSOM_workshop

Example usage of the FlowSOM package
R
1
star