[BioC] edgeR glm

Gordon K Smyth smyth at wehi.EDU.AU
Wed Apr 6 04:11:55 CEST 2011


Dear Shreyartha,

You code is actually testing for genes that are DE between f1 and p1.  By 
default, glmLRT tests for the last coefficient in the linear model and in 
your model this happens to represent f1-p1.  See help("glmLRT").

What you probably want is

   lrt <- glmLRT(d,fit,coef=c(2,3))

This will test whether f1=p1 and p2=p1 simultaneously, i.e., whether all 
three genotypes have the same expression.  This will find genes that are 
differentially expressed between any of the genotypes.  This is analogous 
to doing genewise oneway ANOVA tests for differences between the three 
genotypes.

Note that the above test does not guarantee that all three genotypes are 
different.  There is actually no statistical test that can do that. 
Rather it detects genes for which the genotypes are not all equal.

Unfortunately, the current release version of topTags() won't work 
properly when you test for several coefficients as above.  We'll fix 
this for the next Bioconductor release in a couple of weeks time.  In the 
meantime, you could use the following code:

   o <- order(lrt$table$p.value)
   ntags <- 10
   lrt$table[o[1:ntags],]

to see the most significant tags.

Best wishes
Gordon

---------------------------------------------
Professor Gordon K Smyth,
NHMRC Senior Research Fellow,
Bioinformatics Division,
Walter and Eliza Hall Institute of Medical Research,
1G Royal Parade, Parkville, Vic 3052, Australia.
Tel: (03) 9345 2326, Fax (03) 9347 0852,
smyth at wehi.edu.au
http://www.wehi.edu.au
http://www.statsci.org/smyth

On Tue, 5 Apr 2011, Shreyartha Mukherjee wrote:

> Hi Gondon,Bioconductor experts,
> 
> I have RNA-seq data for 3 genotypes(each genotype having 3 biological 
> replicates) and 30,000 genes. I was trying to find out differentially 
> expressed genes across all genotypes. Here is the code I am using.
>
> library(edgeR)
> y<-read.table('test_12339.txt'
> )
> d <- DGEList(y, group = rep(1:3, each = 3), lib.size = lib.sizes)
> d <- calcNormFactors(d)
> times <- rep(c("p1","p2","f1"),c(3,3,3))
> times <- factor(times,levels=c("p1","p2","f1"))
> design <- model.matrix(~factor(times))
> disp <- d2$tagwise.dispersion
> fit <- glmFit(d,design,dispersion=disp)
> lrt <- glmLRT(d,fit)
> topTags(lrt)
>
> Does this code provide me with tags differentially expressed across all
> conditions? (I am not looking for pairwise differential expression
> but across all conditions)
>
> Thanks,
> Shreyartha

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



More information about the Bioconductor mailing list