limma, spot and technical replicates
2
0
Entering edit mode
@cecilia-mcgregor-1508
Last seen 10.2 years ago
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
Genetics limma limmaGUI Genetics limma limmaGUI • 2.5k views
ADD COMMENT
0
Entering edit mode
@carolyn-fitzsimmons-1318
Last seen 10.2 years ago
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
ADD COMMENT
0
Entering edit mode
@stkh-steen-krogsgaard-797
Last seen 10.2 years ago
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@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
ADD COMMENT

Login before adding your answer.

Traffic: 488 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6