Dear DESeq2 community,
I am just wondering whether I can use DESeq2 to perform transcript-level differential expression with Salmon quantification data? And if I can, is that essential to include bootstrap when using Salmon? I saw a tutorial said DESeq2 will not work if one want to do transcript-level differential expression, just curious whether it is true or not.
Thanks.
Thanks Michael. So what you suggested is using fishpond to do transcript-level differential expression instead of DESeq2?
Yes, it is exactly designed for this. Give it a shot and let me know if you have any questions.
Thanks Michael! I'll try it out. One more question, can I use DESeq2 for transcript-level differential expression if the read quantification data were generated by StringTie since this is an alignment-based aligner? Or I still have to use fishpond?
With StringTie they don’t have a measure of quantification uncertainty so you can’t use Swish. You can use DESeq2 then.
Hi Michael!
1)I have done quantification using Kallisto. Can fishpond be used with txi.kallisto$counts as an input to perform transcript-level differential expression.
2)In the vignette, https://bioconductor.org/packages/devel/bioc/vignettes/tximport/inst/doc/tximport.html#kallisto, abundance.h5 is used for reading transcript-level information. If I do not use tx2gene and follow the DEseq2 protocol, will I get transcript-level differential expression?
thanks ekta
You can use tximeta to import kallisto bootstraps to run Swish as well. You will get transcript level counts for performing DTE.
Hi Michael .. I used kallisto bootstraps to run Swish and performed the Differential transcript expression.
sum(mcols(y)$qvalue < .05) gives 1317
But surprisingly the qvalue for all these 1317 differentially expressed transcripts is 7.59E-06.
And after this, 220 transcripts have qvalue 0.916510084, 39337 transcripts have qvalue of 0.9442869.
What could be the possible reasons for it?
Ekta
This is not an issue, see the vignette which talks about this phenomenon.
Hi Michael, thanks for your reply.
One more question. If the qvalue (and pvalue) for all DTEs are the same, the Volcano plot will look like a thick line as the value of y-axis (here qvalue) is identical. How to make a plot of DTEs in such cases?
Thanks
ekta
Did you see the part of the vignette where we talk about this?
https://bioconductor.org/packages/release/bioc/vignettes/fishpond/inst/doc/swish.html#Plotting_q-values_over_statistics
Yes, i tried that. I used salmon bootstraps also for the same RNAseq data to run Swish and performed the Differential transcript expression. in this case I got the qvalue of 8.826125e-06 for all my DETs.
here is the code and plot
https://imgur.com/pmB8O77
thanks
ekta
So the way the p-values are generated (non-parametric) you won't get a ranking among these that are highly significant. You can use logFC. Do you need a volcano plot for some reason?
No, the Volcano plot is not essential. I just wanted to show DETs with the help of a plot. Could you suggest a way for it? What are the other good alternatives to show the DETs (publication purpose)?
Thanks
ekta
To show some extent of the DTE you can plot the LFC of the significant set and their mean count, we have
plotMASwish
to do this.Another interesting plot is the number of DTE per gene, e.g. do you recover more than one transcript per gene.
Ok.. thanks for your valuable suggestion and quick replies. I have generated an MA plot using plotMASwish.
thanks
ekta