Hello,
I have been running some differential expression analyses using FindMarkers() after performing normalization of scRNA-seq using SCTransform and integration using the Seurat v3 approach, and was hoping someone may be able to provide some guidance on the most appropriate DE test to use (specified by the _test.use_ argument) after the data has been normalized using SCTransform.
While I appreciate this may not have been empirically evaluated extensively yet, any thoughts on specific tests that the developers think may be more appropriate to use on SCT data than others would be appreciated. It seems to me that there could be issues running with using DESeq2 on count data from the SCT assay, due to DESeq2's requirement for raw counts as input. Additionally, I was also wondering if the fact that MAST includes cellular detection rate as a covariate in the model, would make it less appropriate to applying to the SCT counts which have been normalized.
Including an example call of FindMarkers below for how I have been conducting DE analyses in Seurat.
b_cell <- FindMarkers(i.c, assay = "SCT",
slot = "data",
ident.1 = "b_cell_tx", ident.2 = "b_cell_control",
test.use = "MAST",
min.pct = 0.1,
logfc.threshold = 0.0,
verbose = FALSE)
Thanks in advance foir your help. Any thoughts at all would be appreciated.
I have the same issue as above essentially...
I also perform SCTransform and when I use FindMarkers I have noticed that my log-fold changes are extremely high (e.g. log-folds in the 30's!!!). The corresponding adj p-values are extremely small while the pct.1 vs. pct.2 difference is minimal at times, which doesn't make sense to me.
Is it because using the default assay in SCTransform is not ideal as suggested above? Many thanks in advance.
hi @satijalab
was just wondering if anyone might be able to provide some thought on this. obviously recognize you are very busy but just wanted to check in incase it got lost among other issues
I'm not part of the dev team, but this issue has been covered a number of times and is now included in the FAQ (It's number 4) on the lab's home page. The short answer is use assay "RNA" for differential expression and gene expression visualization. You can find more discussions on this topic if search for "integration" or "sctransform" and "differential expression" in all issues.
Thanks for the heads up @diazdc , must have missed that somehow on their FAQs page
Hi,
This may be a na茂ve question but if the point of integration is to remove batch effect between datasets, wouldn't running FindMarkers() on the "RNA" assay be equivalent to run DE without correcting for batch?
Hi @Jb-Gorin
Were you able to find an answer to your question. I have the same question but can't find the answer anywhere. :(
@satijalab
Hi @Jb-Gorin
Were you able to find an answer to your question. I have the same question but can't find the answer anywhere. :(@satijalab
Unfortunately not :/
bump - I atleast think it would be good to confirm that our DE analysis will contain batch effects if using the "RNA" assay after dataset integration
I was concerned about the same issue regarding FindMarkers() after SCT normalization, then decided to use RNA assay with default Wilcoxon analysis to retrieve DEGs. It seems reliable, but couldn't get any result from RNA assay with MAST analysis because it constantly fails by giving an error in sanity_check as shown below unless I use assay = integrated. However, DESeq2 works well with RNA assay.
Error in sanity_check_sca(obj) :
Assay in position 1, with name et is unlogged. Setcheck_sanity = FALSEto override and then proceed with caution.
Most helpful comment
Hi,
This may be a na茂ve question but if the point of integration is to remove batch effect between datasets, wouldn't running
FindMarkers()on the "RNA" assay be equivalent to run DE without correcting for batch?