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
107 stars 14 forks source link

Running multinichenet for a single sampleID but 3 groupID #68

Closed ceciih closed 3 months ago

ceciih commented 3 months ago

Dear,

I have an experimental setup in which I have 3 treatment timepoints from 2 patients and I was running the following configuration:

sample_id = "PatientID" group_id = "TimePoint" celltype_id = "predicted.celltype.l1" covariates = NA batches = NA being: TimePoint = T1.Pre T2.Early T3.Late and PatientID: P1_Early P1_Late P1_Pre P2_Early P2_Late P2_Pre

However, I observed interpatient differences for some interactions and thus the ligand activity in receiver is difficult to interpret. Therefore, I would like to study them independently but when I have only one sampleID per groupID, I get the following error:

[1] "These celltypes are not considered in the analysis. After removing samples that contain less cells than the required minimal, some groups don't have 2 or more samples anymore (also relevant for groups not included in your contrasts!). As a result the analysis cannot be run. To solve this: decrease the number of min_cells or change your group_id and pool all samples that belong to groups that are not of interest! " [1] "DE analysis did error for all cell types. This might be because of several reasons - check the original error message for this. Here are 2 common reasons in case no cell type past the filtering criteria: 1) no cell type has enough cells in >=2 samples per group. 2) problem in batch definition: not all levels of your batch are in each group - Also for groups not included in your contrasts!"

How would you advise to do this? Is it possible? Would it be enough by subsetting the final multinichenet_output?

Thanks in advance for the assistance!

browaeysrobin commented 3 months ago

Hi @ceciih

The error message that is thrown in case you want to analyze 1 sample/patient is a "feature not a bug" since it is not possible to perform proper DE analysis with the pseudobulk-edgeR framework in that case.

In general, we strongly recommend having at least 4 samples in each of the groups/conditions you want to compare.

However, we also understand that it's sometimes not possible to reach this number of samples for analyses, and that you still want to explore cell-cell communication patterns in your data. For these instances, we have developed a new "sample-agnostic" workflow to perform differential cell-cell communication with a MultiNicheNet-like prioritization framework : Differential cell-cell Communication for datasets with limited samples: “sample-agnostic/cell-level” MultiNicheNet.

(note, running this vignette requires updating to multinichentr 2.0.0)