[BioPython] biopython integration with make-like tools (e.g. waf, paver)

Peter biopython at maubp.freeserve.co.uk
Mon Nov 17 11:53:04 UTC 2008


Giovanni Marco Dall'Olio wrote:
> Hi,
> a general question.
>
> Are you used to organize your python/biopython scripts in pipelines or
> workflows?
> For example, many people use automatic build tools like 'make' to
> organize their scientific scripts.
> Let's say you want to study the structure of a protein from pdb. I
> would create a script to download it from pdb.org, one to parse its
> format, and others to do the analysis; then, I would write a Makefile
> to put everything together.

Personally in this situation I tend to just write a wrapper python
script (or sometimes a shell script or batch file) to call the sub
scripts.  i.e. the KISS principle.

I really don't think Makefiles are a sensible solution to this problem
- although it is possible.  A Makefile lets you deal with simple
dependencies (e.g. building an index file, or running a BLAST search
and saving it to disk) but I prefer to just deal with this within my
python scripts (e.g. if the index is missing, build it; if the BLAST
output is missing, call BLAST).

Why do you think you need a Makefile? Are you intending to provide the
workflow to other people?  Using a complicated Makefile means the
project is harder for a new developer to understand (they need to
learn a whole new programming language/tool).  This may also hinder
cross platform deployment (the average Windows machine won't have make
installed).

Peter



More information about the Biopython mailing list