sqjin / CellChat

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

High expression level of receptor in one cell type but not showing up in results #454

Open EvelynZav opened 2 years ago

EvelynZav commented 2 years ago

Hi,

Thank you for this great package, I am really enjoying using it.

I have a question: In my dataset (labelled prior), when focusing on one signaling pathway of interest, I observe a relatively high expression of a specific receptor in one cell type, according to the violin plot. There is only one other receptor enriched in this signaling pathway, and it is relatively equal in contribution. However, I then see a communication probability = 0 between this cell type and the expression of the ligands in the signaling pathway. I.e. this cell type (highly expressing 1/2 receptors) is not shown to be the target of the ligands expressed from any cell group.

How can this be explained? I presume there's a few explanations for this based off the method. Can the criteria for identifying significant pathways from the over-expressed ligands and receptors be modulated by me to be less stringent perhaps?

This is the violin plot of the expression of the receptors, with the cell type of interest highlighted. The row on top is the other receptor in this pathway, the row on bottom is the receptor of interest: Screen Shot 2022-08-09 at 2 34 15 PM

And then this is the resulting netVisual_heatmap of the signaling pathway of interest (5 enriched genes total). The columns/rows for the cell type of interest are highlighted, where communication probability = 0. Screen Shot 2022-08-09 at 2 26 22 PM

I hope I have provided sufficient information.

Any help is greatly appreciated, thank you.

sqjin commented 2 years ago

@EvelynZav Please check the expression via computeAveExpr(cellchat, features = c("CXCL12","CXCR4"), type = "truncatedMean", trim = 0.1). You can check the tutorial for details on this point. If your ligands/receptors are complex, please make sure both the subunits have non-zero expression in the cell group.

EvelynZav commented 2 years ago

Thank you - decreasing the truncated mean parameter worked to see more observations. I am still a bit confused with the 'trimean' / truncated mean method used. Based on how it is described in the tutorial, I initially understood that if any cell group has < 25% of cells expressing the gene, the average gene expression value = 0. Is this correct? I also understood that using a 10% or 5% truncated mean is to trim 10% or 5% off both ends of the data and then calculate the mean. I am trying to see now if these definitions make sense with my data and the results of computeAveExpr.

sqjin commented 2 years ago

@EvelynZav IF you use trimean, you will find the most highly expressed signaling, but you may also miss the weak signaling. trim = 0.1 usually works for most cases.