Hi Michael,
I think you will enter new ground with your tool. The closest tool that
will do something similar is Ross toolfactory, I think:
http://toolshed.g2.bx.psu.edu/view/fubar/toolfactory
For me one question is, do you really want to offer that service to
every user and is it save?
It is mainly a hg pull. But if you deinstall that repository and
> TL;DR I have a tool that generates other tools. Where should those tools go, and how should I add them (without modifying Galaxy code)?
>
> I apologize, in advance, for the wall of text. I would like some advice on what the best way to go about setting up a tool that generates other tools...
>
> As some of you (especially those who saw my boss's talk at GCC) already know, I'm working on a tool that lets galaxy users add web service operations as tools to Galaxy.
> We have a general purpose client for invoking web services, and we have a tool that let's a user enter a WSDL/WADL URL, select the operations they want to add, and generates tool config XML files for Galaxy.
>
> Right now, I'm in the process of making our tool "tool shed" compatible, and that's going along great
> (I especially like the tool dependency installation stuff), but I'm trying to determine the best course of action on the following:
>
> 1. Where is the best place to put the tool config (XML) files that are generated by my tool? My predecessors just placed them in a subdirectory under our tool's directory.
> I'm ok with this, but does that mean that all the generated files will get removed if they upgrade our tool via the tool shed (haven't taken the time to see if
> Galaxy just does an "hg pull" or if it's more complicated than that)?
reinstall it, all your files are lost.
I think that is a better way to do it. The API can be used to install
> Would it be better to have my tool create a local tool shed repository
> (just for these generated tools), and if so, can the tool shed API let my tool install this repository? Having not looked at install_tool_shed_repositories.py yet,
> it's unclear from the wiki documentation whether or not POST /api/tool_shed_repositories/install_repository_revision requires that the tool shed already registered in tool_sheds_conf.xml)?
your tools. But it need to be configured beforehand from the user,
administrator.
There is a feature request, that you can specify in your
> 2. What's the best way to add the generated tools to Galaxy? My predecessors modified the tool_config.xml directly and required users to restart Galaxy.
> Now, If these tools are in a tool shed repo, I know that I can use the add_to_tool_panel() method in lib/tool_shed/util/tool_util.py if these tools are in a tool shed repo, however,
> if that's not the recommended course of action, then I'd like some advice on what to do?
toolshed-repository the preferred location in the tool panel. For now I
would ignore it and just install the tools somewhere and hope that
feature request is quiet high in Gregs ToDo list :)
Cheers,
Bjoern