-
Notifications
You must be signed in to change notification settings - Fork 13
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
How to annotate cells in the STdeconvolve #19
Comments
Hi @ysq1770368148 , Thank you so much for using If I understand your question correctly, you are asking how do we annotate the deconvolved topics, i.e. cell types returned by In addition to deconvolving cell type proportions in each spot, With respect to your second point, I think it is important to note that deconvolution and transcriptional clustering are doing two different things. Remember that the spots here are assumed to have more than one cell, and thus potentially more than one cell type. This means that the transcriptional profiles of the spots of the 10X Visium dataset are mixtures of transcriptional profiles of different cell types. Let me know if this doesn't make sense or if you have any more questions. |
Hi,@bmill3r, library(STdeconvolve) load built in datadata(mOB) If I'm not mistaken,the transcriptional clustering is to treat each spot as a cell. The reality is that a spot may contain multiple cell types,we obtain the topic composition of each spot by deconvolution ( topic refers to a cell type). Ultimately, the highly expressed genes of each topic are used to determine what type of cell this topic is. |
Hi @ysq1770368148, You are absolutely correct that in transcriptional clustering, each spot is treated as a single cell but in reality a spot may contain multiple cells and cell types. Further, the gene expression profiles of the deconvolved topics can be used to determine their cell type identity. In the function In the example, Let me know if you have more questions, |
Thank you so much for such a detailed answer, it helped me a lot. Thank you for the great tool! |
Hi @bmill3r Thank you for your work with this package. I have similar questions to this discussion. In the annotation tutorial it says: Can I use a public database for cell type annotation with this package? after spot deconvolution. I would like to use a public reference that contains certain cell types of interest and it is in a SPE object file format. If this can be done, can you show a simple re-producible example? Thanks |
Hi @cathalgking Thanks for your questions and for using The 5 annotated tissue layer labels you refer to are part of the mOB dataset which we have included as a test dataset with this package. In terms of using a publicly available database to help annotate the deconvolved cell types, you can certainly do that. In the Annotating deconvolved cell-types vignette, for demonstration purposes, we use the 5 annotated cell layers of the mOB, but you’ll notice that to match deconvolved cell types to know cell types based on transcriptional profiles, you will need a Alternatively, in Annotating deconvolved cell-types, we also perform GSEA as another strategy to identify deconvolved cell types. For GSEA, you need a list of chosen “marker” genes for each of your known cell types. For example:
Check out another issue here which goes into this in a little more detail: #35 (comment) Hope this helps, |
Hi, @bmill3r
Sorry to trouble you. I'm new to analyzing spatial transcriptomes. I am trying to do it with your tools to deconvolve. I have two questions.First, I see the tutorial in “https://github.com/JEFworks-Lab/STdeconvolve/blob/devel/docs/visium_10x.md”, but I don't quite understand how you annotate spots .After I finished running the following code, I got a graph that splits spots into several topics.Are you annotating the genes that are highly expressed in each topic?How do you present the annotated results of each cell? Which object to add to, can you give an example?
optLDA <- optimalModel(models = ldas, opt = 15)
results <- getBetaTheta(optLDA, perc.filt = 0.05, betaScale = 1000)
deconProp <- results$theta
deconGexp <- results$beta
plt <- vizAllTopics(theta = deconProp,
pos = pos,
r = 45,
lwd = 0,
showLegend = TRUE,
plotTitle = NA) +
ggplot2::guides(fill=ggplot2::guide_legend(ncol=2)) +
outer border
ggplot2::geom_rect(data = data.frame(pos),
ggplot2::aes(xmin = min(x)-90, xmax = max(x)+90,
ymin = min(y)-90, ymax = max(y)+90),
fill = NA, color = "black", linetype = "solid", size = 0.5) +
ggplot2::theme(
plot.background = ggplot2::element_blank()
) +
remove the pixel "groups", which is the color aesthetic for the pixel borders
ggplot2::guides(colour = "none")
Second,in the tutorial "https://github.com/JEFworks-Lab/STdeconvolve/blob/devel/docs/visium_10x.md#compare-to-transcriptional-clustering" ,I don't quite understand the relationship between the topics in the diagram above and the cluster in this tutorial.What if the number of topics and clusters doesn't match?Can I determine which topic belongs to which cluster based on best match (highest correlation) of clusters (coms) and topics (decon)?
The text was updated successfully, but these errors were encountered: