[BioC] Complex Limma design: technical replication, biological replication and repeated experiment
Gordon K Smyth
smyth at wehi.EDU.AU
Wed Aug 28 01:24:54 CEST 2013
Dear Jana,
Unless there is a strong batch effect between the two replicates of the
entire experiment, there is no need to account for this level explicitly.
So you can use duplicateCorrelation() and the blocking argument to handle
the technical replicates.
If there is a marked batch effect between the replicates (because the
replicates were conducted at different times perhaps), then you could
consider adding replicate as a additive effect to the design matrix.
This would have the effect of correcting for batch. You would still use
duplicateCorrelation() for the technical replicates. If you want to do
this, post again and I will advise you how to contruct the design matrix.
BTW, I recommend including an effect for probe-specific dye effects in the
design matrix. See page 57 of the limma User's Guide (section on dye
swaps).
Best wishes
Gordon
> Date: Mon, 26 Aug 2013 04:43:20 -0700 (PDT)
> From: "Jana [guest]" <guest at bioconductor.org>
> To: bioconductor at r-project.org, jana.asselman at ugent.be
> Subject: [BioC] Complex Limma design: technical replication,
> biological replication and repeated experiment
> Message-ID: <20130826114320.7C973132324 at mamba.fhcrc.org>
>
>
> Dear limma-users,
>
> I'm currently trying to create the correct design matrix for a limma analysis of my NimbleGen two-color microarray data.
> Basically, I have a control treatment (Ctr) and 5 Cy treatments (Cy). For each comparison Cy-Ctr, I have 2 biological replicates per treatment that are dye swapped on the array. These biological reps are also in duplicate (so each sample is on two arrays). For each comparison, I have also repeated the exposure experiment twice (i.e. the actual experiment was replicated, not the array, so new biological samples). So I actually have three "levels of replication":
> 1. technical replicates
> 2. biological replicates within a single experiment
> 3. replication of the entire experiment.
> I want to compare
> all my controls to each individual Cy treatment without the need to know differences between replicates. (i.e.I want to know the genes that are differentially expressed in all my samples of Cy treatment 1 for example versus all controls).
>
> I am now struggling how to make the correct design matrix with these levels of replication as I have several blocking factors. This is how my targets file looks like right now:
> SlideNumber SampleCy3 SampleCy5 Cy3 Cy5 TechnicalReps BiolocialReps
> 1 1.1 1.3 Ctr Cy1 1 1
> 2 1.1 1.3 Ctr Cy1 1 1
> 3 1.4 1.2 Cy1 Ctr 2 -1
> 4 1.4 1.2 Cy1 Ctr 2 -1
> 5 2.1 2.3 Ctr Cy1 3 2
> 6 2.1 2.3 Ctr Cy1 3 2
> 7 2.4 2.2 Cy1 Ctr 4 -2
> 10 2.4 2.2 Cy1 Ctr 4 -2
> 11 3.1 3.3 Ctr Cy2 5 3
> 12 3.1 3.3 Ctr Cy2 5 3
> 13 3.4 3.2 Cy2 Ctr 6 -3
> 14 3.4 3.2 Cy2 Ctr 6 -3
> 15 4.1 4.3 Ctr Cy2 7 4
> 16 4.1 4.3 Ctr Cy2 7 4
> 17 4.4 4.2 Cy2 Ctr 8 -4
> 18 4.4 4.2 Cy2 Ctr 8 -4
> 19 5.1 5.3 Ctr Cy3 9 5
> 20 5.1 5.3 Ctr Cy3 9 5
> 21 5.4 5.2 Cy3 Ctr 10 -5
> 22 5.4 5.2 Cy3 Ctr 10 -5
> 23 6.1 6.3 Ctr Cy3 11 6
> 24 6.1 6.3 Ctr Cy3 11 6
> 25 6.4 6.2 Cy3 Ctr 12 -6
> 26 6.4 6.2 Cy3 Ctr 12 -6
> 27 7.1 7.3 Ctr Cy4 13 7
> 28 7.1 7.3 Ctr Cy4 13 7
> 29 7.4 7.2 Cy4 Ctr 14 -7
> 30 7.4 7.2 Cy4 Ctr 14 -7
> 31 8.1 8.3 Ctr Cy4 15 8
> 32 8.1 8.3 Ctr Cy4 15 8
> 33 8.4 8.2 Cy4 Ctr 16 -8
> 34 8.4 8.2 Cy4 Ctr 16 -8
> 35 9.1 9.3 Ctr Cy5 17 9
> 36 9.1 9.3 Ctr Cy5 17 9
> 37 9.4 9.2 Cy5 Ctr 18 -9
> 38 9.4 9.2 Cy5 Ctr 18 -9
> 39 10.1 10.3 Ctr Cy5 19 10
> 40 10.1 10.3 Ctr Cy5 19 10
> 41 10.4 10.2 Cy5 Ctr 20 -10
> 42 10.4 10.2 Cy5 Ctr 20 -10
>
>
> What would be the correct formula in limma to analysis this experiment?
> right now i'm just doing
> design <- modelMatrix(targets,ref="Ctr")
> fit <- lmFit(MAprobes.n,design)
> cont.matrix<-makeContrasts(Cy_1=Cy1,
> Cy_2=Cy2,
> Cy_3=Cy3,
> Cy_4=Cy4,
> Cy_5=Cy5,
> Cy_6=Cy6,levels=design)
> c.fit<-contrasts.fit(fit, contrasts=cont.matrix)
>
> but this does not take the technical replication into account nor the
> fact that the biological replicates are not on the "same level" (same
> experiment vs replicated experiment). I know the use of blocking factor
> and how to estimate correlation, but I really don't know how to
> integrate these three levels all together.
>
> Thanks for the help.
>
> -- output of sessionInfo():
>
> no output
______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}
More information about the Bioconductor
mailing list