Highlights of the Milwaukee Workshop on R and Bioinformatics
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
by Joseph Rickert
On May 10th and 11th, in honor of this being the International Year of Statistics, the Milwaukee Chapter of the American Statistical Association (MILWASA) held a workshop on cutting edge uses of R in Bioinformatics. One objective of the workshop was to show the “nuts and bolts” details of how R with C++ integration and the specialized capabilities of the Bioconductor Project provides an flexible, feature-rich platform for advanced Bioinfomatics applications. Featured speakers were:
- Denise Scholtens who gave talks on analyzing microarray data using R and Bioconductor, building graphs with R and Bioconductor, gene set enrichment analysis, and Expression Set objects.
- Kwang-Youn Kim who spoke on the analysis of RNA sequencing data using R and Bioconductor and
- Dirk Eddelbuettel gave a thorough, four-part introduction to Rcpp, his package for integrating R with C++.
A tremendous amount of material from this workshop (pdfs, slides, data and R code) is available online. And, if you are interested in R and C++ integration have a look at Dirk’s new book.
The following graph from Denise’s presentation on gene set enrichment analysis shows a portion of an induced gene ontology graph using using the classic Fisher elimination algorithm and gives an idea of the some of the sophisticated analyses you can do with her R code.
Note if you want to run the code you will have to get some of the packages from Bioconductor. Here is some code from Kwang-Youn on how to get started.
# Install all the necessary packages if not on your system source("http://bioconductor.org/biocLite.R") ## Bioconductor version 2.11 (BiocInstaller 1.8.3), ?biocLite for help biocLite(c("TxDb.Dmelanogaster.UCSC.dm3.ensGene", "ShortRead", "edgeR", "cummeRbund")) ## BioC mirror: http://bioconductor.org ## Using Bioconductor version 2.11 (BiocInstaller 1.8.3), R version 2.15. ## Installing package(s) 'TxDb.Dmelanogaster.UCSC.dm3.ensGene' 'ShortRead' ## 'edgeR' 'cummeRbund' ## ## The downloaded binary packages are in ## /var/folders/nk/9bnzzk_152vg4wslcbxc5g_c0000gn/T//RtmpzkrvEW/downloaded_packages
And here is some sample code from Dirk's presentation on calling R plot functions from C++.
#include <RInside.h> // embedded R via RInside int main(int argc, char *argv[]) { RInside R(argc, argv); // create an embedded R instance // evaluate an R expression with curve() std::string cmd = "tmpf <- tempfile(’curve’); " "png(tmpf); curve(x^2, -10, 10, 200); " "dev.off(); tmpf"; // by running parseEval, we get filename back std::string tmpfile = R.parseEval(cmd); std::cout << "Could use plot in " << tmpfile << std::endl; unlink(tmpfile.c_str()); // cleaning up // alternatively, by forcing a display we can plot to screen cmd = "x11(); curve(x^2, -10, 10, 200); Sys.sleep(30);"; R.parseEvalQ(cmd); exit(0); }
Revolution Analytics is proud to have been a sponsor for this workshop. Congratulations to Rodney Sparapani of the Medical College of Wisconsin for making it happen!
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.