limma: get all sig genes from multiple contrasts
2
0
Entering edit mode
Ivan Baxter ▴ 60
@ivan-baxter-1399
Last seen 9.6 years ago
I realize this may be a silly question, but I have gone through all the case studies in the limma users manual and I can't seem to find the answer to this anywhere. I have a 3x3 factorial experiment and I followed the case studies to make my linear model and designate 13 contrasts of interest. My question is: is there a simple way to get all the genes that show significant differences in any one of my contrasts? (for use in clustering, for ex.) I manged to pull them out using: results <- decideTests(fit2) abres <- abs(results) sig_gene <- abres[rowSums(abres) > 0,] which then has to be linked up by test <- match(rownames(sig_gene), geneNames(eset)) sigchange <- eset[test] This seems rather ungainly when compared to how elegantly all the other functions in limma work. Is there a simpler way to do this? ivan -- ************************************** Ivan Baxter Post-Doc Purdue University ibaxter at purdue.edu
Clustering limma Clustering limma • 960 views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 12 hours ago
United States
Hi Ivan, Ivan Baxter wrote: > I realize this may be a silly question, but I have gone through all the > case studies in the limma users manual and I can't seem to find the > answer to this anywhere. I have a 3x3 factorial experiment and I > followed the case studies to make my linear model and designate 13 > contrasts of interest. My question is: is there a simple way to get all > the genes that show significant differences in any one of my contrasts? > (for use in clustering, for ex.) > I manged to pull them out using: > > results <- decideTests(fit2) > abres <- abs(results) > sig_gene <- abres[rowSums(abres) > 0,] > > which then has to be linked up by > > test <- match(rownames(sig_gene), geneNames(eset)) > sigchange <- eset[test] > > This seems rather ungainly when compared to how elegantly all the other > functions in limma work. Is there a simpler way to do this? You can do this easily enough without needing any added functionality in limma. results <- decideTests(fit2) index <- apply(results, 1, any) sigchange <- eset[index,] As an aside, unless you are planning to cluster your data to show patterns you have extracted using the different contrasts, this is probably not what you want to do. You are extracting only those genes that fulfill a certain set of criteria, so any resulting clustering solution will by definition show a pattern that reflects that. As an example, if you do a t-test comparing two sample types and then cluster the significant genes, you will get a heatmap showing that the two samples are quite different from each other, with very little variation within each sample type (which is what the t-test is testing for). HTH, Jim > > ivan > > > -- James W. MacDonald University of Michigan Affymetrix and cDNA Microarray Core 1500 E Medical Center Drive Ann Arbor MI 48109 734-647-5623 ********************************************************** Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
ADD COMMENT
0
Entering edit mode
Thanks Jim- that will help I think I am still going to get useful information out of the clustering. I have 7 different combinations of treatments, so the number of different patterns is going to be quite large. Clustering seems to be a good way to get a feel for which patterns are there and of interest. For a package like goCluster, wouldn't I want to reduce the number of genes which are in the set that is analyzed (say from 22k to ~1k)? While there might be genes that fit a certain pattern that isn't significantly different in any of my contrasts, it seems likely that it would be in the minority. After I have identified interesting patterns from the significantly changed genes, I could then go back in and see if other genes match that pattern? thanks Ivan James W. MacDonald wrote: > Hi Ivan, > > Ivan Baxter wrote: >> I realize this may be a silly question, but I have gone through all >> the case studies in the limma users manual and I can't seem to find >> the answer to this anywhere. I have a 3x3 factorial experiment and >> I followed the case studies to make my linear model and designate 13 >> contrasts of interest. My question is: is there a simple way to get >> all the genes that show significant differences in any one of my >> contrasts? (for use in clustering, for ex.) >> > > You can do this easily enough without needing any added functionality > in limma. > > results <- decideTests(fit2) > index <- apply(results, 1, any) > sigchange <- eset[index,] > > As an aside, unless you are planning to cluster your data to show > patterns you have extracted using the different contrasts, this is > probably not what you want to do. You are extracting only those genes > that fulfill a certain set of criteria, so any resulting clustering > solution will by definition show a pattern that reflects that. > > As an example, if you do a t-test comparing two sample types and then > cluster the significant genes, you will get a heatmap showing that the > two samples are quite different from each other, with very little > variation within each sample type (which is what the t-test is testing > for). > > HTH, > > Jim > > >
ADD REPLY
0
Entering edit mode
Hi Ivan, Ivan Baxter wrote: > Thanks Jim- that will help I think I am still going to get useful > information out of the clustering. I have 7 different combinations of > treatments, so the number of different patterns is going to be quite > large. Clustering seems to be a good way to get a feel for which > patterns are there and of interest. For a package like goCluster, > wouldn't I want to reduce the number of genes which are in the set that > is analyzed (say from 22k to ~1k)? While there might be genes that fit a > certain pattern that isn't significantly different in any of my > contrasts, it seems likely that it would be in the minority. After I > have identified interesting patterns from the significantly changed > genes, I could then go back in and see if other genes match that pattern? Using goCluster is a slightly different subject, because you are clustering based on the GO terms rather than the expression values. In that case I don't think it is a problem to select genes in this manner. Best, Jim -- James W. MacDonald, M.S. Biostatistician Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109 734-647-5623 ********************************************************** Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
ADD REPLY
0
Entering edit mode
@kfbargadehues-1528
Last seen 9.6 years ago
If I am not wrong, section 8.6 of the limma manual explains what you want, and that is fit2$F.p.value hth, David > I realize this may be a silly question, but I have gone through all the > case studies in the limma users manual and I can't seem to find the > answer to this anywhere. I have a 3x3 factorial experiment and I > followed the case studies to make my linear model and designate 13 > contrasts of interest. My question is: is there a simple way to get all > the genes that show significant differences in any one of my contrasts? > (for use in clustering, for ex.) > I manged to pull them out using: > > results <- decideTests(fit2) > abres <- abs(results) > sig_gene <- abres[rowSums(abres) > 0,] > > which then has to be linked up by > > test <- match(rownames(sig_gene), geneNames(eset)) > sigchange <- eset[test] > > This seems rather ungainly when compared to how elegantly all the other > functions in limma work. Is there a simpler way to do this? > > ivan > > > > -- > > ************************************** > Ivan Baxter > Post-Doc > Purdue University > ibaxter at purdue.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 >
ADD COMMENT

Login before adding your answer.

Traffic: 480 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