[BioC] LIMMA experimental design affecting modelmatrix

Aubin-Horth Nadia Nadia.Aubin-Horth at bio.ulaval.ca
Thu Dec 10 18:36:36 CET 2009


We are analysing a cDNA microarray dataset in LIMMA with the following  
design and we run into "Coefficients not estimable" comments.

R = 2.9.0
limma=2.18

We have two groups, "A" and "D" with 6 biological replicates each  
(indicated in the targets file). We are interested in significant gene  
expression differences between A and D on average. A given biological  
replicate of "A" was compared to a biological replicate of "D", with a  
dye-swap.
A1=D1
A2=D2
A3=D3
A4=D4
A5=D5
A6=D6

Therefore, we have six mini-experiments that are not connected one to  
the other.

After normalisation, we use teh following design with the goal of  
doing a contrast as shown below

design <- modelMatrix(targets, ref="D1")
design <- cbind(Dye=1, design)

fit<-lmFit(MAptip.nba.scale,design)

here we get:
Coefficients not estimable: D5 A4 D2 D6 D3

And we checked with
 > is.fullrank(design)
and we get:
[1] FALSE

Our question is, is our experimental design (non loop, non reference  
design) with samples not being directly compared on a microarray  
causing these non estimable coefficients? If so, is there a way that  
we can keep the information on biological replicates and still use  
LIMMA?

This is the contrast we were planning to use (which of course does not  
work)
cont.matrix <- makeContrasts(AvsD = (A1 + A2 + A3 + A4 + A5 + A6
- D2 - D3 - D4 - D5 - D6)/6, levels=design)
fit2 <- contrasts.fit(fit, cont.matrix)
Error in contrasts.fit(fit, cont.matrix) :
   trying to take contrast of non-estimable coefficient
In addition: Warning message:
In any(contrasts[-est, ]) : coercing argument of type 'double' to  
logical
fit3 <- eBayes(fit2)


Thank you

Nadia Aubin-Horth
Assistant professor
Biology Department
Institut de Biologie Intégrative et des Systèmes
Université Laval



More information about the Bioconductor mailing list