Open satkinson0115 opened 1 week ago
Hey @satkinson0115,
Thanks for reaching out and providing an excellent run down of what is going on and your sessionInfo()
. I am going to take this so new users can take a look at it.
When I look at the ec.markers.fullNorm table I see that GOBP-VACUOLE-ORGANIZATION has an average L2FC of 292.99. My first question is, does that avg_L2FC make sense or has something gone wrong? That's is quite high.
No that does not make sense to me as that is way higher than I would expect. Although you are comparing different cell types, so maybe if you are looking at epithelial cells vs neutrophils (which will have super low counts)? But if the counts are relatively the same or same order of magnitude that seems very high.
Are there NA cell_types that are not being plotted?
With a L2FC that high I expected the enrichment scores of the EC group to be distributed well higher than the other groups. Am I interpreting how the differential expression works wrong? Or interpreting the plot wrong?
No you are interpreting correctly - with a high log FC, you would expect the EC to be far shifted to the right.
From the normalized data perspective, my guess is that the EC cells have a higher level of features/counts and that is responsible for your difference in normalized vs unnormalized enrichment:
Normalized:
Unnormalized:
The plotting of the normalized values with the ridgeplot or heatmap look to be the same trend. What does not make sense it the logFC values you are getting. I am happy to troubleshoot with you, honestly I do not have an answer. If you want to email me your seurat object or a sample of it, I can try to debug.
Sorry I do not have a better solution at the moment.
Nick
Hi @ncborcherding,
Thank you so much for responding! I'm glad that my understanding of what was supposed to be happening was accurate and appreciate any help troubleshooting you're willing to give. I'm emailing you the Seurat object presently.
You're correct that the Epithelium has the majority of the cell counts (7400), but nothing is "super low" in my opinion. My lowest frequency for this dataset is 719 cells in a cell type. While it's 10x lower than epithelium, it's nothing to sneeze at either (in my opinion at least, I could be wrong).
Per your question about NA cell types, no there aren't any NA cell types. From my understanding of FindMarkers, when I set ident.1 = "EC" I should be getting differentially enriched pathways of EC compared to all the other cell types combined, yes?
Thanks again, Samantha
Hey @satkinson0115,
I did make some progress when it comes to looking at your data. It is in fact due to the built-in normalization function when the default scale.factor is used Here is what happens when I perform a similar analysis on the example on the site. Im using this becuase I had to run the GSEA calculation multiple times and your data set is huge.
scRep_example <- performNormalization(scRep_example,
assay = "escape.ssGSEA",
gene.sets = GS.hallmark)
all.markers <- FindAllMarkers(scRep_example,
assay = "escape.ssGSEA_normalized",
min.pct = 0,
logfc.threshold = 0)
head(all.markers)
HALLMARK-REACTIVE-OXYGEN-SPECIES-PATHWAY 1.831207e-39 -10.8060011 0.994 0.927 9.156035e-38 1 HALLMARK-APICAL-JUNCTION 2.772834e-25 -21.6672490 0.983 0.921 1.386417e-23 1 HALLMARK-IL2-STAT5-SIGNALING 3.733223e-21 -Inf 1.000 1.000 1.866612e-19 1 HALLMARK-INFLAMMATORY-RESPONSE 2.230958e-18 -786.0173530 1.000 1.000 1.115479e-16 1 HALLMARK-DNA-REPAIR 8.666808e-16 -0.5134797 0.985 0.945 4.333404e-14 1 HALLMARK-ALLOGRAFT-REJECTION 6.321843e-15 -203.3025383 1.000 1.000 3.160921e-13 1
For now, I think you can get around this by setting your scale.factor equal to the nFeatures:
c_gseaNorm <- performNormalization(c,
assay = "escape.ssGSEA",
gene.sets = final_mouse_GO,
scale.factor = c$nFeature_RNA)
I will work on the bug fix maybe/hopefully this week and post here when I get things fixed.
Thanks again for all your help!
Nick
Hello,
I ran run_escape on a Single cell dataset processed in Seurat. I then normalized using performNormalization and used FindMarkers to find pathways specifically enriched in my cell type of interest (see code below):
When I look at the ec.markers.fullNorm table I see that GOBP-VACUOLE-ORGANIZATION has an average L2FC of 292.99. My first question is, does that avg_L2FC make sense or has something gone wrong? That's is quite high.
When I look at this pathway with a ridgeEnrichment plot (using normalized values) the median value for my EC cells is less than all the other cell types.
With a L2FC that high I expected the enrichment scores of the EC group to be distributed well higher than the other groups. Am I interpreting how the differential expression works wrong? Or interpreting the plot wrong?
When I use non-normalized values to look at the ridgeEnrichment plot the distribution is more on par with what I expect (with the exception of the top cell type):
A heatmap of the pathway also shows the opposite trend of what I'd expect (if the pathway is 292 L2FC higher than other cells it should be the brightest color in the heatmap):
When I look at the pathway with the lowest L2FC (thinking that maybe the FindMarkers was backwards, i.e. everything vs EC) I see the same type of pattern as before, which would match with the pathway being down regulated in EC cells:
Any insight into the best way to interpret this or ideas on what went wrong would be greatly appreciated.
Thank you! Samantha