CCCvelo: Decoding dynamic cell-cell communication-driven cell state transitions in spatial transcriptomics
CCCvelo is a computational framework designed to reconstruct CCC-driven CST dynamics by jointly optimizing a dynamic CCC signaling network and a latent cell-state transitions (CST) clock through a multiscale, nonlinear network kinetics model. CCCvelo can estimated RNA velocity, cell pseudotime, pseudo-temporal dynamics of TGs’ expressions or TFs’ activities, and the cell state-specific multilayer signaling network of CCC. These functionalities enable the reconstruction of spatiotemporal trajectories of cells while simultaneously capturing dynamic cellular communication driving CST. CCCvelo employs several visualization strategies to facilitate the analysis of CCC-driven CST dynamics. These visualizations mainly include velocity streamlines illustrating CST trajectories, heatmap visualizations of gene expression and TF activity along pseudotime, and multilayer network plots of CCC displaying the signaling paths from upstream LR pairs to TFs and then to the downstream TGs.
The main features of CCCvelo are:
- (1) the reconstruction of spatiotemporal dynamics of CCC-regulated CSTs within a spatial context
- (2) quantitative ordering of cellular progression states through velocity vector field embedding
- (3) the identification of dynamic rewiring of CCC signaling
Create a separate conda environment for version control and to avoid potential conflicts. Please install the corresponding version of the package according to the requirements.txt, then the package CCCvelo can be directly used.
conda create -n cccvelo python=3.8.10
conda activate cccvelo
pip install -r requirements.txt
Before running CCCvelo, you need using select_LRTG.R function to select candidate ligands, receptors, and feature genes from the expression data, and then save the result into the input files under the path data/precessed/. The input files include:
data/precessed/
├── raw_expression_mtx.csv # Raw expression matrix (cells × genes)
├── cell_meta.csv # Cell meta information (Cluster annotations)
├── cell_location.csv # Cell spatial coordinates
├── Databases.json # Ligand-Receptor-TF database
├── Ligs_list.json # Candidate Ligands
├── Recs_list.json # Candidate Receptors
├── TGs_list.json # Candidate Target Genes
We provide a step-by-step demonstration of how to run CCCvelo using a sample dataset, available in the Demo directory. The demo dataset can be download from https://www.dropbox.com/s/c5tu4drxda01m0u/mousebrain_bin60.h5ad?dl=0
The demonstration includes the following files:
0_preprocess_MouseBrain.ipynbcontains the code for preprocessing the raw dataset and exporting formatted inputs for use in R1_select_LRTG.Rprepares the inputs for CCCvelo model2_runCCCvelo_on_MouseBrainCortex.ipynbprovides the full pipeline to run CCCvelo on the mouse cortex data
Additionally, analysis codes for two more datasets (including human prostate and mousr embryo trunk) can be found in the CCCvelo_analysis repository (https://github.com/SunXQlab/CCCvelo-analysis), which includes:
analysis_in_HumanProstatecontains the codes for preprocessing the raw dataset and running CCCvelo on the human prostate dataanalysis_in_EmbryoTrunkcontains the codes for preprocessing the raw dataset and running CCCvelo on the mousr embryo trunk data
For application of CCCvelo to any other ST datasets, a detailed tutorial is provided in the CCCvelo_tutorial.md (https://github.com/SunXQlab/CCCvelo/blob/main/CCCvelo_tutorial.md), and you can follow it step-by-step to analyze your dataset.
