carmonalab / GeneNMF

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

Metaprogramms between conditions? #10

Open mihem opened 3 months ago

mihem commented 3 months ago

@mass-a thanks for this interesting package. I have an analysis question. You nicely show in your tutorial how GeneNMF can be used to detect gene metaprogramms across samples. But another common scenario is the following: you now have 10 control samples and 10 diseases samples. I would like to identify mp that are shared between diseases but are not present in controls or that are shared between controls but are not present in diseases.

How would you approach this?

Thanks!

mass-a commented 3 months ago

Hello and thanks for the question.

I see two potential ways to approach your problem. 1) Run GeneNMF on all your 20 samples and find MPs regardless of condition. Then you can ask whether a given MP is preferentially active in the samples from one of the conditions by scoring the MP gene sets in individual samples (similarly to this but splitting by sample). You could then evaluate mean and variance for each MP signature across samples, by condition. 2) Run GeneNMF separately for the two conditions (10 samples each). Then you can think of some similarity measures (Jaccard index?) between MPs to quantify whether you found the same or different MPs in the two different runs.

Does it make sense? other ideas? Best -m

mihem commented 3 months ago

Hi @mass-a and thanks for your swift response.

I think I get the general idea and it makes sense, will try it soon with my own data (which are more complex, less balanced and more conditions) and then may come back to you.