CellChat
CellChat copied to clipboard
Differential expression analysis reports same pair L-R as both downregulated and upregulated ???
Hi @sqjin Congrats on this this great library.
I am running some of the functions on my datasets and I came across an interesting observation.
After DGE analysis, I am finding the same pair of LR both downregulated and upregulated, as shown in the fig below. How would it be possible?
Thus, I am a bit confuse on how to interpret this observations. Here is the code I used to generate the chart.
The idea is to compare two conditions NPD (control) and LPD
LPD should downregulate genes, therefore, NPD will be chosen as positive dateset
pos.dataset = "NPD"
features.name = pos.dataset
cellchat <- identifyOverExpressedGenes(cellchat, group.dataset = "datasets", pos.dataset = pos.dataset, features.name = features.name, only.pos = FALSE, thresh.pc = 0.2, thresh.fc = 0.2, thresh.p = 0.05)
net <- netMappingDEG(cellchat, features.name = features.name)
net.up <- subsetCommunication(cellchat, net = net, datasets = "NPD",ligand.logFC = 0.2, receptor.logFC = NULL)
net.down <- subsetCommunication(cellchat, net = net, datasets = "LPD",ligand.logFC = -0.1, receptor.logFC = -0.1)
gene.up <- extractGeneSubsetFromPair(net.up, cellchat)
gene.down <- extractGeneSubsetFromPair(net.down, cellchat)
pairLR.use.up = net.up[, "interaction_name", drop = T]
gg1 <- netVisual_bubble(cellchat, pairLR.use = pairLR.use.up, sources.use = 3, targets.use = c(3), comparison = c(1, 2), angle.x = 45, remove.isolate = T,title.name = paste0("Up-regulated signaling in ", names(object.list)[1]))
pairLR.use.down = net.down[, "interaction_name", drop = T]
gg2 <- netVisual_bubble(cellchat, pairLR.use = pairLR.use.down, sources.use = c(3), targets.use = c(3), comparison = c(1, 2), angle.x = 45, remove.isolate = T,title.name = paste0("Down-regulated signaling in ", names(object.list)[1]))
gg1 + gg2
help is greatly appreciated
Hey @giovanegt, for me it helped to add sources.use
and targets.use
as a parameter to subsetCommunication()
. Otherwise only certain groups are visualized but interactions from all groups are included. Furthermore you could tweak the parameters ligand.logFC
and receptor.logFC
to limit or expand results.
for me it helped to add
sources.use
andtargets.use
as a parameter tosubsetCommunication()
. Otherwise only certain groups are visualized but interactions from all groups are included. Furthermore you could tweak the parametersligand.logFC
andreceptor.logFC
to limit or expand results.
I have the same problem now, how did you solve the issue?