Re: [galaxy-dev] Tools using Galaxy's Python library?
To recap, in the next release of Galaxy, there will not be a copy of the sequence parsing code like lib/galaxy_utils/sequence/fastq.py - see this pull request: https://github.com/galaxyproject/galaxy/pull/3551 Both Galaxy itself, and any tools needing it, will depend on the now separately packaged galaxy_sequence_utils library, source code now here: https://github.com/galaxyproject/sequence_utils The original version of this is available on the Tool Shed: https://toolshed.g2.bx.psu.edu The library is now available on PyPI too: https://pypi.python.org/pypi/galaxy_sequence_utils/ This code has been updated and now does "import six" as part of work to make sure it can be used on Python 2 and Python 3, and it includes support for compressed FASTQ files. My TravisCI tool tests are passing again using both Galaxy's stable and dev branches. Peter On Wed, Feb 1, 2017 at 11:20 AM, Peter Cockwrote: > This went smoother today, and has served to refresh some of the > details of how the Galaxy's venv etc all work. > > In my TravisCI setup for tool testing I currently "manually" install > the tool dependencies, and thus am using pip with the same URL > as the Tool Shed package: > > pip install > http://depot.galaxyproject.org/package/source/galaxy_sequence_utils/galaxy_sequence_utils-1.0.1-st.tgz > > Commit: > > https://github.com/peterjc/pico_galaxy/commit/c9b77b49281974988c790a54f05c4d1ff81b0904 > > The TravisCI build is still failing, but on an unrelated change > on the Galaxy dev branch. > > 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Re: [galaxy-dev] Tools using Galaxy's Python library?
This went smoother today, and has served to refresh some of the details of how the Galaxy's venv etc all work. In my TravisCI setup for tool testing I currently "manually" install the tool dependencies, and thus am using pip with the same URL as the Tool Shed package: pip install http://depot.galaxyproject.org/package/source/galaxy_sequence_utils/galaxy_sequence_utils-1.0.1-st.tgz Commit: https://github.com/peterjc/pico_galaxy/commit/c9b77b49281974988c790a54f05c4d1ff81b0904 The TravisCI build is still failing, but on an unrelated change on the Galaxy dev branch. Peter On Wed, Feb 1, 2017 at 9:46 AM, Peter Cockwrote: > 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 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 >> wrote: >>> >>> Thanks Nicola, >>> >>> I didn't spot the missing slash, but planemo lint did - for anyone >>> else copy-and-pasting: >>> >>> >> version="1.0.1">galaxy_sequence_utils >>> >>> 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: >>> >>> >>> >> /> >>> >>> >>> 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 >>> wrote: >>> > Hi Peter, >>> > adding >>> > >>> > >> > version="1.0.1">galaxy_sequence_utils >>> > >>> > 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 >>> >> ___ 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,
Re: [galaxy-dev] Tools using Galaxy's Python library?
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 Cockwrote: > Thanks Nicola, > > I didn't spot the missing slash, but planemo lint did - for anyone > else copy-and-pasting: > > galaxy_ > sequence_utils > > 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: > > > owner="iuc" /> > > > 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 > wrote: > > Hi Peter, > > adding > > > > > version="1.0.1">galaxy_sequence_utils > > > > 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 > >> ___ > >> 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: > >>https://lists.galaxyproject.org/ > >> > >> To search Galaxy mailing lists use the unified search at: > >>http://galaxyproject.org/search/mailinglists/ > > > > > ___ > 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: > https://lists.galaxyproject.org/ > > To search Galaxy mailing lists use the unified search at: > http://galaxyproject.org/search/mailinglists/ ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Re: [galaxy-dev] Tools using Galaxy's Python library?
Hi folks, the two of the Galaxy-born libraries have sources at our GitHub: https://github.com/galaxyproject/gops https://github.com/galaxyproject/sequence_utils Any improvements or PyPI-readiness work are welcome. Best, Martin On Tue, Jan 31, 2017 at 7:08 AM Peter Cockwrote: > Thanks Nicola, > > I didn't spot the missing slash, but planemo lint did - for anyone > else copy-and-pasting: > > version="1.0.1">galaxy_sequence_utils > > 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: > > > /> > > > 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 > wrote: > > Hi Peter, > > adding > > > > > version="1.0.1">galaxy_sequence_utils > > > > 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 > >> ___ > >> 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: > >>https://lists.galaxyproject.org/ > >> > >> To search Galaxy mailing lists use the unified search at: > >>http://galaxyproject.org/search/mailinglists/ > > > > > ___ > 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: > https://lists.galaxyproject.org/ > > To search Galaxy mailing lists use the unified search at: > http://galaxyproject.org/search/mailinglists/ ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Re: [galaxy-dev] Tools using Galaxy's Python library?
Thanks Nicola, I didn't spot the missing slash, but planemo lint did - for anyone else copy-and-pasting: galaxy_sequence_utils 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: 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 Soranzowrote: > Hi Peter, > adding > > version="1.0.1">galaxy_sequence_utils > > 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 >> ___ >> 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: >>https://lists.galaxyproject.org/ >> >> To search Galaxy mailing lists use the unified search at: >>http://galaxyproject.org/search/mailinglists/ > > ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Re: [galaxy-dev] Tools using Galaxy's Python library?
Hi Peter, adding version="1.0.1">galaxy_sequence_utils 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 ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/ ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
[galaxy-dev] Tools using Galaxy's Python library?
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 ___ 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: https://lists.galaxyproject.org/ To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/