Hi Björn,
There is a version in the testtoolshed, I can migrate it if you like and if you can confirm that you can install it :)
I'd be very interested in the infernal wrapper! I'll try to install it.
The problem is that you do not have defined your tools in the tool_dependencies.xml file. Galaxy will search in that file (with the keys specified in your tool.xml) and create the path to your repository.
Try the attached xml file and delete your repository.xml file.
Alright, I'll try that tomorrow. But I'm not sure I grasp the difference between the tool_dependencies.xml and the repository_dependencies.xml file then. I used to put my dependencies in tool_dependencies.xml but looking for the definition of it I stumbled upon this page: http://wiki.galaxyproject.org/DefiningRepositoryDependencies and thought that it was appropriate in my case. Apparently not... Thanks for your help! Lionel On 5 Sep 2013, at 17:22 , Bjoern Gruening <bjoern.gruening@gmail.com> wrote:
Hi Lionel,
Bjoern and others,
I'm back at that. I published my tool on the toolshed (http://toolshed.g2.bx.psu.edu/view/lionelguy/prokka). I created a new, fresh instance of galaxy from scratch, with a new database. I went on and installed prokka from the toolshed. Prokka has a lot of dependencies, that are handled through a repository_dependencies.xml file:
<?xml version="1.0"?> <repositories description="Prokka requires a suite of other tools"> <repository toolshed="http://toolshed.g2.bx.psu.edu" name="trna_prediction" owner="bgruening" changeset_revision="d34f31cbc9dd" /> <repository toolshed="http://toolshed.g2.bx.psu.edu" name="barrnap" owner="simon-gladman" changeset_revision="a41418a3bd38" /> <repository toolshed="http://toolshed.g2.bx.psu.edu" name="prodigal" owner="edward-kirton" changeset_revision="304c1a67bb7b" /> <!--<repository toolshed="http://toolshed.g2.bx.psu.edu" name="infernal" owner="" changeset_revision="" /> -->
There is a version in the testtoolshed, I can migrate it if you like and if you can confirm that you can install it :)
http://testtoolshed.g2.bx.psu.edu/view/iuc/package_infernal_1_1rc4
<repository toolshed="http://toolshed.g2.bx.psu.edu" name="package_hmmer_3_1" owner="lionelguy" changeset_revision="007c736bf7e8" /> <repository toolshed="http://toolshed.g2.bx.psu.edu" name="ncbi_blast_plus" owner="devteam" changeset_revision="9dabbfd73c8a" /> </repositories>
The installation went well, and all depencencies show as installed in my admin panel. Only biopython and numpy (dependencies from trna_prediction) miss some dependencies, but are installed anyway.
The requirements are stated in my prokka.xml file:
<requirements> <requirement type="package" version="1.7">prokka</requirement> <requirement type="package" version="1.2.36">aragorn</requirement> <requirement type="package" version="2.60">prodigal</requirement> <requirement type="package" version="0.1">barrnap</requirement> <requirement type="package" version="3.1b1">hmmer</requirement> <requirement type="package" version="2.2.26+">blast+</requirement> <requirement type="package">tbl2asn</requirement> </requirements>
When I run prokka, though, all dependency resolution fail, except the prokka one (the package itself):
galaxy.tools DEBUG 2013-09-05 16:33:03,045 Building dependency shell command for dependency 'prokka' galaxy.tools DEBUG 2013-09-05 16:33:03,048 Building dependency shell command for dependency 'aragorn' galaxy.tools WARNING 2013-09-05 16:33:03,048 Failed to resolve dependency on 'aragorn', ignoring galaxy.tools DEBUG 2013-09-05 16:33:03,048 Building dependency shell command for dependency 'prodigal' galaxy.tools WARNING 2013-09-05 16:33:03,048 Failed to resolve dependency on 'prodigal', ignoring galaxy.tools DEBUG 2013-09-05 16:33:03,048 Building dependency shell command for dependency 'barrnap' galaxy.tools WARNING 2013-09-05 16:33:03,048 Failed to resolve dependency on 'barrnap', ignoring galaxy.tools DEBUG 2013-09-05 16:33:03,049 Building dependency shell command for dependency 'hmmer' galaxy.tools WARNING 2013-09-05 16:33:03,049 Failed to resolve dependency on 'hmmer', ignoring galaxy.tools DEBUG 2013-09-05 16:33:03,049 Building dependency shell command for dependency 'blast+' galaxy.tools WARNING 2013-09-05 16:33:03,049 Failed to resolve dependency on 'blast+', ignoring galaxy.tools DEBUG 2013-09-05 16:33:03,049 Building dependency shell command for dependency 'tbl2asn' galaxy.tools WARNING 2013-09-05 16:33:03,049 Failed to resolve dependency on 'tbl2asn', ignoring
The run actually succeeds, because those tools are installed elsewhere in my system, but I can see that prokka is not using the installed versions. If i remove those system-installed versions, the run fails.
Any idea?
The problem is that you do not have defined your tools in the tool_dependencies.xml file. Galaxy will search in that file (with the keys specified in your tool.xml) and create the path to your repository.
Try the attached xml file and delete your repository.xml file.
Hope that helps, Cheers, Bjoern
Cheers,
Lionel
On 09/05/2013 01:21 PM, Bjoern Gruening wrote:
Hi Lionel,
I've been scratching a bit my head about how galaxy builds dependency, fruitlessly so far... Here is my problem: I have a local tool (not installed through a toolshed) that makes use of another tool (aragorn) that I installed from the toolshed.
Aragorn requires the aragorn package, as stated in its .xml file:
<requirement type="package" version="1.2.36">aragorn</requirement>
When I run aragorn, it runs fine, and the dependencies are built fine.
galaxy.tools DEBUG 2013-09-05 12:20:14,340 Building dependency shell command for dependency 'aragorn'
Now when I run my tool, which has the exact same requirement line:
<requirement type="package" version="1.2.36">aragorn</requirement>
the dependency is not built correctly, and fail to resolve: galaxy.tools DEBUG 2013-09-05 12:26:22,823 Building dependency shell command for dependency 'aragorn' galaxy.tools WARNING 2013-09-05 12:26:22,823 Failed to resolve dependency on 'aragorn', ignoring
The required package is installed in galaxy-dist/tool-dependency-dir/aragorn/1.2.36/bgruening/trna_prediction/d34f31cbc9dd/ and there is an env.sh there that points correctly to the binaries. Now if I copy that env.sh file into galaxy-dist/tool-dependency-dir/aragorn/1.2.36/, it works fine and the dependency command is built all fine, but it is not done automatically when I install aragorn through the toolshed.
Am I doing something wrong? Missing something somewhere?
You have done everything right. That functionality is currently not implemented I guess. If you would install your tools by means of the toolshed, the env file from aragorn will be copied automatically to a place where your tool will find it. Without the toolshed that will not be the case. I think one reason is, that you can have installed different versions of aragorn from different authors. In that case your workaround will not work.
If your tools is of interest for a wieder community, I would be happy to integrate it into my repository (aragorn).
Cheers, Bjoern
Cheers,
Lionel ___________________________________________________________ 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/
<tool_dependencies.xml>
-- Lionel Guy Petterslundsgatan 24B, SE-75328 Uppsala email: guy.lionel@gmail.com, mobile: +46 (0)73 9760618, phone: +46 (0)18 410 7398