**Revolutions**, and kindly contributed to R-bloggers)

*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 ` // 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 ﬁlename 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!

**leave a comment**for the author, please follow the link and comment on their blog:

**Revolutions**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...