SEQanswers (
-   Bioinformatics (
-   -   edgeR spliceVariants: gene- and exon-level dispersion ( 11-24-2013 03:00 PM

edgeR spliceVariants: gene- and exon-level dispersion

I'm trying to detect alternative splicing between 2 experimental conditions
using edgeR's spliceVariants (and DE(X)Seq).

For each gene, spliceVariants uses a single dispersion calculated by
estimateExonGeneWiseDisp, which simply aggregates all exon counts
within a gene and calculates a per-gene dispersion based on those
aggregated counts. This seems highly anti-conservative (i.e., gives
extremely low dispersions). The counts being fit are exon-level counts--
i.e., smaller numbers with larger dispersions. Am I missing some theoretical
or intuitive justification for this choice? Wouldn't a less severe
anti-conservative choice be the min dispersion across all exons within
the gene (still larger than that provided by estimateExonGeneWiseDisp)?
While an intuitive conservative choice is the max?

If I understand this statistical framework correctly, I should be able to use
a per-exon dispersion--clearly this is possible if I take my tags to be exons,
but in theory it should also be possible in the spliceVariants scenario in
which the tags are genes, though the counts represent exons. DEXSeq
appears to be doing this. Is there a straightforward means of doing this within edgeR? The interface to glmFit seems to preclude it.

Thank you,

dpryan 11-25-2013 04:19 AM

You might have to ask this on the bioconductor email list so someone from Gordon Smyth's group can reply. I would be rather hesitant to rely on spliceVariants() for the reasons that you list.

rboettcher 11-27-2013 03:49 AM

Hi Brian,

I am also interested in this topic, so could you please keep this thread updated in case you find your answer?


Gordon Smyth 09-11-2014 04:47 PM

We have are most of the way through a major overall and improvement of edgeR's spliceVariants() function. We haven't made the new version public yet -- will do when it is stable.

In the meantime, you might try the diffSplice() function in the limma package, which is very fast and controls the false discovery rate conservatively.

All times are GMT -8. The time now is 08:24 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.