CCPE
January 21, 2022 ยท View on GitHub
Introduction
CCPE is a cell cycle pseudotime estimation method characterizing cell cycle timing from single-cell RNA-seq data. CCPE maps high-dimensional scRNA-seq data onto a helix in three-dimensional space, where 2D space is used to capture the cycle information in scRNA-seq data, and one dimension to predict the chronological orders of cells along the cycle, which we called cell cycle pseudotime. ScRNA-seq data is repeatedly transformed from high dimensional to low dimensional and then mapped back to high dimensional. At the same time, CCPE iteratively optimizes the discriminative dimensionality reduction via learning a helix until convergence (Figure 1). CCPE is applied to several downstream analyses and applications to demonstrate its ability to accurately estimate the cell cycle pseudotime and stages.
Reference
Our paper was published in Nucleic Acids Research, available at Jiajia Liu, Mengyuan Yang, Weiling Zhao, Xiaobo Zhou, CCPE: cell cycle pseudotime estimation for single cell RNA-seq data, Nucleic Acids Research, 2021
Quick Start
drtoolbox was downloaded from https://lvdmaaten.github.io/drtoolbox/
wget https://github.com/LiuJJ0327/CCPE/archive/refs/heads/main.zip
unzip CCPE-main.zip
cd CCPE-main/
matlab run.m
Tansfer pseudotime to discrete stages
Rscript pseudotime_to_label.r
Applications and analyses of CCPE
The reproduction of the applications and analyses in our paper can be available at reproduction/
1. Pseudotime analysis
Rscript reproduction/pseudotime_analysis/4_analysis_R/plot_pseudotime.r
2. Gene expression analysis (example: Aurka)
Rscript reproduction/pseudotime_analysis/4_analysis_R/correlation.r
library(Seurat)
mesc<-read.table("./pseudotime_analysis/1_mesc_Quartz_data/mESC_Quartz_preprocessed.txt",header=T,row.names = 1)
marrow <- CreateSeuratObject(raw.data = mesc)
marrow@ident<-factor(marrow@ident,levels = c("G1","S","G2M"))
RidgePlot(object =marrow, features = 'Aurka')
3. Evaluation of the performance using then clustering metrics (example: E-MTAB-2805 mESCs data)
matlab estimate_mtrics/Evaluate.m
plot evaluation result of CCPE
library(ggplot2)
metrics<-read.csv("./comparison/2_mesc_288/evaulation_mesc_avg.csv",header = T)
CCPE_metrics<-metrics[metrics$method=='CCPE',]
ggplot(CCPE_metrics,aes(metrics,value,fill=metrics))+geom_bar(stat="identity",position="dodge")
4. Differential gene expression analysis
Differentially expressed genes were identified using Deseq2
Gene set enrichment analysis was using Enrichr
5. UMAP plot of simulated dataset with dropouts
Rscript UMAP_cancer_cellline.r
6. Cell cycle effect removal
Rscript reproduction/cell_cycle_effect_removal/cellcycle_removal.r