On Mon, Aug 12, 2013 at 4:19 PM, Bjoern Gruening <bjoern.gruen...@gmail.com> wrote: > Hi Peter, > >> Hi Bjoern (& Greg), >> >> RE: http://toolshed.g2.bx.psu.edu/view/biopython/package_biopython_1_61 >> >> I'm wondering why in the Biopython package dependencies >> matplotlib is currently marked as prior installation required? i.e. >> >> <package name="numpy" version="1.7.1"> >> <repository changeset_revision="c75482be1d3a" >> name="package_numpy_1_7" owner="iuc" >> prior_installation_required="True" >> toolshed="http://toolshed.g2.bx.psu.edu" /> >> </package> >> <package name="matplotlib" version="1.2.1"> >> <repository changeset_revision="9d164359606b" >> name="package_matplotlib_1_2" owner="iuc" >> prior_installation_required="True" >> toolshed="http://toolshed.g2.bx.psu.edu" /> >> </package> >> >> Biopython needs NumPy pre-installed because Biopython has >> some C code which must be compiled against the NumPy >> headers. >> >> However, all the other Biopython Python dependencies are >> soft in the sense that the 3rd Python libraries just need to >> be available at run time (e.g. via $PYTHONPATH). >> >> Have I misunderstood the function of the Galaxy Tool Shed >> term prior_installation_required, or can we omit this and >> have it default to prior_installation_required="False" for >> matplotlib (and other similar cases)? > > No that is correct, in that case we can omit the > prior_installation_required=True flag for matplotlib.
OK, good. Thanks for clarifying that. >> ------------------------------------------------------------------ >> >> More generally, if that is the case, I would probably opt >> to make the Biopython package only depend on numpy, >> and leave declaring soft dependencies (or recommended >> packages in the terminology of some Linux distributions) >> down to the package/tool calling Biopython. >> >> For instance, my sequence manipulation tools which >> use just core Biopython can depend on just the main >> Biopython package. >> >> Another tool which uses Biopython and matplotlib to >> produce a graph would depend on both Biopython and >> the matplotlib packages. >> >> Another tool which uses Biopython's GenomeDiagram to >> produce a figure would depend on both Biopython and >> the (not yet written) ReportLab packages. > > I though a full fledged biopython would be better than a trimmed > version. But your are the biopython expert. If you think the developer > should take care of it, than I will eliminate the dependencies. > My concern was, that if you use biopython and plot your genome you > normally do not know that you need reportlab (because it come with > biopython on most of the distributions). Actually in my github account I > have the reportlab dependency included (but commented out). > > I think its up to you. I do not mind. It rather depends on how the Biopython you are using was installed, and if the installation route took care of these soft/recommended dependencies or not. My inclination is to leave this to the Galaxy tool author to make explicit when packaging their tool. If they forget, then the script calling Biopython should fail with an indicative ImportError or in some cases are more precise error about what exactly is missing. i.e. Lets have NumPy as the only dependency in the Galaxy package for Biopython. This has practical advantages like right now were a problem with the 'soft' dependency on matplotlib is blocking me from installing the Biopython package. Regards, Peter ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/