How do I compute LSC scores ("stemness") onto a UMAP in Seurat?

86 Views Asked by At

In Seurat, I am working with a UMAP of blast cells and would like to use the LSC17 coefficients to produce a feature plot with "stemness" scores generated from the LSC17 onto the UMAP. I'm using this equation (Ng et al., 2016):

LSC17 score = (DNMT3B × 0.0874) + (ZBTB46 × −0.0347) + (NYNRIN × 0.00865) + (ARHGAP22 × −0.0138) + (LAPTM4B × 0.00582) + (MMRN1 × 0.0258) + (DPYSL3 × 0.0284) + (KIAA0125 × 0.0196) + (CDK6 × −0.0704) + (CPXM1 × −0.0258) + (SOCS2 × 0.0271) + (SMIM24 × −0.0226) + (EMP1 × 0.0146) + (NGFRAP1 × 0.0465) + (CD34 × 0.0338) + (AKR1C3 × −0.0402) + (GPR56 × 0.0501)

I think I'm supposed to use AddModuleScore in Seurat which looks like this:

AddModuleScore(
  object,
  features,
  pool = NULL,
  nbin = 24,
  ctrl = 100,
  k = FALSE,
  assay = NULL,
  name = "Cluster",
  seed = 1,
  search = FALSE,
  ...
)

I'm just not sure how to go from the LSC17 score to AddModuleScore. Any help would be greatly appreciated!

The citation for the LSC17 score:

Ng SW, Mitchell A, Kennedy JA, Chen WC, McLeod J, Ibrahimova N, Arruda A, Popescu A, Gupta V, Schimmer AD, Schuh AC, Yee KW, Bullinger L, Herold T, Görlich D, Büchner T, Hiddemann W, Berdel WE, Wörmann B, Cheok M, Preudhomme C, Dombret H, Metzeler K, Buske C, Löwenberg B, Valk PJ, Zandstra PW, Minden MD, Dick JE, Wang JC. A 17-gene stemness score for rapid determination of risk in acute leukaemia. Nature. 2016 Dec 15;540(7633):433-437. doi: 10.1038/nature20598. Epub 2016 Dec 7. PMID: 27926740.

1

There are 1 best solutions below

0
On

Generate a list with up- and down-regulated genes as follows:

LSC17.score = list(stemness = c("DNMT3B+", "ZBTB46-", "NYNRIN+", "ARHGAP22-", "LAPTM4B+", "MMRN1+","DPYSL3+", "KIAA0125+", "CDK6−", "CPXM1-", "SOCS2+", "SMIM24−", "EMP1+", "NGFRAP1+", "CD34+", "AKR1C3-", "GPR56+"))

Then, use AddModuleScore_UCell() function from the UCell package:

library(UCell)
seurat_obj <- AddModuleScore_UCell(seurat_obj, features = LSC17.score, name = NULL)

You can then visualise the scores on the UMAP (or whatever your dimensional reduction is):

FeaturePlot(seurat_obj, reduction = "umap", features = names(LSC17.score))