Question: analysis of 70 groups for differential expression
0
11.9 years ago by
Lana Schaffer1.3k
Lana Schaffer1.3k wrote:
Hi, We have a situation were there are 70 groups and we want to know if there is differential expression in a group. I think of the problem as contrasting the expression of 1 group and the rest of the groups. In this case, limma would need to done 70 times for each group contrast versis the rest of the groups. But this would result in an uneven comparison between one group and 70 other groups. Can someone suggest a way to approach this problem? Lana Schaffer Biostatistics/Informatics The Scripps Research Institute DNA Array Core Facility La Jolla, CA 92037 (858) 784-2263 (858) 784-2994 schaffer at scripps.edu
limma • 576 views
modified 11.8 years ago by Gordon Smyth37k • written 11.9 years ago by Lana Schaffer1.3k
Answer: analysis of 70 groups for differential expression
0
11.9 years ago by
Naomi Altman6.0k
Naomi Altman6.0k wrote:
If I understand you correctly, this is one-way ANOVA with 69 contrasts, not 69 separate ANOVAs (or t-tests). I.e. 1 run of limma with a huge contrast matrix. --Naomi At 12:14 PM 9/11/2007, Lana Schaffer wrote: >Hi, >We have a situation were there are 70 groups and >we want to know if there is differential expression >in a group. I think of the problem as contrasting >the expression of 1 group and the rest of the groups. >In this case, limma would need to done 70 times for >each group contrast versis the rest of the groups. >But this would result in an uneven comparison between >one group and 70 other groups. Can someone suggest >a way to approach this problem? > >Lana Schaffer >Biostatistics/Informatics >The Scripps Research Institute >DNA Array Core Facility >La Jolla, CA 92037 >(858) 784-2263 >(858) 784-2994 >schaffer at scripps.edu > >_______________________________________________ >Bioconductor mailing list >Bioconductor at stat.math.ethz.ch >https://stat.ethz.ch/mailman/listinfo/bioconductor >Search the archives: >http://news.gmane.org/gmane.science.biology.informatics.conductor Naomi S. Altman 814-865-3791 (voice) Associate Professor Dept. of Statistics 814-863-7114 (fax) Penn State University 814-865-1348 (Statistics) University Park, PA 16802-2111
Naomi, Yes, you are correct. Lana -----Original Message----- From: Naomi Altman [mailto:naomi@stat.psu.edu] Sent: Tuesday, September 11, 2007 2:19 PM To: Lana Schaffer; bioconductor at stat.math.ethz.ch Subject: Re: [BioC] analysis of 70 groups for differential expression If I understand you correctly, this is one-way ANOVA with 69 contrasts, not 69 separate ANOVAs (or t-tests). I.e. 1 run of limma with a huge contrast matrix. --Naomi At 12:14 PM 9/11/2007, Lana Schaffer wrote: >Hi, >We have a situation were there are 70 groups and we want to know if >there is differential expression in a group. I think of the problem as >contrasting the expression of 1 group and the rest of the groups. >In this case, limma would need to done 70 times for each group contrast >versis the rest of the groups. >But this would result in an uneven comparison between one group and 70 >other groups. Can someone suggest a way to approach this problem? > >Lana Schaffer >Biostatistics/Informatics >The Scripps Research Institute >DNA Array Core Facility >La Jolla, CA 92037 >(858) 784-2263 >(858) 784-2994 >schaffer at scripps.edu > >_______________________________________________ >Bioconductor mailing list >Bioconductor at stat.math.ethz.ch >https://stat.ethz.ch/mailman/listinfo/bioconductor >Search the archives: >http://news.gmane.org/gmane.science.biology.informatics.conductor Naomi S. Altman 814-865-3791 (voice) Associate Professor Dept. of Statistics 814-863-7114 (fax) Penn State University 814-865-1348 (Statistics) University Park, PA 16802-2111
Answer: analysis of 70 groups for differential expression
0
11.9 years ago by
Stephen Henderson1.0k wrote:
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20070912/ c739a81b/attachment.pl
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20070918/ 28d6db3a/attachment.pl
Answer: analysis of 70 groups for differential expression
0
11.8 years ago by
Stephen Henderson1.0k wrote:
I can't help feeling that running 55 contrasts is 'dredging' your data. Why not run 11 contrasts each group against everything else? Stephen Henderson Wolfson Institute for Biomedical Research Cruciform Buildging, Gower Street University College London United Kingdom, WC1E 6BT +44 (0)207 679 6827 -----Original Message----- From: bioconductor-bounces@stat.math.ethz.ch [mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of Artur Veloso Sent: 18 September 2007 15:50 To: Bioconductor List Subject: Re: [BioC] analysis of 70 groups for differential expression Hi, I have a question very similar to the one described here. I have samples from 11 environmental groups, so there is no control in the experiment. Therefore, there are 55 comparisons that can be made and are of interest in the experiment. My approach before reading this was to run all comparisons independently from each other, using makeContrasts, contrasts.fit,etc 55 times, and then use decideTests to pull out the differently expressed genes. But I believe that this is incorrect, since I am not adjusting the p-value for these 55 tests. The new approach that I tried was to run all the comparisons together (use makeContrasts just once) and then use decideTests and use each column of the TestResult matrix to extract DE genes for that specific comparison. But, when I compared TestResult matrix columns from the same comparisons run under the different methods described above I found no differences. But I did not look into the q-values or the lods. Was I wrong to run the 55 comparisons separately? Is the new approach more appropriate? Thank you very much for the help! Artur B. Veloso Masters in Marine Biology Candidate College of Charleston, South Carolina, USA ############ 55 ANOVAs site.design <- read.csv("gill_site_contrast.csv") site.design[is.na(site.design)] <- 0 oyster.site.correlation <- duplicateCorrelation(oyster.red.vsn,site.design ,ndups=2,spacing=1) oyster.site.lm <- lmFit(oyster.red.vsn,site.design ,ndups=2,spacing=1,correlation=oyster.site.correlation\$consensus.corre la tion ) #guerin.vs.village guerin.vs.village.contrast <- makeContrasts(guerin-village,levels= site.design) guerin.vs.village.fit <- contrasts.fit(oyster.site.lm, guerin.vs.village.contrast) guerin.vs.village.ebayes <- eBayes(guerin.vs.village.fit) #guerin.vs.duplin guerin.vs.duplin.contrast <- makeContrasts(guerin-duplin,levels=site.design) guerin.vs.duplin.fit <- contrasts.fit(oyster.site.lm, guerin.vs.duplin.contrast) guerin.vs.duplin.ebayes <- eBayes(guerin.vs.duplin.fit) #guerin.vs.oakdale guerin.vs.oakdale.contrast <- makeContrasts(guerin-oakdale,levels= site.design) guerin.vs.oakdale.fit <- contrasts.fit(oyster.site.lm, guerin.vs.oakdale.contrast) guerin.vs.oakdale.ebayes <- eBayes(guerin.vs.oakdale.fit) #guerin.vs.postell guerin.vs.postell.contrast <- makeContrasts(guerin-postell,levels= site.design) guerin.vs.postell.fit <- contrasts.fit(oyster.site.lm, guerin.vs.postell.contrast) guerin.vs.postell.ebayes <- eBayes(guerin.vs.postell.fit) #guerin.vs.burnett guerin.vs.burnett.contrast <- makeContrasts(guerin-burnett,levels= site.design) guerin.vs.burnett.fit <- contrasts.fit(oyster.site.lm, guerin.vs.burnett.contrast) guerin.vs.burnett.ebayes <- eBayes(guerin.vs.burnett.fit) #guerin.vs.new.market guerin.vs.new.market.contrast <- makeContrasts(guerin- new.market,levels= site.design) guerin.vs.new.market.fit <- contrasts.fit(oyster.site.lm, guerin.vs.new.market.contrast) guerin.vs.new.market.ebayes <- eBayes(guerin.vs.new.market.fit) #guerin.vs.hewletts guerin.vs.hewletts.contrast <- makeContrasts(guerin-hewletts,levels= site.design) guerin.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, guerin.vs.hewletts.contrast) guerin.vs.hewletts.ebayes <- eBayes(guerin.vs.hewletts.fit) #guerin.vs.masonboro guerin.vs.masonboro.contrast <- makeContrasts(guerin-masonboro,levels= site.design) guerin.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, guerin.vs.masonboro.contrast) guerin.vs.masonboro.ebayes <- eBayes(guerin.vs.masonboro.fit) #guerin.vs.whiskey guerin.vs.whiskey.contrast <- makeContrasts(guerin-whiskey,levels= site.design) guerin.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, guerin.vs.whiskey.contrast) guerin.vs.whiskey.ebayes <- eBayes(guerin.vs.whiskey.fit) #guerin.vs.james.island guerin.vs.james.island.contrast <- makeContrasts(guerin-james.island,levels= site.design) guerin.vs.james.island.fit <- contrasts.fit(oyster.site.lm, guerin.vs.james.island.contrast) guerin.vs.james.island.ebayes <- eBayes(guerin.vs.james.island.fit) #village.vs.duplin village.vs.duplin.contrast <- makeContrasts(village-duplin,levels= site.design) village.vs.duplin.fit <- contrasts.fit(oyster.site.lm, village.vs.duplin.contrast) village.vs.duplin.ebayes <- eBayes(village.vs.duplin.fit) #village.vs.oakdale village.vs.oakdale.contrast <- makeContrasts(village-oakdale,levels= site.design) village.vs.oakdale.fit <- contrasts.fit(oyster.site.lm, village.vs.oakdale.contrast) village.vs.oakdale.ebayes <- eBayes(village.vs.oakdale.fit) #village.vs.postell village.vs.postell.contrast <- makeContrasts(village-postell,levels= site.design) village.vs.postell.fit <- contrasts.fit(oyster.site.lm, village.vs.postell.contrast) village.vs.postell.ebayes <- eBayes(village.vs.postell.fit) #village.vs.burnett village.vs.burnett.contrast <- makeContrasts(village-burnett,levels= site.design) village.vs.burnett.fit <- contrasts.fit(oyster.site.lm, village.vs.burnett.contrast) village.vs.burnett.ebayes <- eBayes(village.vs.burnett.fit) #village.vs.new.market village.vs.new.market.contrast <- makeContrasts(village-new.market,levels= site.design) village.vs.new.market.fit <- contrasts.fit(oyster.site.lm, village.vs.new.market.contrast) village.vs.new.market.ebayes <- eBayes(village.vs.new.market.fit) #village.vs.hewletts village.vs.hewletts.contrast <- makeContrasts(village-hewletts,levels= site.design) village.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, village.vs.hewletts.contrast) village.vs.hewletts.ebayes <- eBayes(village.vs.hewletts.fit) #village.vs.masonboro village.vs.masonboro.contrast <- makeContrasts(village- masonboro,levels= site.design) village.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, village.vs.masonboro.contrast) village.vs.masonboro.ebayes <- eBayes(village.vs.masonboro.fit) #village.vs.whiskey village.vs.whiskey.contrast <- makeContrasts(village-whiskey,levels= site.design) village.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, village.vs.whiskey.contrast) village.vs.whiskey.ebayes <- eBayes(village.vs.whiskey.fit) #village.vs.james.island village.vs.james.island.contrast <- makeContrasts(village-james.island ,levels=site.design) village.vs.james.island.fit <- contrasts.fit(oyster.site.lm, village.vs.james.island.contrast) village.vs.james.island.ebayes <- eBayes(village.vs.james.island.fit) #duplin.vs.oakdale duplin.vs.oakdale.contrast <- makeContrasts(duplin-oakdale,levels= site.design) duplin.vs.oakdale.fit <- contrasts.fit(oyster.site.lm, duplin.vs.oakdale.contrast) duplin.vs.oakdale.ebayes <- eBayes(duplin.vs.oakdale.fit) #duplin.vs.postell duplin.vs.postell.contrast <- makeContrasts(duplin-postell,levels= site.design) duplin.vs.postell.fit <- contrasts.fit(oyster.site.lm, duplin.vs.postell.contrast) duplin.vs.postell.ebayes <- eBayes(duplin.vs.postell.fit) #duplin.vs.burnett duplin.vs.burnett.contrast <- makeContrasts(duplin-burnett,levels= site.design) duplin.vs.burnett.fit <- contrasts.fit(oyster.site.lm, duplin.vs.burnett.contrast) duplin.vs.burnett.ebayes <- eBayes(duplin.vs.burnett.fit) #duplin.vs.new.market duplin.vs.new.market.contrast <- makeContrasts(duplin- new.market,levels= site.design) duplin.vs.new.market.fit <- contrasts.fit(oyster.site.lm, duplin.vs.new.market.contrast) duplin.vs.new.market.ebayes <- eBayes(duplin.vs.new.market.fit) #duplin.vs.hewletts duplin.vs.hewletts.contrast <- makeContrasts(duplin-hewletts,levels= site.design) duplin.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, duplin.vs.hewletts.contrast) duplin.vs.hewletts.ebayes <- eBayes(duplin.vs.hewletts.fit) #duplin.vs.masonboro duplin.vs.masonboro.contrast <- makeContrasts(duplin-masonboro,levels= site.design) duplin.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, duplin.vs.masonboro.contrast) duplin.vs.masonboro.ebayes <- eBayes(duplin.vs.masonboro.fit) #duplin.vs.whiskey duplin.vs.whiskey.contrast <- makeContrasts(duplin-whiskey,levels= site.design) duplin.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, duplin.vs.whiskey.contrast) duplin.vs.whiskey.ebayes <- eBayes(duplin.vs.whiskey.fit) #duplin.vs.james.island duplin.vs.james.island.contrast <- makeContrasts(duplin-james.island,levels= site.design) duplin.vs.james.island.fit <- contrasts.fit(oyster.site.lm, duplin.vs.james.island.contrast) duplin.vs.james.island.ebayes <- eBayes(duplin.vs.james.island.fit) #oakdale.vs.postell oakdale.vs.postell.contrast <- makeContrasts(oakdale-postell,levels= site.design) oakdale.vs.postell.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.postell.contrast) oakdale.vs.postell.ebayes <- eBayes(oakdale.vs.postell.fit) #oakdale.vs.burnett oakdale.vs.burnett.contrast <- makeContrasts(oakdale-burnett,levels= site.design) oakdale.vs.burnett.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.burnett.contrast) oakdale.vs.burnett.ebayes <- eBayes(oakdale.vs.burnett.fit) #oakdale.vs.new.market oakdale.vs.new.market.contrast <- makeContrasts(oakdale-new.market,levels= site.design) oakdale.vs.new.market.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.new.market.contrast) oakdale.vs.new.market.ebayes <- eBayes(oakdale.vs.new.market.fit) #oakdale.vs.hewletts oakdale.vs.hewletts.contrast <- makeContrasts(oakdale-hewletts,levels= site.design) oakdale.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.hewletts.contrast) oakdale.vs.hewletts.ebayes <- eBayes(oakdale.vs.hewletts.fit) #oakdale.vs.masonboro oakdale.vs.masonboro.contrast <- makeContrasts(oakdale- masonboro,levels= site.design) oakdale.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.masonboro.contrast) oakdale.vs.masonboro.ebayes <- eBayes(oakdale.vs.masonboro.fit) #oakdale.vs.whiskey oakdale.vs.whiskey.contrast <- makeContrasts(oakdale-whiskey,levels= site.design) oakdale.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.whiskey.contrast) oakdale.vs.whiskey.ebayes <- eBayes(oakdale.vs.whiskey.fit) #oakdale.vs.james.island oakdale.vs.james.island.contrast <- makeContrasts(oakdale-james.island ,levels=site.design) oakdale.vs.james.island.fit <- contrasts.fit(oyster.site.lm, oakdale.vs.james.island.contrast) oakdale.vs.james.island.ebayes <- eBayes(oakdale.vs.james.island.fit) #postell.vs.burnett postell.vs.burnett.contrast <- makeContrasts(postell-burnett,levels= site.design) postell.vs.burnett.fit <- contrasts.fit(oyster.site.lm, postell.vs.burnett.contrast) postell.vs.burnett.ebayes <- eBayes(postell.vs.burnett.fit) #postell.vs.new.market postell.vs.new.market.contrast <- makeContrasts(postell-new.market,levels= site.design) postell.vs.new.market.fit <- contrasts.fit(oyster.site.lm, postell.vs.new.market.contrast) postell.vs.new.market.ebayes <- eBayes(postell.vs.new.market.fit) #postell.vs.hewletts postell.vs.hewletts.contrast <- makeContrasts(postell-hewletts,levels= site.design) postell.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, postell.vs.hewletts.contrast) postell.vs.hewletts.ebayes <- eBayes(postell.vs.hewletts.fit) #postell.vs.masonboro postell.vs.masonboro.contrast <- makeContrasts(postell- masonboro,levels= site.design) postell.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, postell.vs.masonboro.contrast) postell.vs.masonboro.ebayes <- eBayes(postell.vs.masonboro.fit) #postell.vs.whiskey postell.vs.whiskey.contrast <- makeContrasts(postell-whiskey,levels= site.design) postell.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, postell.vs.whiskey.contrast) postell.vs.whiskey.ebayes <- eBayes(postell.vs.whiskey.fit) #postell.vs.james.island postell.vs.james.island.contrast <- makeContrasts(postell-james.island ,levels=site.design) postell.vs.james.island.fit <- contrasts.fit(oyster.site.lm, postell.vs.james.island.contrast) postell.vs.james.island.ebayes <- eBayes(postell.vs.james.island.fit) #burnett.vs.new.market burnett.vs.new.market.contrast <- makeContrasts(burnett-new.market,levels= site.design) burnett.vs.new.market.fit <- contrasts.fit(oyster.site.lm, burnett.vs.new.market.contrast) burnett.vs.new.market.ebayes <- eBayes(burnett.vs.new.market.fit) #burnett.vs.hewletts burnett.vs.hewletts.contrast <- makeContrasts(burnett-hewletts,levels= site.design) burnett.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, burnett.vs.hewletts.contrast) burnett.vs.hewletts.ebayes <- eBayes(burnett.vs.hewletts.fit) #burnett.vs.masonboro burnett.vs.masonboro.contrast <- makeContrasts(burnett- masonboro,levels= site.design) burnett.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, burnett.vs.masonboro.contrast) burnett.vs.masonboro.ebayes <- eBayes(burnett.vs.masonboro.fit) #burnett.vs.whiskey burnett.vs.whiskey.contrast <- makeContrasts(burnett-whiskey,levels= site.design) burnett.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, burnett.vs.whiskey.contrast) burnett.vs.whiskey.ebayes <- eBayes(burnett.vs.whiskey.fit) #burnett.vs.james.island burnett.vs.james.island.contrast <- makeContrasts(burnett-james.island ,levels=site.design) burnett.vs.james.island.fit <- contrasts.fit(oyster.site.lm, burnett.vs.james.island.contrast) burnett.vs.james.island.ebayes <- eBayes(burnett.vs.james.island.fit) #new.market.vs.hewletts new.market.vs.hewletts.contrast <- makeContrasts(new.market-hewletts,levels= site.design) new.market.vs.hewletts.fit <- contrasts.fit(oyster.site.lm, new.market.vs.hewletts.contrast) new.market.vs.hewletts.ebayes <- eBayes(new.market.vs.hewletts.fit) #new.market.vs.masonboro new.market.vs.masonboro.contrast <- makeContrasts(new.market-masonboro ,levels=site.design) new.market.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, new.market.vs.masonboro.contrast) new.market.vs.masonboro.ebayes <- eBayes(new.market.vs.masonboro.fit) #new.market.vs.whiskey new.market.vs.whiskey.contrast <- makeContrasts(new.market-whiskey,levels= site.design) new.market.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, new.market.vs.whiskey.contrast) new.market.vs.whiskey.ebayes <- eBayes(new.market.vs.whiskey.fit) #new.market.vs.james.island new.market.vs.james.island.contrast <- makeContrasts(new.market-james.island ,levels=site.design) new.market.vs.james.island.fit <- contrasts.fit(oyster.site.lm, new.market.vs.james.island.contrast) new.market.vs.james.island.ebayes <- eBayes(new.market.vs.james.island.fit) #hewletts.vs.masonboro hewletts.vs.masonboro.contrast <- makeContrasts(hewletts-masonboro,levels= site.design) hewletts.vs.masonboro.fit <- contrasts.fit(oyster.site.lm, hewletts.vs.masonboro.contrast) hewletts.vs.masonboro.ebayes <- eBayes(hewletts.vs.masonboro.fit) #hewletts.vs.whiskey hewletts.vs.whiskey.contrast <- makeContrasts(hewletts-whiskey,levels= site.design) hewletts.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, hewletts.vs.whiskey.contrast) hewletts.vs.whiskey.ebayes <- eBayes(hewletts.vs.whiskey.fit) #hewletts.vs.james.island hewletts.vs.james.island.contrast <- makeContrasts(hewletts- james.island ,levels=site.design) hewletts.vs.james.island.fit <- contrasts.fit(oyster.site.lm, hewletts.vs.james.island.contrast) hewletts.vs.james.island.ebayes <- eBayes(hewletts.vs.james.island.fit) #masonboro.vs.whiskey masonboro.vs.whiskey.contrast <- makeContrasts(masonboro- whiskey,levels= site.design) masonboro.vs.whiskey.fit <- contrasts.fit(oyster.site.lm, masonboro.vs.whiskey.contrast) masonboro.vs.whiskey.ebayes <- eBayes(masonboro.vs.whiskey.fit) #masonboro.vs.james.island masonboro.vs.james.island.contrast <- makeContrasts(masonboro-james.island ,levels=site.design) masonboro.vs.james.island.fit <- contrasts.fit(oyster.site.lm, masonboro.vs.james.island.contrast) masonboro.vs.james.island.ebayes <- eBayes(masonboro.vs.james.island.fit) #whiskey.vs.james.island whiskey.vs.james.island.contrast <- makeContrasts(whiskey-james.island ,levels=site.design) whiskey.vs.james.island.fit <- contrasts.fit(oyster.site.lm, whiskey.vs.james.island.contrast) whiskey.vs.james.island.ebayes <- eBayes(whiskey.vs.james.island.fit) site.tests <- list(decideTests(guerin.vs.village.ebayes,lfc=0), decideTests(guerin.vs.duplin.ebayes,lfc=0), decideTests(guerin.vs.oakdale.ebayes,lfc=0), decideTests(guerin.vs.postell.ebayes,lfc=0), decideTests(guerin.vs.burnett.ebayes,lfc=0), decideTests(guerin.vs.new.market.ebayes,lfc=0), decideTests(guerin.vs.hewletts.ebayes,lfc=0), decideTests(guerin.vs.masonboro.ebayes,lfc=0), decideTests(guerin.vs.whiskey.ebayes,lfc=0), decideTests(guerin.vs.james.island.ebayes,lfc=0), decideTests(village.vs.duplin.ebayes,lfc=0), decideTests(village.vs.oakdale.ebayes,lfc=0), decideTests(village.vs.postell.ebayes,lfc=0), decideTests(village.vs.burnett.ebayes,lfc=0), decideTests(village.vs.new.market.ebayes,lfc=0), decideTests(village.vs.hewletts.ebayes,lfc=0), decideTests(village.vs.masonboro.ebayes,lfc=0), decideTests(village.vs.whiskey.ebayes,lfc=0), decideTests(village.vs.james.island.ebayes,lfc=0), decideTests(duplin.vs.oakdale.ebayes,lfc=0), decideTests(duplin.vs.postell.ebayes,lfc=0), decideTests(duplin.vs.burnett.ebayes,lfc=0), decideTests(duplin.vs.new.market.ebayes,lfc=0), decideTests(duplin.vs.hewletts.ebayes,lfc=0), decideTests(duplin.vs.masonboro.ebayes,lfc=0), decideTests(duplin.vs.whiskey.ebayes,lfc=0), decideTests(duplin.vs.james.island.ebayes,lfc=0), decideTests(oakdale.vs.postell.ebayes,lfc=0), decideTests(oakdale.vs.burnett.ebayes,lfc=0), decideTests(oakdale.vs.new.market.ebayes,lfc=0), decideTests(oakdale.vs.hewletts.ebayes,lfc=0), decideTests(oakdale.vs.masonboro.ebayes,lfc=0), decideTests(oakdale.vs.whiskey.ebayes,lfc=0), decideTests(oakdale.vs.james.island.ebayes,lfc=0), decideTests(postell.vs.burnett.ebayes,lfc=0), decideTests(postell.vs.new.market.ebayes,lfc=0), decideTests(postell.vs.hewletts.ebayes,lfc=0), decideTests(postell.vs.masonboro.ebayes,lfc=0), decideTests(postell.vs.whiskey.ebayes,lfc=0), decideTests(postell.vs.james.island.ebayes,lfc=0), decideTests(burnett.vs.new.market.ebayes,lfc=0), decideTests(burnett.vs.hewletts.ebayes,lfc=0), decideTests(burnett.vs.masonboro.ebayes,lfc=0), decideTests(burnett.vs.whiskey.ebayes,lfc=0), decideTests(burnett.vs.james.island.ebayes,lfc=0), decideTests(new.market.vs.hewletts.ebayes,lfc=0), decideTests(new.market.vs.masonboro.ebayes,lfc=0), decideTests(new.market.vs.whiskey.ebayes,lfc=0), decideTests(new.market.vs.james.island.ebayes,lfc=0), decideTests(hewletts.vs.masonboro.ebayes,lfc=0), decideTests(hewletts.vs.whiskey.ebayes,lfc=0), decideTests(hewletts.vs.james.island.ebayes,lfc=0), decideTests(masonboro.vs.whiskey.ebayes,lfc=0), decideTests(masonboro.vs.james.island.ebayes,lfc=0), decideTests(whiskey.vs.james.island.ebayes,lfc=0)) names(site.tests) <- c( "guerin.vs.village", "guerin.vs.duplin", "guerin.vs.oakdale", "guerin.vs.postell", "guerin.vs.burnett", "guerin.vs.new.market", "guerin.vs.hewletts", "guerin.vs.masonboro", "guerin.vs.whiskey", "guerin.vs.james.island", "village.vs.duplin", "village.vs.oakdale", "village.vs.postell", "village.vs.burnett", "village.vs.new.market", "village.vs.hewletts", "village.vs.masonboro", "village.vs.whiskey", "village.vs.james.island", "duplin.vs.oakdale", "duplin.vs.postell", "duplin.vs.burnett", "duplin.vs.new.market", "duplin.vs.hewletts", "duplin.vs.masonboro", "duplin.vs.whiskey", "duplin.vs.james.island", "oakdale.vs.postell", "oakdale.vs.burnett", "oakdale.vs.new.market", "oakdale.vs.hewletts", "oakdale.vs.masonboro", "oakdale.vs.whiskey", "oakdale.vs.james.island", "postell.vs.burnett", "postell.vs.new.market", "postell.vs.hewletts", "postell.vs.masonboro", "postell.vs.whiskey", "postell.vs.james.island", "burnett.vs.new.market", "burnett.vs.hewletts", "burnett.vs.masonboro", "burnett.vs.whiskey", "burnett.vs.james.island", "new.market.vs.hewletts", "new.market.vs.masonboro", "new.market.vs.whiskey", "new.market.vs.james.island", "hewletts.vs.masonboro", "hewletts.vs.whiskey", "hewletts.vs.james.island", "masonboro.vs.whiskey", "masonboro.vs.james.island", "whiskey.vs.james.island" ) ########## 1 ANOVA all.sites.contrast <- makeContrasts( guerin-village, guerin-duplin, guerin-oakdale, guerin-postell, guerin-burnett, guerin-new.market, guerin-hewletts, guerin-masonboro, guerin-whiskey, guerin-james.island, village-duplin, village-oakdale, village-postell, village-burnett, village-new.market, village-hewletts, village-masonboro, village-whiskey, village-james.island, duplin-oakdale, duplin-postell, duplin-burnett, duplin-new.market, duplin-hewletts, duplin-masonboro, duplin-whiskey, duplin-james.island, oakdale-postell, oakdale-burnett, oakdale-new.market, oakdale-hewletts, oakdale-masonboro, oakdale-whiskey, oakdale-james.island, postell-burnett, postell-new.market, postell-hewletts, postell-masonboro, postell-whiskey, postell-james.island, burnett-new.market, burnett-hewletts, burnett-masonboro, burnett-whiskey, burnett-james.island, new.market-hewletts, new.market-masonboro, new.market-whiskey, new.market-james.island, hewletts-masonboro, hewletts-whiskey, hewletts-james.island, masonboro-whiskey, masonboro-james.island, whiskey-james.island, levels=site.design) all.sites.fit <- contrasts.fit(oyster.site.lm,all.sites.contrast) all.sites.ebayes <- eBayes(all.sites.fit) all.sites.result <- decideTests(all.sites.ebayes,lfc=0) > for(a in 1:dim(all.sites.result)[2]) + print(sum(all.sites.result[,a]==site.tests[[a]])) [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 [1] 5440 > sessionInfo() R version 2.5.1 (2007-06-27) i386-pc-mingw32 locale: LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 attached base packages: [1] "stats" "graphics" "grDevices" "utils" "datasets" "methods" [7] "base" other attached packages: limma "2.10.5" On 9/12/07, Stephen Henderson <s.henderson at="" ucl.ac.uk=""> wrote: > > why not? > > ... the usual and then > con.matrix<- matrix( -1/69, 70, 70) > for (i in 1:70){ cm[i,i]<-1} > > colnames (con.matrix)<- levels (myClasses) > > fit2<- contrasts.fit (fit1, con.matrix) > fit2<-eBayes(fit2) > > topTable (fit2, coef=65, genelist=whatever) > > > > ________________________________ > > From: bioconductor-bounces at stat.math.ethz.ch on behalf of Lana Schaffer > Sent: Tue 11/09/2007 22:46 > To: Naomi Altman; bioconductor at stat.math.ethz.ch > Subject: Re: [BioC] analysis of 70 groups for differential expression > > > > Naomi, > Yes, you are correct. > Lana > > -----Original Message----- > From: Naomi Altman [mailto:naomi at stat.psu.edu] > Sent: Tuesday, September 11, 2007 2:19 PM > To: Lana Schaffer; bioconductor at stat.math.ethz.ch > Subject: Re: [BioC] analysis of 70 groups for differential expression > > If I understand you correctly, this is one-way ANOVA with 69 contrasts, > not 69 separate ANOVAs (or t-tests). I.e. 1 run of limma with a huge > contrast matrix. > > --Naomi > > At 12:14 PM 9/11/2007, Lana Schaffer wrote: > > >Hi, > >We have a situation were there are 70 groups and we want to know if > >there is differential expression in a group. I think of the problem as > > >contrasting the expression of 1 group and the rest of the groups. > >In this case, limma would need to done 70 times for each group contrast > > >versis the rest of the groups. > >But this would result in an uneven comparison between one group and 70 > >other groups. Can someone suggest a way to approach this problem? > > > >Lana Schaffer > >Biostatistics/Informatics > >The Scripps Research Institute > >DNA Array Core Facility > >La Jolla, CA 92037 > >(858) 784-2263 > >(858) 784-2994 > >schaffer at scripps.edu > > > >_______________________________________________ > >Bioconductor mailing list > >Bioconductor at stat.math.ethz.ch > > https://stat.ethz.ch/mailman/listinfo/bioconductor > >Search the archives: > >http://news.gmane.org/gmane.science.biology.informatics.conductor > > Naomi S. Altman 814-865-3791 (voice) > Associate Professor > Dept. of Statistics 814-863-7114 (fax) > Penn State University 814-865-1348 (Statistics) > University Park, PA 16802-2111 > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: > http://news.gmane.org/gmane.science.biology.informatics.conductor > > > > ********************************************************************** > This email and any files transmitted with it are confidentia...{{dropped}} > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: > http://news.gmane.org/gmane.science.biology.informatics.conductor > [[alternative HTML version deleted]] _______________________________________________ Bioconductor mailing list Bioconductor at stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/bioconductor Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor ********************************************************************** This email and any files transmitted with it are confidentia...{{dropped}}
Answer: analysis of 70 groups for differential expression
0
11.8 years ago by
Gordon Smyth37k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth37k wrote:
>Date: Tue, 18 Sep 2007 10:50:22 -0400 >From: "Artur Veloso" <abveloso at="" gmail.com=""> >Subject: Re: [BioC] analysis of 70 groups for differential expression >To: "Bioconductor List" <bioconductor at="" stat.math.ethz.ch=""> > >Hi, > >I have a question very similar to the one described here. >I have samples from 11 environmental groups, so there is no control in the >experiment. Therefore, there are 55 comparisons that can be made and are of >interest in the experiment. >My approach before reading this was to run all comparisons independently >from each other, using makeContrasts, contrasts.fit,etc 55 times, and then >use decideTests to pull out the differently expressed genes. But I believe >that this is incorrect, since I am not adjusting the p-value for these 55 >tests. >The new approach that I tried was to run all the comparisons together (use >makeContrasts just once) and then use decideTests and use each column of the >TestResult matrix to extract DE genes for that specific comparison. >But, when I compared TestResult matrix columns from the same comparisons run >under the different methods described above I found no differences. See the help page ?decideTests, which tells you that "setting method="separate" is equivalent to using topTable separately for each coefficient in the linear model fit". In other words, the default method for decideTests() is the same as testing each contrast separately, as you have found. If you want to adjust for multiple testing across the 55 contrasts, you need to use decideTests() with another method, e.g., method="global". Best wishes Gordon > But I >did not look into the q-values or the lods. > >Was I wrong to run the 55 comparisons separately? Is the new approach more >appropriate? > >Thank you very much for the help! > >Artur B. Veloso >Masters in Marine Biology Candidate >College of Charleston, South Carolina, USA