carmonalab / GeneNMF

Methods to discover gene programs on single-cell data
85 stars 3 forks source link

How to determine number of MP? #2

Closed vincentguo0418 closed 4 months ago

vincentguo0418 commented 7 months ago

Hi,

I have two questions:

  1. How to determine a reasonable number of MetaProgram (i.e., nprograms in function getMetaPrograms)?
  2. How to cite your work?

Thanks

mass-a commented 7 months ago

Hello, thanks for your interest in our tool. To get an idea on the number of MPs, it's useful to inspect the similarity between individual NMF programs, for example as shown in the heatmap from this demo. Here you see 8 to 12 "blocks" of programs, which indicates that a reasonable number of MPs should be in this ballpark. Depending on the desired level of resolution (i.e. few broad MPs, or more specific ones), you can then decide where to cut the hierarchical tree of programs into consensus MPs. After running GeneNMF, you can also look at the MP metrics (stored in geneNMF.metaprograms$metaprograms.metrics), to see if the MPs are too broad, or redundant, and possibly iterate the analysis with a different target number of MPs.

As for citing GeneNMF in your work, we are currently working on a publication describing the method. In the meantime, you can use the information returned by: citation("GeneNMF")

Best -m

mass-a commented 5 months ago

To follow up on your second question, there is now a preprint describing GeneNMF and its application to discover gene programs in BCC:

Wounding triggers invasive progression in human basal cell carcinoma. Laura Yerly, Massimo Andreatta, Josep Garnica, Jeremy Di Domizio, Michel Gilliet, Santiago J Carmona, Francois Kuonen. bioRxiv (2024): 10.1101/2024.05.31.596823