[BioC] Limma and Block Effects
Gordon Smyth
smyth at wehi.edu.au
Wed Sep 28 02:02:22 CEST 2005
>Date: Mon, 26 Sep 2005 15:19:55 +0100
>From: Pie Muller <pie.muller at liverpool.ac.uk>
>Subject: [BioC] Limma and Block Effects
>To: bioconductor at stat.math.ethz.ch
>
>Hi Bioconductors
>
>I followed the example 10.2 in Limma's user guide which includes a
>coefficient for each mouse in the linear model to account for technical
>replication. I am somewhat puzzled because the example in the user's guide
>returns non-estimable coefficients and hence the contrast (mu1+mu2-wt2)/2
>as proposed in the guide cannot be computed... (I assume the function
>"designMatrix()" can be replaced by "modelMatrix()".)
You're right, there is an error in the user's guide. Adam Whitney also
pointed this error out last month. I am trying to find time to fix it.
> Since the given
>example returns an error, and I am not a statistician, I am struggling in
>finding the correct solution. As we have four replicate spots on our
>arrays I cannot use the "duplicateCorrelation()" function here. How does
>the correct design matrix look like and which contrasts need to be computed?
>
>Has anyone a solution either for the example given in the user guide or my
>own experiment listed below?
>
>MANY THANKS!
>Pie
>
>
>I have 3 biological replicates and two technical replicates for each
>biological replicate, i.e.,
>
>FileName Cy3 Cy5
>File1 A1 B1
>File2 B1 A1
>File3 A2 B2
>File4 B2 A2
>File5 A3 B3
>File6 B3 A3
>
>and would like to estimate the effect between A and B including a
>coefficient to fit a separate effect for each individual.
This is similar to the design posted recently by Kevin Lin. It's a simple
and quite commonly occuring design, but also in a sense non-standard
because it is unconnected. It is hard for general purpose functions like
modelMatrix() to cope with these sort of designs. It shows the great
richness of microarray experiments.
On the other hand, this design responds very easily to first principles.
Clearly each pair of arrays estimates an A vs B comparison for you, and you
just want to average these three estimates. Hence you want
design <-
cbind(Pair1=c(1,-1,0,0,0,0),Pair2=c(0,0,1,-1,0,0),Pair3=c(0,0,0,0,1,-1))
to get an estimate from each pair and later
cont.matrix <- matrix(BvsA=c(1,1,1)/3)
to average the three.
There are various ways to generate the design matrix automatically, but I
think writing them out here would only make a simple situation seem more
complicated.
Gordon
More information about the Bioconductor
mailing list