Hi,

sorry for long delay answer. Solution which Peter suggested is absolutely right - owner of packages has to add changes.
Because I did not have any reaction to my message but needed quick solution and wanted to stay in consistent with
standard Galaxy installation procedure and neither do any fork of Daniel's packages and setup then local toolsched 
repository for tools or install these packages locally, I did some trick.

First I installed these packages. Installation of course failed. Then I open them in web interface, uninstalled them, 
modified  tool_dependencies.xml files (see below) and installed them again from the web interface.
Sorry if I miss something that was several months ago.

shell_command was modified.

...
<actions>
<action type="shell_command">hg clone -r ba0341816b15fff5e0a554658d6579a60e1b12b1 https://bitbucket.org/dan/pybamtools pyBamTools</action>
<action type="make_directory">$INSTALL_DIR/lib/python</action>
<action type="shell_command">export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python && sed -i '/use_setuptools()/ s/^/#/' setup.py && sed -i '/from distribute_setup import use_set
uptools/ s/^/#/' setup.py && python setup.py install --home $INSTALL_DIR</action>
<action type="set_environment">
    <environment_variable name="PYTHONPATH" action="prepend_to">$INSTALL_DIR/lib/python</environment_variable>
</action>
</actions>
...

instead of 

<action type="shell_command">export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python && python setup.py install --home $INSTALL_DIR</action>

Idea I think is clear, after clone of tools, modify first setup.py files and then compile and install.

Hope it can be useful,
Nikolaos.

On Tue, Jan 10, 2017 at 12:54 PM, Jennifer Hsieh <humbleambition@gmail.com> wrote:
Hi Peter, 
Thank you so much. 
I'll see what I can figure out with these pull requests. I'm still quite inexperienced with these types of files. This is probably a good opportunity to learn some new code/structures. 
If I can't manage to figure it out, I hope there's another variant caller with different dependencies I can use for my project. 

Best, 
Jen 


On 9 Jan 2017 4:06 p.m., "Peter Briggs" <peter.briggs@manchester.ac.uk> wrote:
Hello Jennifer

I came across the same problem with the naive variant caller at the end of last year, when trying to upgrade our local Galaxy instance.

As you describe, the issue is actually with the two dependency packages:

-- package_pybamparser_0_0_1
-- package_pybamtools_0_0_2

I think I found the same solution as Nikolaos to the underlying problem (i.e. the setup.py files in these two packages are no longer compatible with the newer versions of the Python 'setuptools'), but I didn't have time to follow it up then.

I've now submitted pull requests with my attempted fixes on the Bitbucket repositories which hold the source code for the dependencies (URLs below), so at least you can see how I've tried to address the problem. However I don't know of an easy way to apply these changes inside the Galaxy context - my hope is that the tool maintainer (Daniel Blankenberg, cc'ed) will take a look and update the dependencies on the toolshed.

Not sure if this helps - maybe someone else on this list has a way to apply the patches directly?

Best wishes

Peter

Pull request URLs:

-- https://bitbucket.org/dan/pybamtools/pull-requests/1/
-- https://bitbucket.org/dan/pybamparser/pull-requests/3/



On 06/01/17 14:50, Jennifer Hsieh wrote:
Hi,
I've installed a local instance of Galaxy (on Ubuntu 16.04, python
2.7.12) and have run in to this exact problem
(posted by Nikolaos
Tur https://www.mail-archive.com/galaxy-dev@lists.galaxyproject.org/msg03955.html)
while trying to add naive_variant_caller tool.
Naive_variant_caller can't install because these two dependency packages
can't be installed.
I basically get exactly the same error message that ends with "IOError:
Could not build the egg."

Unfortunately I'm very new to both Galaxy and Python (Taking Coursera
Galaxy course at the moment) and I don't really understand the solution
Nikolaos described about modifying the setup.py to use "setuptools"
instead of "distribute". I don't even know where to find setup.py...

Can anyone help me with step-by-step details as to how to solve this
dependency problem?

Much Thanks!
--
Jennifer Hsieh
PhD Neuroscience (student)
Department of Psychiatry and Mental Health
University of Cape Town
Tell: +27 21 447 3157
Cell: +27 74 841 4761





___________________________________________________________
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/


--
Peter Briggs peter.briggs@manchester.ac.uk
Bioinformatics Core Facility University of Manchester
B.1083 Michael Smith Bldg Tel: (0161) 2751482


___________________________________________________________
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/