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="" /> --> <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? 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/