📚 Documentation: https://zaoqu-liu.github.io/NOVA/
NOVA is a high-performance R package for inferring and visualizing cell-to-cell communication networks from single-cell and bulk transcriptomic data. By leveraging the connectomeDB2020 ligand-receptor interaction database, NOVA enables systematic identification of intercellular signaling interactions across diverse biological contexts.
Cell-to-cell communication is fundamental to multicellular organisms, orchestrating processes from development to immune responses. NOVA provides a comprehensive computational framework for:
| Feature | Description |
|---|---|
| Seurat Integration | Native compatibility with Seurat V4 and V5 objects |
| Multi-Species | Support for 21 species via NCBI HomoloGene |
| High Performance | Vectorized operations with optional C++ acceleration |
| Rich Visualization | Heatmaps, network graphs, chord diagrams, and more |
| Differential Analysis | Compare communication patterns between conditions |
install.packages("NOVA", repos = "https://zaoqu-liu.r-universe.dev")
# install.packages("remotes")
remotes::install_github("Zaoqu-Liu/NOVA")
library(NOVA)
# From Seurat object
result <- ExtractEdges(
seurat_obj,
species = "mouse",
cluster_col = "cell_type"
)
# View results
print(result)
summary(result)
# Communication heatmap
PlotHeatmap(result, metric = "specificity")
# Network graph
PlotNetwork(result, layout = "circle")
# Chord diagram
PlotChord(result)
# LR pairs between clusters
PlotLRPairs(result, sending = "T_cells", target = "Macrophages")
# Compare two conditions
diff <- DiffEdges(ctrl_result, treat_result, log2fc_threshold = 1)
# Visualize changes
PlotDiffHeatmap(diff)
PlotVolcano(diff)
NOVA computes cell-cell communication edges based on ligand-receptor co-expression:
Detection Rate: Proportion of cells expressing each gene
pct = n_expressing / n_total
Expression Specificity: Cluster-level enrichment score
specificity = mean_cluster / Σ(mean_all_clusters)
Edge Weight: Product of ligand and receptor metrics
weight = ligand_expression × receptor_expression
edge_specificity = ligand_specificity × receptor_specificity
NOVA uses connectomeDB2020, comprising:
NOVA supports 21 species through NCBI HomoloGene:
supported_species()
#> human, mouse, rat, zebrafish, fruitfly, chimpanzee, dog,
#> monkey, cattle, chicken, frog, mosquito, nematode, ...
| Function | Description |
|---|---|
ExtractEdges() |
Infer ligand-receptor mediated interactions |
FilterEdges() |
Filter edges by expression/specificity thresholds |
GetEdges() |
Retrieve edges for specific cluster pairs |
DiffEdges() |
Differential communication analysis |
PlotHeatmap() |
Communication strength heatmap |
PlotNetwork() |
Network visualization |
PlotChord() |
Chord diagram |
PlotLRPairs() |
Bipartite L-R visualization |
PlotDiffHeatmap() |
Differential heatmap |
PlotVolcano() |
Volcano plot for differential analysis |
If you use NOVA in your research, please cite:
@software{nova2026,
author = {Liu, Zaoqu},
title = {NOVA: Network Of Versatile Cell-Cell Communication Analysis},
year = {2026},
url = {https://github.com/Zaoqu-Liu/NOVA}
}
NOVA builds upon the connectomeDB2020 database:
Hou, R., Denisenko, E., Ong, H.T. et al. Predicting cell-to-cell communication networks using NATMI. Nat Commun 11, 5011 (2020). https://doi.org/10.1038/s41467-020-18873-z
This project is licensed under the MIT License - see the LICENSE file for details.