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.useandtargets.useas a parameter tosubsetCommunication(). Otherwise only certain groups are visualized but interactions from all groups are included. Furthermore you could tweak the parametersligand.logFCandreceptor.logFCto limit or expand results.
I have the same problem now, how did you solve the issue?