python软件快速开发_如何为R和Octave方法(可能是Python)进行GUI快速开发?

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:

Calling the R and Octave methods from Python.

Answers:

R / Python integration

PypeR (from radek, see answer for paper link)

Using a Python client to call in to an Octave server (from ChrisC)

Re-implementing our methods in Python. In general, this is not easy because our methods rely on other methods also implemented in R and Octave.

Answers:

There was no comment on this approach, it's probably a bad idea.

Using a different framework to build user-interfaces.

Answers:

How about building GUIs and web-apps directly in R? (from hadley, see answer for tool refs)

Other ideas that we haven’t considered, e.g., integrating with workflow management systems like Taverna.

Answers:

Try a visual programming interface like RedR (from chrisamiller)

My preferred answer

I'm first going to look into the approach suggested by Spacedman: using QtDesigner to build the UI for PyQt4 and calling R with RPy. We get a lot of students without a programming background who want to volunteer in the lab, and QtDesigner looks like something that we could train them to use effectively.

I would like develop GUIs directly in R as recommended by hadley but RQt, which I presume that I need to use QtDesigner, does not appear to be in active development (last update was summer of 2009).

Also, it looks like we may have to start implementing our methods exclusively in R, and translating over from MATLAB/Octave to R. In my field, this is probably not a bad idea anyways.

Appendix:

Python libraries to simplify user interface construction:

Other projects that integrate Python, R, and Octave:

GUIs to make GUIs:

QtDesigner with PyQt4 (from Spacedman). Note Qt4 is both commercial and available under a LGPL.

解决方案

I'd go with Python and PyQt4 for the UI, and use Rpy to interface to R.

There's the QtDesigner for interface designing and you can generate python from that. QtAssistant gives you a fully hyperlinked documentation set for Qt which is the best I've ever used.

Well worth it!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值