[BioC] dye swaps of technical replicates and variable numbers of replicate spots

Gordon Smyth smyth at wehi.edu.au
Thu Aug 21 13:07:38 MEST 2003


At 01:17 AM 21/08/2003, Ramon Diaz-Uriarte wrote:
>Thanks for the comment. But I am a little bit troubled by one aspect:
>
>On Wednesday 20 August 2003 04:13, Gordon Smyth wrote:
> > >
> > >   Efect R1 R2 R3
> > >1      0  1  0  0
> > >2      1  1  0  0
> > >3      0  0  1  0
> > >4      1  0  1  0
> > >5      0  0  0  1
> > >6      1  0  0  1
> > >
> > > > lm.series(data, design)
> >
> > You're actually overparametrized here. (I hadn't turned my brain on
> > properly in my previous email.) The differences between the three
> > biological replicates contribute only two degrees of freedom, not three,
> > and your first effect will not estimate what you want. You need something
> >
> > equivalent to like:
> >  > design
> >
> >    Efect R2 R3
> > 1     -1   0   0
> > 2      1   0   0
> > 3     -1   1   0
> > 4      1   1   0
> > 5     -1   0   1
> > 6      1   0   1
> >
> > The three coefficients will represent: (1) The RNA comparison that you're
> > interested in, (2) The difference between biological replicate 2 versus 1,
> > and (3) The difference between biological replicate 3 versus 1.
> >
>
>Yes, I see now that it is overparametrized (and the lme model I wrote was 
>also
>overparametrized). However, what troubles me is that, since this is a model
>without intercept, depending on how I set up the last two columns of the
>design matrix (the ones I don't really care about) does change the sigma with
>lm.series.
>
>I can see, numerically, how this happens via the hat matrix (sum sq. error =
>Y' (I-H) Y) because the hat matrix is different between the
>parameterizations. But that is not what we want, because whether we compare
>replicates 1vs 2 and 1 vs 3 or 1 vs 2 and 2 vs 3 is irrelevant. Where am I
>getting lost?

Yes, OK, you're right.

I haven't tried out any technical replicate analyses myself yet and I 
haven't worked out how the details will work. It would appear that one 
can't do it with a fixed effect analysis at the log-ratio level. So you're 
on your own ... good luck!

>This is an example:
>
>mini.data.l <- mini.data <- rnorm(6)
>dim(mini.data.l) <- c(1, 6)
>
>d1 <- cbind(Efect = rep(c(-1, 1), 3),
>             R2 = c(0, 0, 1, 1, 0, 0),
>             R3 = c(0, 0, 0, 0, 1, 1))
>
>d2 <- cbind(Efect = rep(c(-1, 1), 3),
>             R1 = c(1, 1, 0, 0, 0, 0),
>             R3 = c(0, 0, 0, 0, 1, 1))
>
>d3 <- cbind(Efect = rep(c(-1, 1), 3),
>             R1 = c(1, 1, 0, 0, 0, 0),
>             R2 = c(0, 0, 1, 1, 0, 0))
>
>lm.series(mini.data.l, d1)
>lm.series(mini.data.l, d2)
>lm.series(mini.data.l, d3)
>
>#### Now with lme:
>tech.reps <- factor(c(1, 1, 2, 2, 3, 3))
>summary(lme(mini.data ~ -1 + d1[, 1], random = ~ 1|tech.reps))
>## The sigma tends to be very similar to that of
>d.large <- cbind(Efect = rep(c(-1, 1), 3),
>             R1 = c(1, 1, 0, 0, 0, 0),
>             R2 = c(0, 0, 1, 1, 0, 0),
>             R3 = c(0, 0, 0, 0, 1, 1))
>lm.series(mini.data.l, d.large)$sigma #why?

When I ran this example the sigma from lm.series (1.6) was not all all the 
same as the sigma from lme (1.4).

>## Note how the lm.series are equivalent, respectively, to:
>summary(lm(mini.data ~ -1 + d1))
>summary(lm(mini.data ~ -1 + d2))
>summary(lm(mini.data ~ -1 + d3))
>
>
>Best,
>
>Ramón

Gordon

>--
>Ramón Díaz-Uriarte
>Bioinformatics Unit
>Centro Nacional de Investigaciones Oncológicas (CNIO)
>(Spanish National Cancer Center)
>Melchor Fernández Almagro, 3
>28029 Madrid (Spain)
>Fax: +-34-91-224-6972
>Phone: +-34-91-224-6900
>
>http://bioinfo.cnio.es/~rdiaz



More information about the Bioconductor mailing list