Search
Question: Time course experiment in Limma
0
13.4 years ago by
John E. Cornell, Ph.D.150 wrote:
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 welcome. John E. Cornell, Ph.D. Center for Epidemiology and Biostatistics University of Texas Health Science Center, San Antonio [[alternative HTML version deleted]] ADD COMMENTlink modified 13.4 years ago by Gordon Smyth34k • written 13.4 years ago by John E. Cornell, Ph.D.150 0 13.4 years ago by Gordon Smyth34k Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia Gordon Smyth34k wrote: 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 http://bioinf.wehi.edu.au/limma/usersguide.pdf Gordon 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 >welcome. > >John E. Cornell, Ph.D. >Center for Epidemiology and Biostatistics >University of Texas Health Science Center, San Antonio