[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Should Wise2 be installed by default by biopython ?



Le Sat, Nov 24, 2007 at 01:03:48AM +0100, Philipp Benner a écrit :
> I don't see a reason why one should distinguish between libraries and
> binaries since from the user's perspective a module is just working or
> not.

Hi Philipp,

I think that the difference is not wether the package contains a module
or a library, but wether it provides a wrapped tool or something needed
for more internal functions. Let us imaging the following examples:

 - A user writes a biopython script to align two sequences. Biopython
   uses internally an arbitrary tool for the task. In that case I think
   that biopython should recommend that tool.

 - A user writes a bipython script to manage the alignment of two
   sequences with a program he choses, and to process their output. I
   think that in that case it would be acceptable to only suggest the
   tool, because the user is expected to have it installed already.

 - A package shipping a biopython script which runs an external tool
   would have to recommend or depend on biopython and the tool,
   depending on how crucial is the script for the function of the
   package.

Maybe you wonder: why not just depending on or recommenting the programs
instead of suggesting? Well, if a package fails to fulfill its
dependancies, it is broken, and if it depends on non-main packages, it
has to go in contrib or non-free. Would we decide to depend on the tools
biopython (or bioperl) wraps, the mere presence of a wrapper for
clustalw would move the package out of main, or make the need for a
package split at the .orig.tar.gz level; the kind of things I would be
scared for such complex packages. Similary, if we want to recommend all
the packages bio(perl|python|java|…) provide wrappers for, we would end
up in having missing recommends.

With the proposed strategy, we would have:

Depends:    packages that makes any execution impossible if they are removed.
Recommends: packages that can be safely reomved when on particular task is
            never done, or that can be upgraded from outside Debian by
	    the user.
Suggests:   packages that provide tools for which bio(perl|python|java|…)
            has a wrapper, and that are available in Debian.

In the case of bioperl, this strategy would leave an easy way for our
users to replace one of the module by its latest CPAN version, and would
not trigger spagetthi effects by pulling most med-bio packages through
Recommends.

Another strategy would be to have a  bio(perl|python|java|…)-wrappers
package.

What is biopython using Wise2 for ?

Have a nice day,

-- 
Charles Plessy
http://charles.plessy.org
Wakō, Saitama, Japan



Reply to: