[Biopython-dev] Biopython 1.60 plans and beyond

Tiago Antão tiagoantao at gmail.com
Sat Feb 18 19:24:00 UTC 2012


On Sat, Feb 18, 2012 at 11:52 AM, Michiel de Hoon <mjldehoon at yahoo.com> wrote:
> I am more concerned about relying on external programs, in particular R. Notwithstanding the usefulness of rpy and rpy2, I would prefer to have a pure-Python or Python-with-C-extension solution, ideally as part of Biopython.


The problem with the Python-with-C extensions is the Jython universe,
which has a few users (I am pretty sure I am not the only one ;) ).

In terms of discussion I would separate R (which can be linked via
rpy2) from other external programs (executables called explicitly).

I do not have a coherent view myself, only that:
1. Python is not computationally efficient for lots of stuff
2. There are apps that we need to talk with
3. Talking with external programs/apps/libraries will probably cause
the solution not to be 100% portable.

And,
1. external executables (not R) are the easiest dependencies to
maintain as long as they exist in Win+Mac+Lin (or Java platform
independent).
2. C (or Java) libs are not portable (but sometimes unavoidable?).
Note that external executables are portable: In a Jython
implementation you can call an external program but not a CLib (and
vice-versa: In a CLib implementation you can also call an external
program but not a Jav Lib
3. R dependencies are extremely burdensome: require management of R
plus extra R packages.

Outside of Biopython, I am on the verge of needing to write some
efficient algorithms for my personal work, which I want to call from
Python. I am currently leaning to do it in Java (or C as a second
option) as a stand-alone executable (and then execute the external
program from Python and parse the results). Not using the library
(either Jython or CLib) approach.

And yes, Java kicks Python in terms of speed. Big time.

-- 
"If you want to get laid, go to college.  If you want an education, go
to the library." - Frank Zappa




More information about the Biopython-dev mailing list