[BioC] edgeR Quasi-likelihood with tagwise dispersion?

Gordon K Smyth smyth at wehi.EDU.AU
Tue Mar 19 05:08:57 CET 2013

Yes.  Or in the devel version

   dge <- estimateDisp(dge, design ...)

is an alternative route to NB dispersion estimation, and could subsitute 
for the two disp calls below.


On Mon, 18 Mar 2013, Ryan C. Thompson wrote:

> Ok, so the proper calling sequence would, in general, be something like this?
> dge <- DGEList(...)
> dge <- calcNormFactors(dge)
> dge <- estimateGLMCommonDisp(dge, design)
> dge <- estimateGLMTrendedDisp(dge, design)
> qlft <- glmQLFTest(dge, design, coef=...)
> On 03/18/2013 07:42 PM, Gordon K Smyth wrote:
>> Dear Ryan,
>> Yes, glmQLFTest() can be substituted for glmLRT() in an edgeR analysis 
>> pipeline, but it assumes that trended not tagwise dispersion has been 
>> estimated.  This is explained in the published paper Lund et al (2012).
>> There has been no detailed description of the usage of glmQLFTest() in the 
>> edgeR document so far, but there will be before the next release in a few 
>> weeks' time.
>> Yes, glmQLFtest() does its own tagwise dispersion moderation. This is the 
>> reason for the function.  glmQLFTest() actually does its own trending as 
>> well, so that it is quite robust to the NB dispersions that it gets as 
>> input.  The help page says:
>> "[glmQLFTest] calls the limma function squeezeVar to conduct empirical 
>> Bayes smoothing of the genewise multiplicative dispersions."
>> I don't think that you will get meaningfull results from inputing tagwise 
>> dispersions into glmQLTest(), i.e., it doesn't make sense to re-shrink 
>> values that are already shrunk.
>> Because of the possible misunderstanding, glmQLFTest() now has a new 
>> calling sequence, so that it can stand alone from glmFit(). This permits 
>> the function to ensure that it gets the correct NB dispersion estimates.
>> Best wishes
>> Gordon
>> ---------------------------------------------
>> Professor Gordon K Smyth,
>> Bioinformatics Division,
>> Walter and Eliza Hall Institute of Medical Research,
>> 1G Royal Parade, Parkville, Vic 3052, Australia.
>> http://www.statsci.org/smyth
>> On Mon, 18 Mar 2013, Ryan C. Thompson wrote:
>>> Hi Gordon,
>>> I was looking in the devel code for edgeR and I noticed this new check 
>>> in glmQLFTest:
>>>> if(!is.null(disptype)) if(disptype=="tagwise") stop("glmfit should be
>>> computed using trended dispersions, not tagwise")
>>> which refuses to run the quasi-likelihood F-test on a fit for tagwise 
>>> dispersion. Could you elaborate on this? Does glmQLFTest implement its 
>>> own different kind of tagwise behavior that is different from that of 
>>> estimateGLMTagwiseDisp?
>>> What would happen if I ran glmQLFTest after estimateGLMTagwiseDisp 
>>> (using the release version, which does not disallow it)? Would the 
>>> results be statistically meaningful? I have been doing this sometimes 
>>> because I assumed that glmQLFTest was supposed to be a "drop-in" 
>>> replacement for glmLRT, using all the same dispersions and such, due 
>>> to this quote from the glmQLFTest help text in the current release of 
>>> edgeR:
>>>> [glmQLFTest] behaves the same as ‘glmLRT’ except that it replaces
>>> likelihood ratio tests with quasi-likelihood F-tests for coefficients 
>>> in the linear model.
>>> So, what is the correct usage of glmQLFTest with the estimate*Disp 
>>> family, and has this changed between the current release and devel 
>>> versions of edgeR?
>>> Thanks,
>>> -Ryan Thompson

The information in this email is confidential and intend...{{dropped:5}}

More information about the Bioconductor mailing list