carmonalab / GeneNMF

Methods to discover gene programs on single-cell data
47 stars 1 forks source link

empty meta-program #4

Open metaspine opened 1 month ago

metaspine commented 1 month ago

Hi could you please explain what is the meaning of "Dropped 1 empty meta-programs" after i run geneNMF.metaprograms <- getMetaPrograms(geneNMF.programs, nprograms=12, max.genes=50, hclust.method="ward.D2", min.confidence=0.3)

mass-a commented 1 month ago

Hello, the meta-programs are identified by clustering individual programs (as determined by NMF factorization of individual samples), and then determining a consensus set of genes (a "meta-program") that are consistently seen in a given cluster of programs. This is necessary because NMF is not deterministic and can return different solution depending on the initialization conditions.

It is likely that some weaker or noisier programs only appear in one run. The result is a cluster of weakly related programs with very low similarity, with no genes above a minimal confidence threshold (min.confidence parameter). These "empty" meta-programs are dropped from the GeneNMF solution, as in the case you reported.

Best -m

metaspine commented 1 month ago

Is there any way to remove empty meta-program from the figure?

metaspine commented 1 month ago

I did not find the min.confidence parameter in multiNMF()'s arguments. Could you please tell me how to do that, thx!

haukeh90 commented 1 month ago

Hi metaspine,

the min.confidence parameter is part of the getMetaPrograms function:

geneNMF.metaprograms <- getMetaPrograms(geneNMF.programs,
                                        nprograms=5,
                                        max.genes=50,
                                        hclust.method="ward.D2",
                                        min.confidence=0.1)

Best,

Hauke