Thanks John - that could explain what's going wrong and offers another approach to fixing my TravisCI testing - setting: preserve_python_environment = legacy_and_local or: preserve_python_environment = always (Despite several attempts I didn't hit on a nice way to get the galaxy_sequence_utils installed nicely via a "manual install", one day I will switch my TravisCI testing to use BioConda) I am hoping to get my TravisCI builds passing again today... Peter On Tue, Jan 31, 2017 at 5:27 PM, John Chilton <jmchilton@gmail.com> wrote:
So the PR that broke your tools is probably here https://github.com/galaxyproject/galaxy/pull/3364/files. That pull request removed Galaxy from the Python path of Galaxy tools - this gives tools a much cleaner environment and prevents certain conflicts between Conda and Galaxy.
As part of that PR, there is a list of Galaxy tools in lib/galaxy/tools/__init__.py that still get setup with Galaxy's Python environment. This includes many random devteam and even an IUC tool - I've added something to the list even though one ancient version of tool shed tool required it years ago and it has since been updated. I would open a PR to add the tool id of any of your tools that have been published to the tool shed and require these tools to this list. You can target it against 17.01 ideally and then we can merge that into dev.
This behavior can be reverted - there is a config option that is documented pretty well in the PR but I missed named it in the sample (fixing it with https://github.com/galaxyproject/galaxy/pull/3521/files).
Hopefully this helps and thanks for the bug report!
-John
On Tue, Jan 31, 2017 at 7:08 AM Peter Cock <p.j.a.cock@googlemail.com> wrote:
Thanks Nicola,
I didn't spot the missing slash, but planemo lint did - for anyone else copy-and-pasting:
<requirement type="package" version="1.0.1">galaxy_sequence_utils</requirement>
For anyone not yet using BioConda with Galaxy, there is also a Tool Shed entry here:
https://toolshed.g2.bx.psu.edu/view/iuc/package_galaxy_sequence_utils_1_0_1/
I am therefore adding this to my tool_dependencies.xml files:
<package name="galaxy_sequence_utils" version="1.0.1"> <repository name="package_galaxy_sequence_utils_1_0_1" owner="iuc" /> </package>
I still need to work out how best to make this available under TravisCI, given I am not currently using BioConda for the dependencies.
@IUC: Should this also be released on PyPI for easy install via pip?
Peter
On Tue, Jan 31, 2017 at 11:15 AM, Nicola Soranzo <nsoranzo@tiscali.it> wrote:
Hi Peter, adding
<requirement type="package" version="1.0.1">galaxy_sequence_utils<requirement>
to each of these tools should solve the problem, there is a Bioconda package which provides the Python library:
https://anaconda.org/bioconda/galaxy_sequence_utils
Cheers, Nicola
On 31/01/17 10:39, Peter Cock wrote:
Hi all,
A few of my tools have for a long time used Galaxy's own parsing functionality in order to avoid an external dependency. Lately this has stopped working on my TravisCI testing with planemo using the Galaxy dev branch (the stable master branch is fine): e.g.
https://travis-ci.org/peterjc/pico_galaxy/builds/196655736
The tools fail with things like:
| from galaxy_utils.sequence.fasta import fastaReader, fastaWriter | ImportError: No module named galaxy_utils.sequence.fasta
or:
| from galaxy_utils.sequence.fastq import fastqReader | ImportError: No module named galaxy_utils.sequence.fastq
Is this a temporary regression in Galaxy, or a deliberate change? Do the tools need to do something to explicit have access to the Galaxy Python library, or are they now considered private? If so, I can update these tools to use an explicit dependency for parsing FASTA and FASTQ (e.g. Biopython).
Thanks,
Peter