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.
------------------------------------------------------------------
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. Cheers, Bjoern
etc.
Peter