How did the edgeR authors compute Figure 2 (genewise deviance statistics?)
1
2
Entering edit mode
7.1 years ago

McCarthy, D.J., Chen, Y., and Smyth, G.K. (2012). Differential expression analysis of multifactor RNA-Seq experiments with respect to biological variation. Nucleic Acids Res 40, 4288–4297.

https://academic.oup.com/nar/article/40/10/4288/2411520/Differential-expression-analysis-of-multifactor

In Figure 2 of this paper, the authors show that estimating dispersion on a per-gene basis is more compatible with their data:

Figure 2 of edgeR paper

(I realise I'm probably not supposed to copy the figure here, but it's an open access paper and I've acknowledged the source)

I think understand broadly what is being demonstrated here (please correct me if I'm mistaken): When we estimate dispersions, that is an implicit model of the ratio of the mean to the standard deviation of each gene. Here, the authors are showing, with QQ plots, that the per-gene model describes the observed ratio better than a common dispersion value. Each dot in the plot corresponds to a gene.

I'd like to generate this figure for my own data, but I don't understand how to compute the two vectors required as inputs to qqplot(). I'm guessing that one might be the log likelihood after fitting the GLM?

Thanks for any light you can shed (code also gratefully appreciated, but no obligation)

RNA-Seq differential expression edgeR • 2.0k views
ADD COMMENT
1
Entering edit mode

If you want an answer from the authors themselves, you should ask this question on the bioconductor support site. Usually Gordon Smyth replies within a day.

https://support.bioconductor.org/t/Latest/

ADD REPLY
0
Entering edit mode

OK, thanks for pointing that out! If I get a reply (and understand it), I'll answer my own question.

ADD REPLY
3
Entering edit mode
7.0 years ago

I followed b.nota's suggestion and asked on the Bioconductor support site. I got a fairly detailed response from Gordon and Davis. See the full discussion here: https://support.bioconductor.org/p/94310/

TL;DR

There's a gof() function included in edgeR that should do exactly what I needed.

ADD COMMENT
0
Entering edit mode

glad to see the OP answering their own question.

ADD REPLY
0
Entering edit mode

Thanks. I feel a bit arrogant marking it as the accepted answer - is that reasonable etiquette?

ADD REPLY

Login before adding your answer.

Traffic: 3182 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6