[BioC] Time course experiment in Limma

Gordon Smyth smyth at wehi.edu.au
Wed Mar 9 06:02:33 CET 2005

Although you don't say explicitly, I guess that you are working from the 
section on "Time Course Experiments" in the Limma User's Guide. 
Unfortunately I made a couple of typo errors when I wrote that section and, 
in particular, I missed out the eBayes() calls which are of course 
necessary to compute any empirical Bayes statistics, including the F-test 
p-values. (Note the capitalization of eBayes.) Also I didn't make the 
section executable, and so didn't pick the error up. Have made it so now.

I have repaired the section and put the corrected version at 


PS. There is also a section on Time Course Experiments in the 
soon-to-be-published Bioconductor book for Springer. The code is correct in 
the book.

>Cornell, John E cornell at uthscsa.edu
>Tue Mar 8 20:23:17 CET 2005
>Dear Bioconductor:
>We have a affymetrix time course experiment with repeated measurements
>taken at 0 minutes, 30 minutes and 240 minutes following infusion of
>insulin.  There are 10 arrays for each time point.  We used gcrma to
>pre-process and normalize our expression data.
>We want to use Limma to analyze differential expression in this time
>course experiment.  We have limma 1.8.22  that we run on a Windows XP
>system.  We have tried to follow the example on page 36 of the limma
>user's guide, but we seem to have difficulty executing some of the
>procedures.  For example the contrastMatrix( ) procedure does not exist,
>so we used the makeContrasts( ) procedure.  Here is the code we use to
>set the problem:
>design <- model.matrix(~0+factor(rep(c(1,2,3),10)))
>colnames(design) <- c("ic.0","ic.30","ic.240")
>fit <- lmFit(i.clamp.gcrma, design)
>cont.ic <- makeContrasts(ic.30-ic.0, ic.240-ic.30, levels=design)
>fit2 <- contrasts.fit(fit, cont.ic)
>Everything seems to work well up to this point.  Now, we tried the
>p.adjust() procedure:
>selected.ic <- p.adjust(fit2$F.p.value,method="fdr") < 0.05
>The F.p.value does not exist in fit2.  Since we really wish to use the
>empirical Bayes modified t tests, we also applied the ebayes(). However,
>when we request the table of top genes we get the following error:
> > topTable(fit2.eb, coef="ic.30-ic.0", n=20, adjust="fdr")
>Error in array(x, c(length(x), 1), if (!is.null(names(x)))
>list(names(x),  :
>         attempt to set an attribute on NULL
>We have tried several variations on the code without success.  Since I
>consider myself a novice limma user, I assume that I am making some
>simple error that I just cannot see.  Any help or advice is very
>John E. Cornell, Ph.D.
>Center for Epidemiology and Biostatistics
>University of Texas Health Science Center, San Antonio

More information about the Bioconductor mailing list