[BioC] Limma design question (model interactions)

Wolfgang Raffelsberger wraff at titus.u-strasbg.fr
Wed Jun 4 21:10:19 CEST 2008


Dear list,
here a question about the appropriate design of a specific test layout 
for use with limma. The problem seems almost trivial, but among the 
numerous postings I haven’t found something resolving my problem :

I have 2 samples (A and B) that were hybridized against a (common) 
reference (Ref). Now I would like to find those genes that differ from A 
to Ref but NOT in B to Ref (i.e. A and B would differ, but without those 
AvR~0 ).
In my mind, differentially regulated genes in both A and B could be 
described as an interaction, but the code shown below for integrating an 
interaction component won’t work to give the answer :

The experiment layout :
FileName Cy3 Cy5
array1 A Ref
array2 A Ref
array3 B Ref
array4 B Ref

 > library(limma)
 > dat1 <- 
matrix(runif(200,-3,3),nc=4,dimnames=list(as.character(1:50),c("AvR","AvR","BvR","BvR"))) 
# just an example ..
 > f.A <- c(1,1,0,0)
 > f.B <- c(0,0,1,1)
 > design2 <- model.matrix(~f.A + f.A:f.B )
 > fit2 <- lmFit(dat1, design2)
Coefficients not estimable: f.A:f.B
 > fit2 <- eBayes(fit2)
Warning message:
In ebayes(fit = fit, proportion = proportion, stdev.coef.lim = 
stdev.coef.lim) :
Estimation of var.prior failed - set to default value

 > topTable(fit2, coef=1) # any A or B different to Ref, but contains 
also those with AvR ~ BvR or AvR ~ 0
 > topTable(fit2, coef=2) # just for DE genes as A vs B, but contains 
also those with AvR ~0
 > topTable(fit2, coef=3) # just returns just NAs

I suppose a part of the problem is, that the last column of design2 
holds just 0s :
 > design2[,3] # column for interactions contains only 0s
1 2 3 4
0 0 0 0

I also tried (following a posting from Gordon Smyth, 2006-06-01) :
 > design3 <- model.matrix(~ f.A * f.B )
 > design3 # the matrix has one more column, again, the column for 
interactions contains only 0s
And finally with lmFit() & eBayes() I got the same results as from 
lmFit(dat1, design2).

Of course there is the less perfect solution of doing 2 comparisons (1: 
A v Ref, 2: A vs B; as described in Limma use guide chapter 8.4) and 
then seeking only genes at the intersection. But I'm surprised I can't 
get this as a single model working !
Do you have any suggestions how the design / model-matrix should be set 
to test (from an integrated model) for differences in A to Ref but NOT 
in B to Ref ?

Thank’s very much,
Wolfgang Raffelsberger

 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wolfgang Raffelsberger, PhD
Laboratoire de BioInformatique et Génomique Intégratives
CNRS UMR7104, IGBMC 
1 rue Laurent Fries,  67404 Illkirch  Strasbourg,  France
Tel (+33) 388 65 3300         Fax (+33) 388 65 3276
wolfgang.raffelsberger at igbmc.fr



More information about the Bioconductor mailing list