Hello, I've attempted to apply NMF clustering to my scRNA-seq data, and I've encountered some unexpected results. Below is my code snippet:
EPCAM.cell = ScaleData(object = EPCAM.cell, do.scale = FALSE, do.center = FALSE)
nmf_data = EPCAM.cell@assays$RNA@scale.data
HVG = EPCAM.cell@assays$RNA@var.features
nmf_data = nmf_data[, HVG]
res_nndsvd = nmf(nmf_data, rank = 2:10,method = "snmf/r", seed = "nndsvd", nrun = 30)
plot(res_nndsvd)
Please note that EPCAM.cell is a Seurat object. Upon plotting, I observed the following:
The cophenetic and dispersion plots remained constant, exhibiting no variation across different rank values. Does this suggest an issue in my code? Thank you for your attention.
Thank you for your suggestions.
I wanted to supply the normalized counts to the NMF and set "do.scale = FALSE" to avoid negative value. I checked the nmf_data[, HVG] and it seemed fine.
What do the resulting H W matrices look like from the runs?
I tried cNMF and it looks good~~. Thank you for your suggestions