[BioC] edgeR Quasi-likelihood with tagwise dispersion?
Ryan C. Thompson
rct at thompsonclan.org
Tue Mar 19 05:00:22 CET 2013
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 inte...{{dropped:6}}
More information about the Bioconductor
mailing list