Alex Rivera | Logout

How should I do rapid GUI development for R and Octave methods (possibly with Python)?

Asked 2010-09-11T17:34:33.750
21

We are a medium-sized academic research lab whose main outputs are new statistical methods for analyzing large datasets. We generally develop in R and MATLAB/Octave.

We would like to expand the reach of our work by building simple, wizard-style user interfaces to access our methods, either web-apps like RNAfold or stand-alone applications to analyze private data.

Ideally, we would like the interfaces to do some data checking, to only use FOSS, to run in Mac and Windows environments, and to be able to generate simple charts and graphs that can be output as figures suitable for publication. Also, we like Python because it’s a popular language in the lab and in our research community.

However, we want to be able to develop and release quickly and cheaply. We are lucky to be able to fund one developer in the lab and s/he has to support multiple projects.

There are a lot of groups with the same needs and constraints as us, so it would be useful to be able to develop a consistent long-term strategy for this type of challenge.

Edit I asked for comments on four possible approaches, included below with summary of comments:

  1. Calling the R and Octave methods from Python.
    Answers:
    • R / Python integration
    • Using a Python client to call in to an Octave server
Edit
Report

3 Answers

9

Why not continue to develop directly in R? There are a number of packages that allow you to develop GUIs (gWidgets RGtk, tcl/tk, RQt, Rwxwidgets, rjava) or web applications.

answered 2010-09-11T21:19:23.020
2

I haven't tried directly connecting Octave with Python beyond setting up Octave apps as a server and having a Python client call in, but I've had some luck integrating R with Python courtesy RPy. In some of our applications we build e.g. a wxPython + matplotlib Python frontend, and call the R scripts directly through RPy.

answered 2010-09-11T18:35:06.537
1

You might try looking at RedR, which lets you wrap R packages in a Python GUI.

answered 2010-09-13T13:13:53.727

Your Answer