[BioC] limma, spot and technical replicates
STKH (Steen Krogsgaard)
StKH at novozymes.com
Thu Nov 17 11:11:16 CET 2005
Hi,
I handle spot replicates, technical replicates and biological replicates
in the following way, which I got from Limma User Guide section 11.2 (9
March 2005) with my own addition of using the ndups and spacing
parameters in lmFit to handle spot replication. I'm not a statistician
so this may be wrong, if so please let me know.
Consider a model experiment with two samples (S, F) each with two
biological replicates (S1, S2, F1, F2), hybridized in a balanced block
design with dye swap replicates:
Slide# Cy3 Cy5
1 S1 F1
2 F1 S1
3 S1 F2
4 F2 S1
5 S2 F1
6 F1 S2
7 S2 F2
8 F2 S2
The arrays are made from 9600 cDNAs each spotted twice on the slides
(first one full set of 9600 probes, then the next set)
This is how I make the analysis (the data are loaded and normalized
prior to this; this is not the actual code so please excuse any typos):
design=modelMatrix(targets, ref="S1") #the file in targets contains the
above definitions of slides
contrasts=makeContrasts(dif=(F1+F2-S2)/2, levels=design) # the "dif"
contrast is F1+F2 vs S1+S2
fit=lmFit(MA, design, ndups=2, spacing=9600) # data in MA
fit2=contrasts.fit(fit, contrasts)
fit2=eBayes(fit2)
top100=topTable(fit2, number=100, adjust.method="fdr") # select top 100
regulated probes, use fdr adjustment.
cheers
Steen
-----Original Message-----
From: bioconductor-bounces at stat.math.ethz.ch
[mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of Carolyn
Fitzsimmons
Sent: 17. november 2005 08:02
To: bioconductor at stat.math.ethz.ch
Subject: Re: [BioC] limma, spot and technical replicates
Hi Cecilia,
From my limited experience with limma, I do not see where you have
written any code that dealt with the technical
replication. Therefore you are treating all biological replicates as
biological replicates and it is not surprising that your results are
the same as those you obtained from limmaGUI.
Currently in limma you cannot account for both spot replication and
slide replication. (I believe).
You can take the average of the replicates on the slide and then use
the blocking argument in the correlation calculation and lmFit
function to account for technical replicates (see limma guide on
technical replication). Or you have to do what you have already done.
I hope this helps you, Carolyn
At 23:08 2005-11-16, you wrote:
>I apologize in advance, since I only started using limma 2 days ago.
>I have a simple experiment
>with 2 treatments (S and F) in a loop design. For each treatment I
>have 3 biological replicates
> (S1 to S3 and F1 to F3) and for each biological replicate there
> are 2 technical replicates.
>Biological reps are from different plants, while technical reps are
>different RNA extraction from the same plant.
> SlideNumber FileName Cy3 Cy5
>RF1 RF1 RF1.txt S1 F1
>RF2 RF2 RF2.txt F1 S1
>RF3 RF3 RF3.txt S1 F1
>RF4 RF4 RF4.txt F1 S2
>RF5 RF5 RF5.txt S2 F2
>RF6 RF6 RF6.txt F2 S2
>RF7 RF7 RF7.txt S2 F2
>RF8 RF8 RF8.txt F2 S3
>RF9 RF9 RF9.txt S3 F3
>RF10 RF10 RF10.txt F3 S3
>RF11 RF11 RF11.txt S3 F3
>RF12 RF12 RF12.txt F3 S1
>After inputting all files, and doing within and between
>normalizations, I did the following
>to deal with the spot and technical replications. (I'm only
>intersted in the genes diffentially
>expressed between S and F.)
>
> > design <-modelMatrix(targets,ref="S1")
> > show(design)
> F1 F2 F3 S2 S3
>RF1 1 0 0 0 0
>RF2 -1 0 0 0 0
>RF3 1 0 0 0 0
>RF4 -1 0 0 1 0
>RF5 0 1 0 -1 0
>RF6 0 -1 0 1 0
>RF7 0 1 0 -1 0
>RF8 0 -1 0 0 1
>RF9 0 0 1 0 -1
>RF10 0 0 -1 0 1
>RF11 0 0 1 0 -1
>RF12 0 0 -1 0 0
> > cor <- duplicateCorrelation(MA,design,ndups=3,spacing=3120)
> > cor$consensus.correlation
>[1] 0.3128828
> > fit <-lmFit(MA,design,ndups=3,spacing=3120,correlation=0.3128828)
> > cont.matrix <- makeContrasts(fvss=(F1+F2+F3-S2-S3)/3, levels=design)
> > fit2 <- contrasts.fit(fit, cont.matrix) fit2 <- eBayes(fit2)
>
>Is this the correct way to deal with my design? The results are
>nearly identical to results I
> obtain if I treat all replicates as biological in limmaGUI. I
> interpret this to mean that the
>variation between technical reps are similar to variation between
>biological reps. Is there an
>eazy way to determine whether this is true? In such a case I can
>just use limmaGUI and avoid
>limma?
>
>Cecilia McGregor
>
>PhD Student
>Sweetpotato Breeding and Genetics Lab
>JC Miller Hall room 236
>Louisiana State University
>Baton Rouge
>LA, 70803
>USA
>
>Phone: (225) 578 2173
>
>_______________________________________________
>Bioconductor mailing list
>Bioconductor at stat.math.ethz.ch
>https://stat.ethz.ch/mailman/listinfo/bioconductor
_______________________________________________
Bioconductor mailing list
Bioconductor at stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/bioconductor
More information about the Bioconductor
mailing list