Plotting Expression of Differential Transcripts plotDEXseq
Entering edit mode
rbenel ▴ 20
Last seen 1 day ago


I was wondering which counts are appropriate to use for plotting the expression of the differential transcripts? plotDEXSeq is giving me this error, even when using the pre-constructed matrix of counts from the workflow "Swimming downstream: statistical analysis of differential transcript usage following Salmon quantification":

plotDEXSeq( dxr2, "ENSG00000000457.13", legend=FALSE, cex.axis=1.2, cex=1.3,
            lwd=2 ) 
#legend is false because we have not imported everything from the txdf.  
Error in plot.window(xlim = c(0, 1), ylim = c(0, max(matr))) : 
  need finite 'ylim' values
In addition: Warning messages:
1: In max(coeff, na.rm = TRUE) :
  no non-missing arguments to max; returning -Inf
2: In max(matr) : no non-missing arguments to max; returning -Inf

I am interested in outputting all normalized transcripts that I found to be to differentially expressed.

Further, I have looked at the function plotDEXseq and it uses featureCounts, which is just like requesting in Deseq2, counts(object, normalized = TRUE) of the specific groupID. I can't help but wondering if these counts are OK to graphically represent a *transcript* that was found to be differential expressed following DEXseq and StageR?


Thank You 

DEXSeq StageR rnaseqDTU • 629 views
Entering edit mode
Last seen 11 hours ago
United States

plotDEXSeq is fairly specific to the exon-based analysis. Our use of DEXSeq for DTU worked well, but it doesn't necessarily have the built in functions for plotting the final results. I think the plotting function from DRIMSeq is more appropriate, because it plots the proportions for each transcript within the gene. plotProportions requires that you have run dmPrecision and dmFit, which perhaps takes too much time if you just want to plot the proportions for genes. I will try to work on finding an easier way to plot these, but if you look in this section* there is some code for quickly estimating proportions for all transcripts. You can use this to get the proportions and then plot them across samples with, e.g. barplot(prop[idx,], col=condition). The simplest way to plot all transcripts for a gene would be just using par(mfrow=...) and multiple barplots, but you could also use ggplot2 to make a prettier version, like plotProportions.


Entering edit mode

Hi Mike, 

I agree with you regarding the plotting function of DRIMSeq, especially the plotProportions function; however, when I try to run dmPercision on my entire dmDSdata  and not a subset I receive the error below: 

An object of class dmDSdata
with 11120 genes and 32 samples
* data accessors: counts(), samples()
d <- DRIMSeq::dmPrecision(d, design=design_full)

! Using a subset of 0.1 genes to estimate common precision !

Error in optimHess(par = par, fn = dm_lik_regG, gr = dm_score_regG, x = x,  : 
  non-finite value supplied by optim
In addition: There were 50 or more warnings (use warnings() to see the first 50)
Entering edit mode

My recommendation for now is to make simple plots on your own, and not to run DRIMSeq all over again if you've used DEXSeq.

Entering edit mode

OK. So that takes us back to my initial question: Which counts are appropriate to use for plotting the expression of the differential transcripts? Would this be correct to use, following DE of a transcript(s) after running DEXSeq and StageR

count <- featureCounts(dxd, normalized = TRUE)[idx, ]


Entering edit mode

I’d recommend using scaledTPM from tximport for the reasons described in the workflow.


Login before adding your answer.

Traffic: 300 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6