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
From R-Universe (Recommended)
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 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
- Algorithm & Methodology: Deep dive into the computational methods
- Comprehensive Tutorial: Full analysis walkthrough
- Visualization Gallery: All available plot types
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