CellChat
CellChat copied to clipboard
Working with multiple phenotypes in the same Seurat object
Hello!
I want to analyzed a single cell object that was process using Seurat. This object has 3 different phenotypes (control, treatment1,treatment2). I have all the cell types in the three phenotypes and each phenotype has 3-4 samples.
My question is: in the function identifyOverExpressedGenes you are estimating the differentially expressed genes, but however in the vignettes and in the issue https://github.com/sqjin/CellChat/issues/516 is specify to split the object by the different phenotype and analyzed separately.
Im curious of how the DEG are identify because if at the end you are comparing cell types from the same phenotype you are going to obtain DEG that differentiate the cell types so you might obtain canonical markers that differentiate the cell types. So at this point I could analyzed if a pathway appears in the control and the disappears? Those that mean that we are actually having this loose of the pathway? Or If I want to make comparison between pathways I should use the corresponding vignette?
Thanks in advanced! ANE
@anemartinezlarrinaga2898 Sorry for the late. I was thinking about the point you bring out. We identify DEG between different cell groups for each phenotype. I might more or less understand your concern. There are three ways you can consider.
- We now update the function
identifyOverExpressedGenes
so that you do not need to do DEG. - Merge the DEG lists from the three phenotypes
- Do DEG analysis from the merged Seurat object using Seurat and then take an input of this gene list as
features
and setdo.DE = FALSE
when runningidentifyOverExpressedGenes
.
For your case where there are 3 different phenotypes (control, treatment1,treatment2) and each phenotype has 3-4 samples, you can merge the 3-4 samples per each phenotype and run CellChat analysis using the merged samples for each phenotype. Then you can perform comparison analysis by merging the three CellChat objects (i.e., cellchat_control, cellchat_trearment1, cellchat_treatment2) using the tutorial Comparison_analysis_of_multiple_datasets
.
Hello, thank you for the answer!
What I did was to analyzed in different ways:
- Run the Cellchat complete pipeline in each phenotype separately and evaluate the results.
- Run Cellchat with all the phenotypes in one Seurat object and stabilizing the identity of my cells with a phenotype tag. This means my cells are called for example: BCell_Control this way I run identifyOverExpressedGenes considering the cell type and the phenotype.
- Run CellChat following the tutorial Comparison_analysis_of_multiple_datasets doing multiple comparison: control vs treatment1 , control vs treatment2 , treatment1 vs treatment 2.
In this way I get an overall picture of each phenotype independently, then considering the cell type and then making the comparisons.
Hopes it makes sense!
Thanks in advanced!
Hi,
I would like to follow-up on this. I have similar experimental design. Control, treatment 1 and treatment 2. I created cellchat object separately and merged them.
object.list <- list(Untreated = cellchat_untreated, treatment1 = cellchat_treatment1, treatment2=cellchat_treatment2) cellchat <- mergeCellChat(object.list, add.names = names(object.list)) gg1 <- compareInteractions(cellchat, show.legend = F, group = c(1,2,3)) gg2 <- compareInteractions(cellchat, show.legend = F, group = c(1,2,3), measure = "weight") gg1 + gg2 and so on.....
Would love to hear your thoughts on the workflow?
Thank you!
@apal6 if it helps I did different approaches.
- I did all the possible combinations and followed the vignette: https://htmlpreview.github.io/?https://github.com/jinworks/CellChat/blob/master/tutorial/Comparison_analysis_of_multiple_datasets.html
- Analyzed each of the phenotypes separately following: https://htmlpreview.github.io/?https://github.com/jinworks/CellChat/blob/master/tutorial/CellChat-vignette.html
- And lastly analyzed my combination of interest adding a tag of the specific treatment, this means: BCells_Treatment1 in this way you are forcing the DEG analysis to be not cell type but you are considering that cell types from different treatment are different which can give you a bigger insight.
This is how I have analyzed my data! Hope it helps!
(Okay, first off I got confused with the usage of the word “phenotype”. I think it’s misleading since you mean to say genotype/conditions and so it should be corrected.)
I have a similar problem that I’d like to take y’all suggestions: I created a single Seurat object (containing 3 genotypes: WT, patient 1 &2). I ran the clustering and annotations after FindAllMarkers function. And used this Seurat object which has clusters only specific to WT but not the others. So when I ran cellchat it does give me pathways which are observed to be only in the patient cell type clusters but no crosstalk among those clusters with WT’s (based on the circlize plot). Will this be considered a valid analysis?