-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cell-type Annotation with STdeconvolve outputs #36
Comments
Hi @inhyeoklee, Thanks for using Hope this helps a little, |
Thank you Brendan! That actually really helped my understanding of the STdeconvolve algorithm. Would that be why we use results$beta instead of results$theta (which shows expression levels) because the reference-free deconvolution inherently comes with the hypothesis that a certain cell type would have distinct, and yet uniform gene expressions (which are not necessarily true in single-cell rna-seq data)? Also, if I'm not exactly sure which cell types I have (unlike the 5 predefined tissue layer labels in the tutorial), can I instead use the entire human cell type - top canonical marker genes reference table available on PanglaoDB? |
Hi @inhyeoklee, STdeconvolve outputs two matrices. The first is the STdeconvolve is built on latent Dirichlet allocation, which is looking for clusters of genes that are co-expressed together across the capture locations, so it works best when cell types have distinct transcriptional profiles, as in certain genes are specifically expressed together in different cell types. If cell types have very similar transcriptional profiles, then it will be difficult to identify clusters of genes that are co-expressed specifically together and accurately deconvolve the contributions of the different cell types. In terms of identifying the deconvolved cell types, you can certainly explore their deconvolved transcriptional profiles and see if the top expressed genes are marker genes for known cell types annotated in databases such as PanglaoDB. A more statistical approach, which we tried to demonstrate, is looking for enrichment of cell type marker genes using gene set enrichment analysis. But this is just one suggestion - ultimately it will be up to users to decide how they would like to annotate the deconvolved cell types. Hope this helps! |
Sorry about the confusion on beta and theta matrices. And thank you Brendan - it makes sense to use gene set enrichment analysis to label cell types rather than identifying them by comparing what top marker genes both the ground truth table and my deconvolved cell types have. For gene set enrichment analysis, would it be any beneficial to use the ground truth table of all the human cell types instead of just a couple of cell types expected? Best, |
Hi @inhyeoklee Because the GSEA function in Hope this helps, |
Hi @inhyeoklee No problem - happy to help! To answer your questions about the GSEA results, I'll direct you to a similar question/response in another issue. Let me know if you still have any questions, |
@bmill3r Thanks to your help, I have beautifully deconvolved (and annotated!!) clusters now. I'm nearing to the closure of this thread, but if you don't mind, could you please give any advice/suggestion on the next steps I'm taking. For the downstream analysis (e.g. DEG) for these outputs, what packages or any workflow would you recommend? I normally use Scanpy, Scanorama on Python, so I'm relatively less familiar with Seurat and other downstream analysis on R. |
Hi @inhyeoklee Congrats on the annotated cell types and glad everything worked out for you! In terms of other analyses it depends on what types of biological questions you are interested in answering. If you're interested in the differentially expressed genes in each of the deconvolved cell types, you could follow a similar analyses we did in this Analysis of 10X Visium data where we get the differentially expressed genes for each deconvolved cell-type transcriptional profile. Hope this helps, |
Thank you! For the DEG analysis, I want to generate violin plots of marker genes for clusters (cell types) across different samples, but I was wondering 1) how I should go about in terms of their integration. For example, if you have three classical monocyte clusters in one sample, and four classical monocyte clusters in another sample, should I manually compare their transcriptional profiles or do you have any suggestions?
Thank you, |
Hi @inhyeoklee If I understand your first question correctly, I think you're wondering if you can combine the classical monocyte clusters in a given sample together into one single monocyte cluster. You certainly can and one strategy to do this could be summing the transcriptional profiles and normalizing to 1 then scale to 1000 for better interpretability, for example. Recall that the transcriptional profiles are probabilities of a cell type expressing those genes so in that sense they are already normalized to sum to 1 (then scaled by some factor if desired). For the GSEA performed in Hope this helps, |
Thank you very much Brendan! :) |
@inhyeoklee @bmill3r I have been trying to annotate using annotateCellTypesGSEA(). The issue I am having is that the top genes from topGenes(beta)...they do not actually give different cluster names as I expect. For example I have 8 topics and I see that there are genes that could define them as 8 different cell types..So i make a gset and run the command annotateCellTypesGSEA(). But I get a result like this. celltype_annotations$predictions As you can see some cell types are repeated. Could someone help me solve this. Thanks! |
Hi @Umaarasu, During GSEA, it's possible that different topics could be assigned to the same cell type. Additionally, each topic could be significantly enriched with gene sets of different cell types but the returned prediction is the cell type gene set that ranked the highest based on a given set of criteria (you can see how this is done by looking at the Hope this helps, |
Hi,
Thank you very much for this amazing tool!
After running STdeconvolve on human femoral & carotid plaque Visium data, I'm thinking of doing cell-type annotation with Azimuth. Do you have any suggestions on how to implement Azimuth on STdeconvolve outputs?
Thanks,
Daniel Lee
The text was updated successfully, but these errors were encountered: