comparing two or more limma::topTables - in search of a graphical tool
1
0
Entering edit mode
Massimo Pinto ▴ 390
@massimo-pinto-3396
Last seen 10.2 years ago
Greetings all, in an experiment which I have analyzed using a factorial design, I have reached a point where I have produced a number of fits to my data with several contrasts and I am interested in making some comparisons between the two or more lists of differentially expressed genes. One tool, as I understand, is to make a VennDiagram based on limma::decideTests(). However, this has the limitation that the IDs of the differentially expressed genes are lost in the diagrams (but I can still manually look in the list produced by decideTests), and if one gene is upregulated in one contrast but down-regulated in another contrast, this gene won't appear in the intersection of the two circles of the Venn Diagram. This information, however, may be interesting and noteworthy. What graphical tools do exist to assist an investigator in this part of data analysis? Thank you in advance, Massimo Massimo Pinto Post Doctoral Research Fellow Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome http://claimid.com/massimopinto
• 1.1k views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 2 days ago
United States
Hi Massimo, Massimo Pinto wrote: > Greetings all, > > in an experiment which I have analyzed using a factorial design, I > have reached a point where I have produced a number of fits to my data > with several contrasts and I am interested in making some comparisons > between the two or more lists of differentially expressed genes. One > tool, as I understand, is to make a VennDiagram based on > limma::decideTests(). However, this has the limitation that the IDs of > the differentially expressed genes are lost in the diagrams (but I can > still manually look in the list produced by decideTests), and if one > gene is upregulated in one contrast but down-regulated in another > contrast, this gene won't appear in the intersection of the two > circles of the Venn Diagram. This information, however, may be > interesting and noteworthy. This last statement is incorrect. The default behavior of vennCounts() is to include both up and down regulated genes in the intersection. This includes genes up-regulated in one contrast and down-regulated in the other. > > What graphical tools do exist to assist an investigator in this part > of data analysis? I don't know what other graphical tools would be useful. Certainly listing a bunch of gene IDs in a Venn diagram would not be particularly useful. If you want annotated tables of the genes in each cell of the Venn diagram, the vennSelect() function in affycoretools may be of use (if you are using Affy chips). If you are using a different platform, the vennSelectBM() function may be useful. Best, Jim > > Thank you in advance, > Massimo > > Massimo Pinto > Post Doctoral Research Fellow > Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome > http://claimid.com/massimopinto > > _______________________________________________ > 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 -- James W. MacDonald, M.S. Biostatistician Douglas Lab University of Michigan Department of Human Genetics 5912 Buhl 1241 E. Catherine St. Ann Arbor MI 48109-5618 734-615-7826
ADD COMMENT
0
Entering edit mode
Dear James, thank you for your kind and prompt reply. I had always used vennDiagrams() on the outcome of limma::decideTests(), which, upon reading the ?vennDiagram help, I gather is only one of two options, the other being what you are pointing at. I have tried to play with vennCounts() to feed VennDiagram() and the result is easy to grasp. So fine with it. vennSelectBM() seems to give more options to compare differential expressions. However, I have got some difficulty with getting vennSelectBM() to work (which I choose over vennSelect() since my platform is Agilent) This is my piece of code: > vennSelectBM(eset.more,designo,results.fit.more.CM3.eb,cont.matrix3, fit.more.CM3.eb, method="same", adj.meth="BH", species="hsapiens") Checking attributes ... ok Checking filters ... ok Error in tapply(1:len, dataframe[, dataToUse], function(y) dataframe[y, : arguments must have same length In addition: There were 25 warnings (use warnings() to see them) So there appears to be something wrong with the length of my arguments. Here they are > dim(eset.more) Features Samples 4377 24 > dim(designo) [1] 24 6 > class(results.fit.more.CM3.eb) [1] "TestResults" attr(,"package") [1] "limma" > dim(results.fit.more.CM3.eb) [1] 4377 3 > dim(cont.matrix3) [1] 6 3 > dim(fit.more.CM3.eb) [1] 4377 3 > warnings() Warning messages: 1: The following annotation sources are not available at this mart for this species and were not used: GO 2: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 3: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 4: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 5: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 6: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 7: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 8: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 9: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 10: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 11: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 12: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 13: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 14: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 15: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 16: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 17: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 18: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 19: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 20: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 21: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 22: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 23: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 24: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical 25: In FUN(newX[, i], ...) : coercing argument of type 'double' to logical Back to the original point, a rather trivial graphical representation may be to display a series of histogram bars, as in the attached example, where the fold change is reported for a collection of genes, those that are most significantly regulated, say, or those that get extracted out from a call to vennSelectBM(). That is close to the thinking of non microarray-minded researchers, although some of the features of vennDiagrams are, of course, lost. Just in case: > sessionInfo() R version 2.10.0 (2009-10-26) x86_64-apple-darwin9.8.0 locale: [1] C attached base packages: [1] grid tcltk tools stats graphics grDevices utils datasets methods base other attached packages: [1] affycoretools_1.18.0 KEGG.db_2.3.5 GO.db_2.3.5 affy_1.24.2 gplots_2.7.3 caTools_1.10 [7] bitops_1.0-4.1 gdata_2.6.1 gtools_2.6.1 hgug4112a.db_2.3.5 org.Hs.eg.db_2.3.6 RSQLite_0.7-3 [13] DBI_0.2-4 Agi4x44PreProcess_1.6.0 genefilter_1.28.0 annotate_1.24.0 AnnotationDbi_1.7.20 limma_3.2.1 [19] Biobase_2.6.0 svGUI_0.9-46 svSocket_0.9-48 svMisc_0.9-56 loaded via a namespace (and not attached): [1] Biostrings_2.14.3 Category_2.12.0 GOstats_2.12.0 GSEABase_1.8.0 IRanges_1.4.4 RBGL_1.20.0 RCurl_1.2-0 [8] XML_2.6-0 affyio_1.13.5 annaffy_1.18.0 biomaRt_2.2.0 gcrma_2.18.0 graph_1.22.2 preprocessCore_1.7.9 [15] splines_2.10.0 survival_2.35-7 xtable_1.5-6 Yours Truly Massimo Massimo Pinto Post Doctoral Research Fellow Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome http://claimid.com/massimopinto On Wed, Nov 18, 2009 at 3:42 PM, James W. MacDonald <jmacdon at="" med.umich.edu=""> wrote: > > Hi Massimo, > > Massimo Pinto wrote: >> >> Greetings all, >> >> in an experiment which I have analyzed using a factorial design, I >> have reached a point where I have produced a number of fits to my data >> with several contrasts and I am interested in making some comparisons >> between the two or more lists of differentially expressed genes. One >> tool, as I understand, is to make a VennDiagram based on >> limma::decideTests(). However, this has the limitation that the IDs of >> the differentially expressed genes are lost in the diagrams (but I can >> still manually look in the list produced by decideTests), and if one >> gene is upregulated in one contrast but down-regulated in another >> contrast, this gene won't appear in the intersection of the two >> circles of the Venn Diagram. This information, however, may be >> interesting and noteworthy. > > This last statement is incorrect. The default behavior of vennCounts() is to include both up and down regulated genes in the intersection. This includes genes up-regulated in one contrast and down-regulated in the other. > > >> >> What graphical tools do exist to assist an investigator in this part >> of data analysis? > > I don't know what other graphical tools would be useful. Certainly listing a bunch of gene IDs in a Venn diagram would not be particularly useful. > > If you want annotated tables of the genes in each cell of the Venn diagram, the vennSelect() function in affycoretools may be of use (if you are using Affy chips). If you are using a different platform, the vennSelectBM() function may be useful. > > Best, > > Jim > > >> >> Thank you in advance, >> Massimo >> >> Massimo Pinto >> Post Doctoral Research Fellow >> Enrico Fermi Centre and Italian Public Health Research Institute (ISS), Rome >> http://claimid.com/massimopinto >> >> _______________________________________________ >> 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 > > -- > James W. MacDonald, M.S. > Biostatistician > Douglas Lab > University of Michigan > Department of Human Genetics > 5912 Buhl > 1241 E. Catherine St. > Ann Arbor MI 48109-5618 > 734-615-7826 -------------- next part -------------- A non-text attachment was scrubbed... Name: prova DataGraph vis diff gene expression.pdf Type: application/pdf Size: 18335 bytes Desc: not available URL: <https: stat.ethz.ch="" pipermail="" bioconductor="" attachments="" 20091119="" f2cece05="" attachment.pdf="">
ADD REPLY

Login before adding your answer.

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