Closed bhyu0217 closed 1 year ago
Hello Bohyeon,
yes I think UCell would work well for evaluating cell cycling signatures. Here is an example on a public dataset:
library(scRNAseq)
library(Seurat)
library(UCell)
data <- ZilionisLungData()
#focus on Tcells
labels <- data$`Major cell type`
data <- data[, !is.na(labels) & labels == "tT cells"]
exp <- Matrix::Matrix(counts(data),sparse = TRUE)
data <- CreateSeuratObject(counts = exp)
data <- data |> NormalizeData() |> ScaleData() |>
FindVariableFeatures(nfeatures=500) |> RunPCA(npcs=20) |> RunUMAP(dims=1:20)
Get cell cycling signatures (here using signatures from Tirosh et al. Science (2016)):
remotes::install_github("carmonalab/SignatuR")
library(SignatuR)
g1s <- GetSignature(SignatuR$Hs$Programs$cellCycle.G1S)
g2m <- GetSignature(SignatuR$Hs$Programs$cellCycle.G2M)
Score signatures using UCell:
data <- AddModuleScore_UCell(data, features=list("G1S"=g1s, "G2M"=g2m))
FeaturePlot(data, features=c("G1S_UCell","G2M_UCell")) &
scale_color_viridis(discrete = FALSE, option="A", direction = -1)
It is perhaps not obvious to decide on a 'threshold' to discretize the scores to a cycling/non-cycling classification. But at least the scores should behave consistently across datasets, and are not influenced by the background expression level of cell cycling genes.
I hope this helps, -m
Hi @mass-a ,
That's awesome; it's conducive to me!!! Thank you very much.
Bohyeon
Hi, Thank you for developing a fascinating tool! This tool is very useful to my study.
As the title says, I wonder the UCell scoring can be used to assign cell-cycle phase with cell-cycle signature genes. The cell-cycle scoring of Seurat is sensitive to the scaling method and the randomized feature sets (background).
The UCell scoring method could be more tolerant of these issues. Do you have any sense about the scoring of the cell-cycle phase with UCell? Thank you.
Best, Bohyeon