saeyslab / multinichenetr

MultiNicheNet: a flexible framework for differential cell-cell communication analysis from multi-sample multi-condition single-cell transcriptomics data
GNU General Public License v3.0
117 stars 14 forks source link

How should I set the contrast table #9

Closed ziyangliu93 closed 1 year ago

ziyangliu93 commented 1 year ago

Hi, thank you for your nice work on this multinichenetr project. When I started using it, I encountered some problem. Here is what it is: I got a single-cell dataset consisting of 3 groups A, B and C. For my specific purpose, I want to compare A vs C and B vs C but no anything other comparisons. I wonder how should I set the contrast_oi and contrast_tbl in this situation.

Looking forward to your reply.

ziyangliu93 commented 1 year ago

I almost forgot, under the situation I specify, I want to show circos plot for both A B and C.

browaeysrobin commented 1 year ago

Dear @ziyangliu93

If you are really not interested in a A vs (C+B) comparison (which would be an easy contrast/contrast_tbl definition as shown in the vignettes), I suggest running two separate MultiNicheNet analyses: one for A-vs-B and one for A-vs-C

Note that it does not make sense to wanting to show circos plots for all A, B and C if C would be involved in two different comparisons. You would need to make two different circos plots for C then.

ziyangliu93 commented 1 year ago

Hi, thank you for your quick reply, because for my specific purpose, what I want to know is the interaction network differences in A, B and C under the same comparison settings. for example, for 10 same genes, there might be some interactions among gene 1 to gene 6 in group C (my control group), but the same interaction might occur also amongst gene 1 to gene 6 in group A and B, respectively, with different interaction strength and/or different interaction cell pairs. That is why I want to show 3 independent circos plots for A, B and C here. Looking forward to your reply.

browaeysrobin commented 1 year ago

In that case, I suggest running the analysis with the following settings. Then you compare A and B vs C separately, but you compare your control to both A and B contrasts_oi = c("'C-(A+B)/2','A-C,'B-C'") contrast_tbl = tibble(contrast = c("C-(A+B)/2","A-C", "B-C"), group = c("C","A","B"))

Note that the prioritization scores that are given as output should not be interpreted as interaction strengths, only as scores to rank interactions.

ziyangliu93 commented 1 year ago

Hi, again, thank you for your kind and detailed suggestions, I will try to adjust my analysis code with your suggestions and see whether it suits my needs.