[BioC] how to handle technical replicates and biological replicates using limma

Gordon Smyth smyth at wehi.edu.au
Wed Aug 11 02:28:57 CEST 2004


Dear Ren,

No I would not use the blocking feature of limma in this case. Your 
"blocks" are not independent because the same mice appear in more than one 
dye-swap pair. This experiment could be analysed using log-ratios or 
log-expression values. I would personally do a log-ratio analysis fitting 
effects for each mouse:

design <- modelMatrix(targets, ref="wt1")
fit <- lmFit(MA, design)
cont.matrix <- makeContrasts(muvswt=(mu1+mu2+mu3-wt2-wt3)/3, levels=design)
fit2 <- contrasts.fit(fit, cont.matrix)
fit2 <- eBayes(fit2)

The linear model 'fit2' estimates the average difference between the mutant 
and wt mice. If you want to add a dye-effect, you would insert
design <- cbind(Dye=1,design)
after the first line above.

For this sort of analysis it would be helpful to consult a local statistician.

Gordon

At 08:37 AM 11/08/2004, Ren Na wrote:
>Dr. Gordon Smyth,
>
>Thank you for answering my question.
>I still have some questions about how to fit mouse effect for my data, My 
>purpose is to find significantly expressed genes between mutant and wild 
>type mice. I tried to figure it out by reading "Limma user's guide" and 
>came up with the following solution, is it right? or doesn't make any sense?
>My targets file is:
>SlideNumber     FileName        Cy3     Cy5        Target1        Target2
>1                      1391.spot        wt1      mu1          wt1
>         mu1
>2                      1392.spot        mu1     wt1           mu1
>        wt1
>3                      1340.spot        wt2      mu1          wt2
>         mu1
>4                      1341.spot        mu1     wt2           mu1
>        wt2
>5                      1395.spot        wt3      mu1          wt3
>         mu1
>6                      1396.spot        mu1     wt3           mu1
>        wt3
>7                      1393.spot        wt1      mu2          wt1
>         mu2
>8                      1394.spot        mu2     wt1           mu2
>        wt1
>9                      1371.spot        wt2      mu2          wt2
>         mu2
>10                    1372.spot        mu2     wt2           mu2
>     wt2
>11                    1338.spot        wt3      mu2          wt3
>      mu2
>12                    1339.spot        mu2     wt3           mu2
>     wt3
>13                    1387.spot        wt1      mu3          wt1
>      mu3
>14                    1388.spot        mu3     wt1           mu3
>     wt1
>15                    1399.spot        wt2      mu3          wt2
>      mu3
>16                    1390.spot        mu3     wt2           mu3
>     wt2
>17                    1397.spot        wt3      mu3          wt3
>      mu3
>18                    1398.spot        mu3     wt3           mu3
>     wt3
>mu1, mu2, and mu3 are different mice which are biological replicates, and 
>wt1, wt2 and wt3 are different mice which are biological replicates.
> > targets <- readTargets()
>#  I try to include mouse effect in the following way:
> > t1 <- model.matrix(~0+factor(targets$Target1))
> > t2 <- model.matrix(~0+factor(targets$Target2))
> > t3 <- t1+t2

You can't add design matrices in this way.

> > design <- cbind(Dye=1, 
> MuvsWt=c(1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1), t3 )
> > pair <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9)
> > corfit <- duplicateCorrelation(MA,design,block=pair)
> > fit <- lmFit(MA,design,block=pair,correlation=corfit$consensus)
> > fit <- eBayes(fit)
>Thanks again for your time.
>
>Ren



More information about the Bioconductor mailing list