sqjin / CellChat

R toolkit for inference, visualization and analysis of cell-cell communication from single-cell data
GNU General Public License v3.0
632 stars 144 forks source link

Suggestion on shortlisting down-regulated pathways #277

Open Manikgarg opened 3 years ago

Manikgarg commented 3 years ago

Thanks @sqjin ! I am in a similar situation and I have decided to merge two cellchat objects at a time to do the Part III of analysis. I noticed that in identifying the upregulated pathways, receptor.logFC is marked as NULL but wouldn't the signaling be reduced if the receptor has negative LFC? Sorry if I am missing something! With this assumption, I was thinking of modify the code to:

net.up <- subsetCommunication(cellchat, net = net, datasets = "WH",ligand.logFC = 0.2, receptor.logFC = 0.2)
net.up_down <- subsetCommunication(cellchat, net = net, datasets = "WH",  ligand.logFC = 0.2, receptor.logFC = -0.1)
net.down1 <- subsetCommunication(cellchat, net = net, datasets = "IFNL",  ligand.logFC = -0.1, receptor.logFC = -0.1)
net.down<-rbind(net.up_down, net.down1)

Do you think this makes sense? I am also a bit confused about when we want to calculate the downregulated pathways in "WH", why don't we simply flip the signs for logFC while keeping the dataset same: net.down1 <- subsetCommunication(cellchat, net = net, datasets = "WH",ligand.logFC = -0.1, receptor.logFC = -0.1) or change the dataset but shortlist the upregulated pathways in IFNL (i.e. with positive logFC): net.down1 <- subsetCommunication(cellchat, net = net, datasets = "IFNL",ligand.logFC = 0.1, receptor.logFC = 0.1) Why do we switch to non-positive dataset as well as invert the sign to negative?: net.down1 <- subsetCommunication(cellchat, net = net, datasets = "IFNL",ligand.logFC = -0.1, receptor.logFC = -0.1) Wouldn't it shortlist the downregulated pathways in IFNL that would ideally be upregulated in WH?

Hope I managed to explain it properly. Any help much appreciated!! Thanks!

Originally posted by @Manikgarg in https://github.com/sqjin/CellChat/issues/238#issuecomment-907606738

sqjin commented 3 years ago

@Manikgarg Hope everything is going well with you. I usually only use net.up and net.down1.

When we set datasets = "WH", then we will return the signaling network inferred based on the data from WH. However, when we set datasets = "IFNL", we will return the signaling network inferred based on the data from IFNL. Thus I think it might be better to define it by USER.