[BioC] confirm design matrix for lmfit

mik mik wamiks at gmail.com
Mon Feb 19 23:48:04 CET 2007


Hi BioC,

I've tried to glean what I can from the limma usersguide but would like 
confirmation that my design and contrasts matrices for lmfit make sense.

I have been given 16 2-channel plates, 8 testing gene over expression 
and 8 testing a gene knock out.  Each group of 8 has 2 biological 
replicates each of which has 2 technical replicates each of which is 
dye-swapped.  That is to say, I have plates:

1  OE_ctrl OE1
2  OE_ctrl OE1
3  OE1     OE_ctrl
4  OE1     OE_ctrl
5  OE_ctrl OE2
6  OE_ctrl OE2
7  OE2     OE_ctrl
8  OE2     OE_ctrl

9  KD_ctrl KD1
10 KD_ctrl KD1
11 KD1     KD_ctrl
12 KD1     KD_ctrl
13 KD_ctrl KD2
14 KD_ctrl KD2
15 KD2     KD_ctrl
16 KD2     KD_ctrl

Note that the controls from each set of 8 are technical replicates. 
Plates 4 and 9 have 0-weights due to low quality in 60% and 91% of their 
spots, so I removed them from.  My design matrix is then:

d=cbind(
  DyeEffect=1,
  OE1vOECTL=c(1,1,-1,0,0,0,0,0,0,0,0,0,0,0),
  OE2vOECTL=c(0,0,0,1,1,-1,-1,0,0,0,0,0,0,0),
  KD1vKDCTL=c(0,0,0,0,0,0,0,1,-1,-1,0,0,0,0),
  KD2vKDCTL=c(0,0,0,0,0,0,0,0,0,0,1,1,-1,-1)
)

By explicitly modeling each block with it's own coefficient, I don't 
need to give a block argument to lmFit.  The linear model for each probe 
would then be:
Y_i = DyeEffect + OE1vOECTL + OE2vOECLT + KD1vKDCTL + KD2vKDCTL + e_i
   for i=1..14

Finally, to get the estimated fold due to OE and KD, the contrasts would be:
cont.matrix=makeContrasts(
   OE=(OE1vOECTL+OE2vOECTL)/2,
   KD=(KD1vKDCTL+KD2vKDCTL)/2,
   DIFF=(OE1vOECTL+OE2vOECTL-KD1vKDCTL-KD2vKDCTL)/2
   levels=d
)

I'm wondering if there's another design that would also incorporate the 
fact that OE1 and OE2 use the same controls.  Also, is there any point 
in trying to salvage at least some information from the low quality 
plates?  Any comments are appreciated.

thanks,
michael s



More information about the Bioconductor mailing list