Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected Results in CellChat Analysis Across Two Cohorts #220

Open
macelik opened this issue Aug 27, 2024 · 0 comments
Open

Unexpected Results in CellChat Analysis Across Two Cohorts #220

macelik opened this issue Aug 27, 2024 · 0 comments

Comments

@macelik
Copy link

macelik commented Aug 27, 2024

Hello,

I am running CellChat on two different cohorts, AML and healthy. After merging the datasets, I performed a differential analysis using the following commands with group.DE.combined set to both TRUE and FALSE:

pos.dataset = "AML"

cellchat.merged <- identifyOverExpressedGenes(cellchat.merged, group.dataset = "datasets", pos.dataset = pos.dataset, 
                                       features.name = features.name, only.pos = FALSE, thresh.pc = 0.1, 
                                       do.fast = TRUE)

After that, I filtered for significant interactions and pulled upregulated ligands and receptors separately for AML. I then repeated this process for downregulated interactions in the healthy cohort:

net_significant <- net %>%
  filter(ligand.pvalues < 0.1 | receptor.pvalues < 0.1)

ligand_upregulated <- subsetCommunication(cellchat.merged, net = net_significant, datasets = "AML", ligand.logFC = 0.25)
receptor_upregulated <- subsetCommunication(cellchat.merged, net = net_significant, datasets = "AML", receptor.logFC = 0.25)

upregulated <- rbind(ligand_upregulated, receptor_upregulated)

ligand_downregulated <- subsetCommunication(cellchat.merged, net = net_significant, datasets = "healthy", ligand.logFC = -0.25)
receptor_downregulated <- subsetCommunication(cellchat.merged, net = net_significant, datasets = "healthy", receptor.logFC = -0.25)

downregulated <- rbind(ligand_downregulated, receptor_downregulated)

Additionally, I create a column containing source and the target cell types.

upregulated$interaction_ID <- paste0(upregulated$source, ":", upregulated$ligand, "_", upregulated$target, ":", upregulated$receptor)

Expectation: I expected to see the interactions_IDs (including the signaling cell types) that are upregulated in AML to be downregulated in the healthy cohort, but this isn't the case. Instead, I get completely different interaction IDs between the two conditions.

upregulated[upregulated$interaction_ID %in% downregulated$interaction_ID,]

Question: Does this result make sense, or am I missing something in this context? Any insights or advice would be appreciated!

Thanks
Muhammet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant