Hi, I'd love to have the ability to load tools dynamically as it would remove what I experience as the biggest draw back of web portals: in most cases you see 9 out of 10 tools that would be required for a job, but there's always a small piece of the puzzle missing. So you google for another web portal where this missing step is present just to figure out that over there it's another step that is missing. Bugging sys admins to install that missing piece to complete the workflow is in many cases too much of a hassle, so it would be really nice to be able for end users to plug a web service for example from the BioCatalogue dynamically into Galaxy. Being able to dynamically plug a 3rd party package from the tool shed would also be great, but I can imagine this only works for simple scripts that install easily without too many dependencies. So I happy to see there's a ticket for this :)... I was just wondering where this ticket is on the priority list? More in general is there a way to see how the Galaxy team prioritizes tickets? This will influence whether I want to wait for the issue to be solved upstream or whether I'll hack my Galaxy based on the work from the University of Georgia... Cheers, Pi On Nov 23, 2010, at 10:55 AM, Kostas Karasavvas wrote:
Thank you both for the replies!
So, is there a plan to add this functionality in Galaxy's codebase? It would seem that the changes are minimal.
Cheers, Kostas
On 22 November 2010 17:03, Bossers, Alex <Alex.Bossers@wur.nl> wrote: The previous post does support the add, update and remove of new tools :) Alex
-----Oorspronkelijk bericht----- Van: Nate Coraor [mailto:nate@bx.psu.edu] Verzonden: maandag 22 november 2010 16:25 Aan: Bossers, Alex CC: Kostas Karasavvas; Galaxy Dev Onderwerp: Re: [galaxy-dev] dynamic loading of tools?
It's also possible to reload a tool's configuration via the Admin interface. However, it's not possible to add and remove tools. This is something we'd like to support, but have not yet done. There's an issue for it which you can track here:
http://bitbucket.org/galaxy/galaxy-central/issue/279/restart-required-after-...
--nate
Bossers, Alex wrote:
Kostas Some time ago a similar idea was posted to the dev list. We have taken that to modify our source code as well that adds a tool to the list which allows a dynamic refresh of the tools/server without a reboot of it.... Maybe it can give you a lead to start. Not sure if the attachment is filtered.... But I try to add the original post we used successfully.
Alex
Van: galaxy-dev-bounces@lists.bx.psu.edu [mailto:galaxy-dev-bounces@lists.bx.psu.edu] Namens Kostas Karasavvas Verzonden: maandag 22 november 2010 11:41 Aan: Galaxy Dev Onderwerp: [galaxy-dev] dynamic loading of tools?
Hi all!
It is my understanding that galaxy does not support dynamic loading of tools, i.e. for every new tool you add you need to manually change the conf file and restart the server.
I am working on integrating functionality of another system into galaxy. To do this I am actually generating Galaxy tools automatically with certain scripts. The tools generated depend on certain parameters so there can be an arbitrary number of tools generated. Installing them manually and restarting the server is not ideal in this situation since it would depend on an administrator doing the work (rather than the user).
The ideal scenario would be for me to create a tool that can dynamically create and add new tools. However, the latter (adding new tools dynamically) does not seem to be possible right now.
I can think of other reasons that people would like that as well (e.g. for administration purposes). I am not sure if that was already discussed in the past but I was wondering if that is that something that you consider implementing in the near future.
Thank you in advance, Kostas
Received: from scomp0237.wurnet.nl (10.91.3.10) by scomp0538.wurnet.nl (10.91.3.92) with Microsoft SMTP Server id 8.2.254.0; Fri, 23 Jul 2010 00:45:23 +0200 Received: from scomp0236vssmtp2.wurnet.nl ([10.90.3.89]) by scomp0237.wurnet.nl with Microsoft SMTPSVC(6.0.3790.4675); Fri, 23 Jul 2010 00:45:23 +0200 Received: from net4.wur.nl ([137.224.8.4]) by scomp0236vssmtp2.wurnet.nl with Microsoft SMTPSVC(6.0.3790.4675); Fri, 23 Jul 2010 00:45:22 +0200 Received: from mppd (localhost.localdomain [127.0.0.1]) by net4.wur.nl (Postfix) with ESMTP id 7DED650392 for <alex.bossers@wur.nl>; Fri, 23 Jul 2010 00:45:22 +0200 (CEST) Received: from smtp.bx.psu.edu (smtp.bx.psu.edu [128.118.200.79]) by net4.wur.nl (Postfix) with ESMTP id DA0095038B for <alex.bossers@wur.nl>; Fri, 23 Jul 2010 00:45:17 +0200 (CEST) Received: from lists.bx.psu.edu (lists.bx.psu.edu [IPv6:2610:8:7800:14::33]) by smtp.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeUFZ023932 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 22 Jul 2010 18:40:35 -0400 Received: from lists.bx.psu.edu (localhost.localdomain [127.0.0.1]) by lists.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeSwY029634; Thu, 22 Jul 2010 18:40:29 -0400 Received: from mail-3.bx.psu.edu (mail-3.bx.psu.edu [IPv6:2610:8:7800:14::17]) by lists.bx.psu.edu (8.13.8/8.13.8) with ESMTP id o6MMeQt4029631 for <galaxy-dev@lists.bx.psu.edu>; Thu, 22 Jul 2010 18:40:26 -0400 Received: from mail-iw0-f171.google.com (mail-iw0-f171.google.com [209.85.214.171]) by mail-3.bx.psu.edu (8.13.8+Sun/8.13.8) with ESMTP id o6MMeOup007767 for <galaxy-dev@lists.bx.psu.edu>; Thu, 22 Jul 2010 18:40:24 -0400 (EDT) Received: by iwn41 with SMTP id 41so7548577iwn.30 for <galaxy-dev@lists.bx.psu.edu>; Thu, 22 Jul 2010 15:40:23 -0700 (PDT) Received: by 10.231.170.3 with SMTP id b3mr2477857ibz.122.1279838423221; Thu, 22 Jul 2010 15:40:23 -0700 (PDT) Received: by 10.231.167.197 with HTTP; Thu, 22 Jul 2010 15:40:03 -0700 (PDT) From: Sumedha Ganjoo <sumedha.coep@gmail.com> To: Nate Coraor <nate@bx.psu.edu> CC: "galaxy-dev@lists.bx.psu.edu" <galaxy-dev@lists.bx.psu.edu> Sender: "galaxy-dev-bounces@lists.bx.psu.edu" <galaxy-dev-bounces@lists.bx.psu.edu> Date: Fri, 23 Jul 2010 00:40:03 +0200 Subject: Re: [galaxy-dev] Dynamically adding tools to Galaxy Thread-Topic: [galaxy-dev] Dynamically adding tools to Galaxy Thread-Index: Acsp75IIF6dFDRXYTtC6Ua65Wk5/IQ== Message-ID: <AANLkTik-Yg1jEY-83LpXFnODKl9_obNjB_ydM_wQe9Pt@mail.gmail.com> References: <g2sc9bc79f31004281725y8cd445f4s5a859072b1329150@mail.gmail.com> <4BE03142.1080005@bx.psu.edu> List-Help: <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=help> List-Subscribe: <http://lists.bx.psu.edu/listinfo/galaxy-dev>, <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=subscribe> List-Unsubscribe: <http://lists.bx.psu.edu/options/galaxy-dev>, <mailto:galaxy-dev-request@lists.bx.psu.edu?subject=unsubscribe> In-Reply-To: <4BE03142.1080005@bx.psu.edu> X-MS-Exchange-Organization-AuthSource: scomp0538.wurnet.nl X-MS-Has-Attach: yes X-Auto-Response-Suppress: All X-Message-Flag: Opvolgen X-MS-TNEF-Correlator: x-originalarrivaltime: 22 Jul 2010 22:45:23.0009 (UTC) FILETIME=[91CAA310:01CB29EF] x-scanned-by: MPP/UVScan http://www.messagepartners.com x-spam-score-w: 0.00 x-cmae-analysis: v=1.1 cv=fUaoZdHiiR1Ye5JTY/eH9iPeITsfKkYQDMHEJwn1uYA= c=1 sm=0 a=a7g1sp7ABEYA:10 a=z/hhryxzkUjPxlvzZvuYMg==:17 a=UFTA8MH_AAAA:8 a=MZ835NvUiE_0yfBFEZMA:9 a=Udg_A6JTJAWpEaTnU8sA:7 a=Tbp9rZ1s4vtHFYmUjL441tBpgEcA:4 a=wPNLvfGTeEIA:10 a=KPRkQpHNtW1iuMAl:21 a=fATZA0vSaqpTR2tp:21 a=qqnlKD7AaSrvDNBfsdsA:9 a=0qljBdFCMktjyTfHzoYA:7 a=RFRZmjwnADD-nDt4tSnC-U35Yu4A:4 a=CjuIK1q_8ugA:10 a=jhGV3HG5NYKjns5fhaYA:9 a=hK_z272k09DLPGtYlAirp4Wfq7UA:4 a=z/hhryxzkUjPxlvzZvuYMg==:117 x-spam-rules: AWL,BAYES_00,SUBJ_ALL_CAPS domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=u5BSHgrAE5krO1yXAYhFZfMHmO2utxRowmpQKM0Dt004jBHTAZsLfKKVDdf7ZXLzfG Wv2e3KQRZZzQ9lS+hf1z36gg393/xTgqtgr/JaxYVFg7Xa01dEBTHZy2BPqDwI98iWv1 8xXrROQ4rymOT7omuGOyHx5hq9IAr+UxP8hSE= dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type; bh=yid8u8U6jBy53596iThUjPZvCU9lsWn6w/YGGh/jjJc=; b=MvB9N8i/eWd5IpbnJlY7Hq41oCUrQnO2O9s256ohY/Xd1OPROopcV+ZvM/jlAlufC4 zAdtyYKRFSF+yAOb3Y+Q/omsFOCFIKic4ajio2Yd49aOahGWCRkwIpUjCLTRKlkxde4v +6YLEiA3px9qNYC1jRyd/XDslXgMJ3MQgl47Y= x-virus-scanned: amavisd-new on amavis-1.bx.psu.edu errors-to: galaxy-dev-bounces@lists.bx.psu.edu authentication-results: amavis-1.bx.psu.edu (amavisd-new); domainkeys=pass header.from=sumedha.coep@gmail.com list-archive: <http://lists.bx.psu.edu/pipermail/galaxy-dev> x-beenthere: galaxy-dev@lists.bx.psu.edu x-mailman-version: 2.1.12 delivered-to: <galaxy-dev@lists.bx.psu.edu> list-id: Discussion list and announcements for Galaxy developers <galaxy-dev.lists.bx.psu.edu> list-post: <mailto:galaxy-dev@lists.bx.psu.edu> x-envelope-from: sumedha.coep@gmail.com x-envelope-to: <galaxy-dev@lists.bx.psu.edu> Content-Type: multipart/mixed; boundary="_003_AANLkTikYg1jEY83LpXFnODKl9obNjBydMwQe9Ptmailgmailcom_" MIME-Version: 1.0
Hello,
We here at the Universoty of Georgia have developed a suite of tools to enable accessing Web services through Galaxy's interface, one time and also in workflows. We do this by reading the descriptions of the Web services (from WSDLs and WADLs) and adding tools dynamically to Galaxy that are able to take correct inputs from the user and invoke these services.
Though most of this functionality was added by adding tools, we had to make minimal change in Galaxy's source code to support the capability of refreshing Galaxy toolbox without restarting the server. This is hardly 5 lines of code that was added to Galaxy's code base. These tools will be available shortly on the community page. I was wondering if it will be possible to add the support for dynamic tool addition to the main instance of Galaxy. Please find the details below:
Changes to Galaxy to add refresh toolbox ability: 1. change the execute method of the class tool in lib/galaxy/tools/__init__.py to
def execute( self, trans, incoming={}, set_output_hid=True ): """ Execute the tool using parameter values in `incoming`. This just dispatches to the `ToolAction` instance specified by `self.tool_action`. In general this will create a `Job` that when run will build the tool's outputs, e.g. `DefaultToolAction`. """
############# #add code to verify if user has administrative privileges #added by sumedha ganjoo, sganjoo@uga.edu: line 1104 to 1109 - to refresh toolbox if self.id == 'REFRESH_ID': self.app.refreshToolBox() #############
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
2. add refreshToolBox method (find below) to UniverseApplication class in lib/galaxy/app.py
########### # added by sumedha ganjoo,sganjoo@uga.edu, line 86-90 def refreshToolBox( self): self.toolbox = tools.ToolBox( self.config.tool_config, self.config.tool_path, self ) ###########
3. Add Refresh tool. Attached.
Thanks, Sumedha
<tool id="REFRESH_ID" name="Refresh" Version="1.0.0"> <description> :Refresh Galaxy</description> <command interpreter="python"> refreshTool.py $input $output </command> <inputs> <param name="input" type="select" display="radio" size="250" label="Execute this tool by clicking on Execute button"> <option value="refresh">Refresh Galaxy</option> </param>
</inputs> <outputs> <data format="tabular" name="output" /> </outputs> <tests> </tests> <help>
**Click on "Galaxy" on the top left corner of this window to refresh the page.**
</help> </tool>
_______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
_______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
_______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
_______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
------------------------------------------------------------- mobile: +31 6 143 66 783 e-mail: pieter.neerincx@gmail.com skype: pieter.online -------------------------------------------------------------