File: related_projects.rst

package info (click to toggle)
rpy2 3.6.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,412 kB
  • sloc: python: 18,448; ansic: 492; makefile: 197; sh: 166
file content (98 lines) | stat: -rw-r--r-- 3,231 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
****************
Related projects
****************



Bioinformatics
==============

Cloud computing
---------------

`rpy2` is among the many bioinformatics-oriented packages
provided with `CloudBioLinux <http://cloudbiolinux.org/>`_. 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 <http://pypi.python.org/pypi/rpy2-bioconductor-extensions/0.2-dev>`_. The bioconductor project is evolving quite rapidely the mapping might not longer be working.

The `blog of Brad Chapman <http://bcbio.wordpress.com/>`_ 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 <http://code.google.com/p/rpygtk/>`_ demonstrates how
:mod:`rpy2` can be used to implement a full-blown GUI for R using python.


Alternative interfaces
=======================

The `rtools <http://pypi.python.org/pypi/rtools>`_ package proposes additions / customizations of the higher-level
interface in rpy2.

The `pandas <http://pypi.python.org/pypi/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 <http://code.google.com/p/pydataframe/>`_ project
has a pure Python implementation of them (with a compatibility
layer with :mod:`rpy2` providing a seamless transition
whenever needed.