Skip to contents

Introduction

MultiNicheNet is a comprehensive computational framework developed for differential cell-cell communication (CCC) analysis in single-cell RNA sequencing (scRNA-seq) data. This package enables systematic investigation of intercellular signaling differences across biological conditions, disease states, or treatment groups. This vignette provides a quick start guide to get you up and running with MultiNicheNet in minutes.

Key Features

  • Multi-sample design support: Proper statistical inference at the sample level
  • Multi-condition analysis: Flexible contrasts for complex experimental designs
  • Integrated prioritization: Combines expression, specificity, and ligand activity metrics
  • Extensible framework: Supports integration of complementary data modalities

Installation

install.packages("multinichenetr", repos = "https://zaoqu-liu.r-universe.dev")

From GitHub

# Install dependencies
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(c("SingleCellExperiment", "muscat", "scuttle", "scran"))

# Install nichenetr
devtools::install_github("saeyslab/nichenetr")

# Install multinichenetr
devtools::install_github("Zaoqu-Liu/multinichenetr")

Quick Start Example

Load Required Packages

Load Example Data

MultiNicheNet provides built-in example data for testing:

# Load example SingleCellExperiment object
data(sce)

# Load test ligand-target matrix
data(ligand_target_matrix_test)

# Check dimensions
dim(sce)
table(colData(sce)$celltype)

Define Analysis Parameters

# Define metadata column names
sample_id <- "tumor"
group_id <- "pEMT"
celltype_id <- "celltype"

# Define contrasts of interest
contrasts_oi <- c("'High-Low'")  # Compare High vs Low pEMT
contrast_tbl <- tibble(
  contrast = "High-Low",
  group = "High"
)

Load Prior Knowledge Networks

# Load ligand-receptor network
lr_network <- readRDS(url(
  "https://zenodo.org/record/5884439/files/lr_network_human_21122021.rds"
))

# Process network
lr_network <- lr_network %>%
  dplyr::rename(ligand = from, receptor = to) %>%
  distinct(ligand, receptor)

# Load ligand-target matrix (use full matrix for real analysis)
ligand_target_matrix <- readRDS(url(
  "https://zenodo.org/record/5884439/files/ligand_target_matrix_nsga2r_final.rds"
))

Run MultiNicheNet Analysis

# Run the complete analysis pipeline
output <- multi_nichenet_analysis(
  sce = sce,
  celltype_id = celltype_id,
  sample_id = sample_id,
  group_id = group_id,
  batches = NA,
  covariates = NA,
  lr_network = lr_network,
  ligand_target_matrix = ligand_target_matrix,
  contrasts_oi = contrasts_oi,
  contrast_tbl = contrast_tbl,
  sender_receiver_separate = FALSE,
  min_cells = 5
)

Explore Results

# View prioritized interactions
head(output$prioritization_tables$group_prioritization_tbl)

# Get top interactions for a specific group
top_interactions <- output$prioritization_tables$group_prioritization_tbl %>%
  filter(group == "High") %>%
  filter(fraction_expressing_ligand_receptor > 0) %>%
  arrange(desc(prioritization_score)) %>%
  head(20)

print(top_interactions)

Basic Visualization

# Select top interactions for visualization
prioritized_tbl <- output$prioritization_tables$group_prioritization_tbl %>%
  filter(fraction_expressing_ligand_receptor > 0) %>%
  filter(group == "High") %>%
  top_n(10, prioritization_score)

# Create ligand-receptor product plot
p <- make_sample_lr_prod_plots(
  output$prioritization_tables,
  prioritized_tbl
)
print(p)

Output Structure

The multi_nichenet_analysis() function returns a list containing:

Component Description
prioritization_tables Prioritized ligand-receptor interactions
abundance_expression_info Expression and abundance information
celltype_info Cell type-specific information
grouping_tbl Sample grouping information
ligand_activities_targets_DEgenes Ligand activity inference results

Next Steps

Session Info

Citation

If you use MultiNicheNet in your research, please cite:

Browaeys, R. et al. MultiNicheNet: a flexible framework for differential cell-cell communication analysis from multi-sample multi-condition single-cell transcriptomics data. bioRxiv (2023). https://doi.org/10.1101/2023.06.13.544751


Maintained by Zaoqu Liu