Hi Björn,

Moving the dependencies to tool_dependencies.xml worked as a charm. Thanks for your help!


I tested the infernal package, and it worked as well! However, the package_infernal_1_1rc4, owned by the iuc, is enough for my purpose and already on the main tool shed, so no need to push the infernal wrapper as well if you're not willing to.

Cheers,

Lionel

On 09/05/2013 10:45 PM, Björn Grüning wrote:
Hi Lionel!

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.

Hope you like 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...

Think of it like repository dependencies and not tool dependencies. For
example datatypes are not really a tool dependency, but our repository
needs it. These will go to repository_dependencies.xml.

http://toolshed.g2.bx.psu.edu/view/bgruening/silicos_it

An other example are meta-repositories, its a repository with links to
other repos, that is also defined in repository_depedencies.xml

http://toolshed.g2.bx.psu.edu/view/bgruening/chemicaltoolbox

Everything that your tool needs for building the path, must go to the
tool dependencies.

Thanks for your help!

No problem!
Salve,
Bjoern

Lionel

On 5 Sep 2013, at 17:22 , Bjoern Gruening <bjoern.gruen...@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.lio...@gmail.com, mobile: +46 (0)73 9760618, phone: +46 (0)18 410 
7398





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

Reply via email to