sqjin / CellChat

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

interpretation rankNet mode comparison and netAnalysis_signalingRole_heatmap #419

Open sofiapuvogelvittini opened 2 years ago

sofiapuvogelvittini commented 2 years ago

Hello, I am having troubles to interpretate the output from rankNet(cellchat, mode = "comparison", stacked = T, do.stat = TRUE)$data. I am attaching a pdf file to explain my workflow. I have two datasets ("youth"and "grown"), and using cellchat rankNet, RELN signaling seems to be specific to the grown group (orange). Then, using netAnalysis_signalingRole_heatmap, I could identify that cluster 2 is the source of RELN (figure b in the pdf file) in the "grown" group. However, using MAST to identify deferentially expressed genes in cluster 2 between the two datasets , I obtain that RELN is upregulated in the "youth" group. I am including a heatmap that clearly shows increased RELN expression in the four replicates of the youth group, as compared to the four replicates of the grown group. So, How can it be possible that, according to cellchat, RELN is specific to the "grown" group if it is expressed more abundantly in the "youth" group? I am possibly interpreting something wrong. I would be very grateful if you help me understand it better. Thank you very much for your time, Sofia corroborate.pdf

sofiapuvogelvittini commented 2 years ago

I am also attaching a picture showing how it looks the expression of the different L-R of RELN pathway among the different clusters, in the two datasets (light blue = youth, orange = grown). This may help to interpretate the results.

Thanks a lot. LR_RELN_expression.pdf

sqjin commented 2 years ago

@sofiapuvogelvittini It looks like gene expression levels in this pathway is very low from your violin plot. Can you quantitatively check the expression of these ligands and receptors using a similar code as follows `computeAveExpr(cellchat, features = c("CXCL12","CXCR4"), type = "truncatedMean", trim = 0.1). where cellchat is the cellchat object from one condition. please also use the matched method for computing the average expression when runningcomputeCommunProb`. I am afraid one subunit of the receptor complex does not have expression in 'grown' group.

sofiapuvogelvittini commented 2 years ago

Thank you very much for your fast reply @sqjin The expression of the receptor units is very low in both groups. By indicating computeAveExpr(cellchat, features = c("RELN","ITGA3","ITGB1), type = "truncatedMean", trim = 0.1), the expression of the respective genes in cluster 2 is 1.73, 0.04, 0.16 in the youth and 1.37, 0.06, 0.13 in the grown. When doing computeCommunProb and setting type = "truncatedMean", trim = 0.1, RELN is indicated as enriched in youth (light blue) instead of grown group (orange). However, using computeCommunProb with type = "truncatedMean" trim = 0.1, I obtain other "weird" results. For example, VCAM is indicated as enriched in youth, particularly in cluster 15, but if I see the expression of the pair of L-R, the expression is very low in both. Which settings could I modify to obtain only stronger interactions? Thanks a lot. significantly_different_signaling_pathways.pdf LR_VCAM_expression.pdf expression_VCAM_pairs_trim01_grown.csv espression_VCAM_pairs_trim01_youth.csv