**************** Related projects **************** Bioinformatics ============== Cloud computing --------------- `rpy2` is among the many bioinformatics-oriented packages provided with `CloudBioLinux `_. Check it out if you are considering a project involving cloud computing. Bioconductor ------------ Bioconductor is a popular set of R packages for bioinformatics. A number of classes defined within that project are exposed as Python classes through rpy2, in the project `rpy2-bioconductor-extensions `_. The bioconductor project is evolving quite rapidely the mapping might not longer be working. The `blog of Brad Chapman `_ also has good examples about how to use `rpy2` for bioinformatics tasks (or Python for bioinformatics in general). .. _interactive-sessions: Interactive consoles ==================== Data analysts often like to work interactively, that is going through short cycles like: * write a bit of code, which can be mostly involving a call to an existing function * run that code * inspect the results, often using plots and figures R users will be particularly familiar with this sort of approach, and will likely want it when working with :mod:`rpy2`. Obviously the Python console can be used, but there exist improvements to it, making the user experience more pleasant with features such as history and autocompletion. Other interactive environments ------------------------------ * bpython: curse-based enhancement to the Python console * emacs: the Emacs text editor can be used to host a python session, or an ipython session Embeddeding an R console ------------------------ Python can be used to develop full-fledged applications, including applications with a graphical user interface. :mod:`rpy2` can be used to provide an R console embedded in such applications, or build an alternative R GUI. When offering an R console, the developer(s) may want to retain control on the the way interaction with R is handled, at the level of the console and for the base R functions targetting interactivity (see Section :ref:`rinterface-callbacks`). The `RPyGTK project `_ demonstrates how :mod:`rpy2` can be used to implement a full-blown GUI for R using python. Alternative interfaces ======================= The `rtools `_ package proposes additions / customizations of the higher-level interface in rpy2. The `pandas ` package proposes an interpretation of data frames in Python, tied to numpy structures. A custom interfacing with rpy2 is mentioned, but it appears not as much developed as the rest of the project. R-like data strucutures ======================= R's data frames are extremely convient when manipulating data. In :mod:`rpy2` the original R `data.frame` is represented by :class:`rpy2.robjects.vectors.DataFrame`, but the `pydataframe `_ project has a pure Python implementation of them (with a compatibility layer with :mod:`rpy2` providing a seamless transition whenever needed.