PlantCellChat: An R Toolkit for Predicting Plant Cell–Cell Communication
Graphical abstract illustrating the PlantCellChat workflow, including database construction, receptor prediction (PCC-GCN), and communication analysis.
🌱 Introduction
PlantCellChat is an R-based computational framework for inferring and visualizing cell–cell communication (CCC) in plants using single-cell RNA sequencing (scRNA-seq) and spatial transcriptomics data.
It integrates a high-confidence PlantCellChatDB of ligand–receptor pairs and implements a mass action–based model to compute communication strength between cell types.
PlantCellChat additionally incorporates a graph convolutional network (GCN) module, PCC-GCN, to predict hormone-binding receptor proteins that have not yet been experimentally characterized — a feature absent in all existing CCC tools.

⚙️ Installation
library(devtools); install_github("Jdlutt/PlantCellChat"); library(PlantCellChat)
All dependencies will be installed automatically.
🚀 Quick Start Example
pccob <- CreatePlantCellChat(object = seob, meta = seob@meta.data, input.ident = "celltype", assay = "SCT")
pccob <- ExtractSignalingData(pccob)
pccob <- IdentifyOverExpressedGenes(pccob)
pccob <- ExtractOverExpressedInteractions(pccob)
pccob <- CalculateAvgExp(pccob,methods = "average")
pccob <- CalculateCommunStrength(pccob,Kh = 0.5,n = 1,num.permutations = 100,seed = 123)
pccob <- CalculateSignalingStrength(pccob,Kh = 0.5,n = 1,num.permutations = 100,seed = 123)
PlottingLRpairStats(pccob)
PlottingCommunNetwork(pccob,ligand.type = "lrpairs",comm.pattern = "paracrine",plot.type = "chord",input.color = color_list)
CompareSignalCommunStrength(pcc_obj = pccob,
pcc_obj_list = pccob_list,
ligand.type = "lrpairs",
key.source = "Leaf guard cell",
key.target = "Mesophyll",
key.signal = "JA",
top.n = 10,
input.color = c("#f68d8d","#88b2f2"))
For a full tutorial, see vignettes/PlantCellChat_Tutorial.Rmd.
📊 Key Functions Summary
Function Description
CreatePlantCellChat() Create analysis object
ExtractSignalingData() Extract signaling-related genes
IdentifyOverExpressedGenes() Identify differentially expressed signaling genes
ExtractOverExpressedInteractions() Identify active ligand–receptor pairs
CalculateCommunStrength() Compute CCC strength
PlottingCommunNetwork() Visualize cell–cell communication
PredictHormoneReceptor() Predict hormone receptor type via PCC-GCN
PlottingSignalContribution() Visualize receptor contributions in signaling pathways
🌍 Repository Structure
PlantCellChat/
├── R/ # Core functions
├── data/ # Example model (PCC-GCN)
├── vignettes/ # Tutorials (.Rmd)
├── figures/ # Workflow figures
└── README.md # Documentation
🌐 Webserver for PlantCellChat
To make PlantCellChat accessible to a wider audience without requiring R installation,
we have also developed an interactive webserver, available at:
👉 https://bioinformatics.fafu.edu.cn/PlantCellChat/. To run R package locally, here is the example code: https://pan.baidu.com/s/1cU04PiVi278HcdVjYJRIKA?pwd=b6sw.
The shiny codes for PlantCellChat is available at https://github.com/mrliuw/PlantCellChatDB
This webserver allows users to:
Browse ligand–receptor (LR) interaction datasets from five plant species
Search by species, signaling pathway, and interaction type
Explore precomputed single-cell and spatial communication networks
Download LR-pair data tables for custom analyses
View documentation and workflow summaries online
💡 The web interface is implemented using R Shiny, with the same analytical core as the PlantCellChat R package.
Researchers can either run PlantCellChat locally in R or explore key results directly via the webserver.
🧠 Citation Liu W. and Zhu X. et al. (2025). PlantCellChat: A computational framework for predicting plant cell–cell communication and hormone receptor networks in plants. Manuscript in preparation.
📨 Contact 📧 jdluttzxr@gmail.com/weilau@fafu.edu.cn GitHub: mrliuw/PlantCellChat