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
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
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:
- 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 )
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 ) ###########
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
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:
- 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 )
- 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 ) ###########
- 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
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.nlwith 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:
- 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 )
- 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 )
###########
- 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
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:
- 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 )
- 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 ) ###########
- 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 -------------------------------------------------------------
On Wed, Nov 24, 2010 at 12:13 AM, Pieter Neerincx wrote:
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.
I don't think the enhancements being discussed will change that (see below).
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.
In my opinion there is no way ordinary Galaxy users should be allowed to install arbitrary Galaxy tools from 3rd party websites. It would be a massive security hole as a malicious Galaxy tool could easily erase all the user data, or worse - if coupled with a security privilege escalation attack, the malicious tool could take over the whole server.
What we are talking about is making it easier for the administrators of a Galaxy instance to install/update/remove tools without restarting Galaxy. I would find this quite useful to testing my own tool wrappers.
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...
I don't see any priority field, but issues on bitbucket can be marked with a target milestone, however that doesn't currently seem to be used for Galaxy: http://bitbucket.org/galaxy/galaxy-central/issues?status=new&status=open
Regards,
Peter
Hi,
We also considered this while adding the web service tools but were thinking this should not be an issue as the tools just invoke the Web services and all the code executed is on the Web server where the web service is hosted. All the tool does is get the result back (plain text for example) from the server.
Please let me know if you think this can still cause security issues and we can work further to see how we can improve our tools to consider the security threats, if any.
Pieter, I would suggest you try our tool posted on the community site called "Suite of Web Service Addition Tools" under Data source category, as it does exactly what you described in your post. Currently, it works for REST Web services and we are working on adding SOAP functionality to it.
Thanks, Sumedha
On Wed, Nov 24, 2010 at 11:04 AM, Peter peter@maubp.freeserve.co.uk wrote:
On Wed, Nov 24, 2010 at 12:13 AM, Pieter Neerincx wrote:
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.
I don't think the enhancements being discussed will change that (see below).
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.
In my opinion there is no way ordinary Galaxy users should be allowed to install arbitrary Galaxy tools from 3rd party websites. It would be a massive security hole as a malicious Galaxy tool could easily erase all the user data, or worse - if coupled with a security privilege escalation attack, the malicious tool could take over the whole server.
What we are talking about is making it easier for the administrators of a Galaxy instance to install/update/remove tools without restarting Galaxy. I would find this quite useful to testing my own tool wrappers.
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...
I don't see any priority field, but issues on bitbucket can be marked with a target milestone, however that doesn't currently seem to be used for Galaxy: http://bitbucket.org/galaxy/galaxy-central/issues?status=new&status=open
Regards,
Peter _______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
Hi,
On Nov 24, 2010, at 5:24 PM, Sumedha Ganjoo wrote:
Hi,
We also considered this while adding the web service tools but were thinking this should not be an issue as the tools just invoke the Web services and all the code executed is on the Web server where the web service is hosted. All the tool does is get the result back (plain text for example) from the server.
I think you are absolutely right. For plugging web services dynamically into a Galaxy server security is no issue at all. Sure I can still think of ways to abuse such functionality, but I don't think the risk is worse than that of bugs in your OS or favorite web browser. If you are dealing with patient material where privacy is an issue or data from a company that is worth big $$$, it may be an issue, but in my experience people working for companies or university hospitals are allergic for sending data to a remote server anyway no matter how much security layers and SSL certificates you install :o.
Please let me know if you think this can still cause security issues and we can work further to see how we can improve our tools to consider the security threats, if any.
Pieter, I would suggest you try our tool posted on the community site called "Suite of Web Service Addition Tools" under Data source category, as it does exactly what you described in your post. Currently, it works for REST Web services and we are working on adding SOAP functionality to it.
I did, I love it and I hope to see this functionality make it into the main Galaxy code!
Cheers,
Pi
Thanks, Sumedha
On Wed, Nov 24, 2010 at 11:04 AM, Peter peter@maubp.freeserve.co.uk wrote: On Wed, Nov 24, 2010 at 12:13 AM, Pieter Neerincx wrote:
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.
I don't think the enhancements being discussed will change that (see below).
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.
In my opinion there is no way ordinary Galaxy users should be allowed to install arbitrary Galaxy tools from 3rd party websites. It would be a massive security hole as a malicious Galaxy tool could easily erase all the user data, or worse - if coupled with a security privilege escalation attack, the malicious tool could take over the whole server.
What we are talking about is making it easier for the administrators of a Galaxy instance to install/update/remove tools without restarting Galaxy. I would find this quite useful to testing my own tool wrappers.
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...
I don't see any priority field, but issues on bitbucket can be marked with a target milestone, however that doesn't currently seem to be used for Galaxy: http://bitbucket.org/galaxy/galaxy-central/issues?status=new&status=open
Regards,
Peter _______________________________________________ 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 -------------------------------------------------------------
Indeed if you are talking plugging in real tools that require binaries or perl scripts to be installed on the server that might / that is a serious security issue. We had the same discussion internally about a tool we have that allows the load and execution of ANY uploaded R script for testing... That tool will never make it to the production server :)
It might be an option to allow this kind of actions by restricting it to dedicated galaxy admins (as specified in the galaxy universe_wsgi.ini file). I haven't figured out how to restrict tools to this GROUP of users in galaxy though....
Alex ________________________________________ Van: galaxy-dev-bounces@lists.bx.psu.edu [galaxy-dev-bounces@lists.bx.psu.edu] namens Peter [peter@maubp.freeserve.co.uk] Verzonden: woensdag 24 november 2010 17:04 Aan: Pieter Neerincx CC: Galaxy Dev Onderwerp: Re: [galaxy-dev] dynamic loading of tools?
On Wed, Nov 24, 2010 at 12:13 AM, Pieter Neerincx wrote:
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.
I don't think the enhancements being discussed will change that (see below).
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.
In my opinion there is no way ordinary Galaxy users should be allowed to install arbitrary Galaxy tools from 3rd party websites. It would be a massive security hole as a malicious Galaxy tool could easily erase all the user data, or worse - if coupled with a security privilege escalation attack, the malicious tool could take over the whole server.
What we are talking about is making it easier for the administrators of a Galaxy instance to install/update/remove tools without restarting Galaxy. I would find this quite useful to testing my own tool wrappers.
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...
I don't see any priority field, but issues on bitbucket can be marked with a target milestone, however that doesn't currently seem to be used for Galaxy: http://bitbucket.org/galaxy/galaxy-central/issues?status=new&status=open
Regards,
Peter _______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
Hi Alex and Peter,
On Nov 24, 2010, at 8:32 PM, Bossers, Alex wrote:
Indeed if you are talking plugging in real tools that require binaries or perl scripts to be installed on the server that might / that is a serious security issue. We had the same discussion internally about a tool we have that allows the load and execution of ANY uploaded R script for testing... That tool will never make it to the production server :)
It might be an option to allow this kind of actions by restricting it to dedicated galaxy admins (as specified in the galaxy universe_wsgi.ini file). I haven't figured out how to restrict tools to this GROUP of users in galaxy though....
Sure, being able to plug any tool is a security risk, but if I understood correctly, tools published in the 3rd party tool shed need to be approved by the Galaxy team 2 Penn State. So, I can imagine a system where users can only add approved and signed 3rd party tools from the tool shed. There needs to be a balance between allowing users to experiment as freely as possible - after all most of us are into science :) - and preventing users from destroying the infrastructure. Restricting dynamic tool plugging to admins would be another option, but the less end users need to beg admins for customizations, upgrades, etc., the better!
Cheers,
Pi
Alex ________________________________________ Van: galaxy-dev-bounces@lists.bx.psu.edu [galaxy-dev-bounces@lists.bx.psu.edu] namens Peter [peter@maubp.freeserve.co.uk] Verzonden: woensdag 24 november 2010 17:04 Aan: Pieter Neerincx CC: Galaxy Dev Onderwerp: Re: [galaxy-dev] dynamic loading of tools?
On Wed, Nov 24, 2010 at 12:13 AM, Pieter Neerincx wrote:
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.
I don't think the enhancements being discussed will change that (see below).
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.
In my opinion there is no way ordinary Galaxy users should be allowed to install arbitrary Galaxy tools from 3rd party websites. It would be a massive security hole as a malicious Galaxy tool could easily erase all the user data, or worse - if coupled with a security privilege escalation attack, the malicious tool could take over the whole server.
What we are talking about is making it easier for the administrators of a Galaxy instance to install/update/remove tools without restarting Galaxy. I would find this quite useful to testing my own tool wrappers.
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...
I don't see any priority field, but issues on bitbucket can be marked with a target milestone, however that doesn't currently seem to be used for Galaxy: http://bitbucket.org/galaxy/galaxy-central/issues?status=new&status=open
Regards,
Peter _______________________________________________ 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 -------------------------------------------------------------
On Thu, Nov 25, 2010 at 6:16 PM, Pieter Neerincx pieter.neerincx@gmail.com wrote:
Hi Alex and Peter,
On Nov 24, 2010, at 8:32 PM, Bossers, Alex wrote:
Indeed if you are talking plugging in real tools that require binaries or perl scripts to be installed on the server that might / that is a serious security issue. We had the same discussion internally about a tool we have that allows the load and execution of ANY uploaded R script for testing... That tool will never make it to the production server :)
It might be an option to allow this kind of actions by restricting it to dedicated galaxy admins (as specified in the galaxy universe_wsgi.ini file). I haven't figured out how to restrict tools to this GROUP of users in galaxy though....
Sure, being able to plug any tool is a security risk, but if I understood correctly, tools published in the 3rd party tool shed need to be approved by the Galaxy team 2 Penn State. So, I can imagine a system where users can only add approved and signed 3rd party tools from the tool shed.
Well, it would be quite a lot harder and more time consuming for them to approve tools if they also had the additional responsibility for checking for malicious code. There is also no code signing functionality in the tool shed (yet).
There needs to be a balance between allowing users to experiment as freely as possible - after all most of us are into science :) - and preventing users from destroying the infrastructure. Restricting dynamic tool plugging to admins would be another option, but the less end users need to beg admins for customizations, upgrades, etc., the better!
I would say when it comes to servers, customizations and upgrades are things best left to administrators (if you expect any kind of stability and reliability from your Galaxy install). In many cases tool wrappers from the Tool Shed would depend on 3rd party tools which must still be installed manually. Only a minority of tools will be standalone and thus could be installed "automatically" anyway.
Peter
Hi Peter,
On Nov 25, 2010, at 7:55 PM, Peter wrote:
On Thu, Nov 25, 2010 at 6:16 PM, Pieter Neerincx pieter.neerincx@gmail.com wrote:
Hi Alex and Peter,
On Nov 24, 2010, at 8:32 PM, Bossers, Alex wrote:
Indeed if you are talking plugging in real tools that require binaries or perl scripts to be installed on the server that might / that is a serious security issue. We had the same discussion internally about a tool we have that allows the load and execution of ANY uploaded R script for testing... That tool will never make it to the production server :)
It might be an option to allow this kind of actions by restricting it to dedicated galaxy admins (as specified in the galaxy universe_wsgi.ini file). I haven't figured out how to restrict tools to this GROUP of users in galaxy though....
Sure, being able to plug any tool is a security risk, but if I understood correctly, tools published in the 3rd party tool shed need to be approved by the Galaxy team 2 Penn State. So, I can imagine a system where users can only add approved and signed 3rd party tools from the tool shed.
Well, it would be quite a lot harder and more time consuming for them to approve tools if they also had the additional responsibility for checking for malicious code. There is also no code signing functionality in the tool shed (yet).
Yep and it probably also means it will take longer for a tool to get approved. On the other hand though, if the Galaxy team at Penn State doesn't do it and you worry about malicious code you'll have to do it yourself...
The question is do you? Do you manually inspect the code of each and every Perl module you install, every Python egg you fetch, every jar you add, etc.? In fact did you inspect the Galaxy code to check whether it doesn't open a back door?
Maybe I should, but to be honest I never do. I simply don't have the time to do that, so if it comes from a reasonably respectable source, I'll install those 3rd party tools, otherwise I don't.
There needs to be a balance between allowing users to experiment as freely as possible - after all most of us are into science :) - and preventing users from destroying the infrastructure. Restricting dynamic tool plugging to admins would be another option, but the less end users need to beg admins for customizations, upgrades, etc., the better!
I would say when it comes to servers, customizations and upgrades are things best left to administrators (if you expect any kind of stability and reliability from your Galaxy install). In many cases tool wrappers from the Tool Shed would depend on 3rd party tools which must still be installed manually. Only a minority of tools will be standalone and thus could be installed "automatically" anyway.
Check, I'm aware of the technical implications and limitations, but one can dream :). In my local Galaxy I have several tools with dependencies whose installation procedures seem to be designed in hell, so for those it won't fly. On the other hand, I also added some tools that use pure bash or Perl without any dependencies on modules that are not part of a basic install, so for those it could work :).
Granted, to prevent security and dependency issues, the easiest way is to stick to web services and thanks to the work from Sumedha et al. we already can :)
Cheers,
Pi
Peter
------------------------------------------------------------- mobile: +31 6 143 66 783 e-mail: pieter.neerincx@gmail.com skype: pieter.online -------------------------------------------------------------
I couldn't see the refreshTool.py referenced by the .xml file, but as mentioned on the link Nate sent, for this to work with load-balanced multiple galaxy processes, a refresh signal would need to be sent to each process. It would be nice to have.
M
-- Dr Michael Pheasant Software Engineer Queensland Facility for Advanced Bioinformatics Level 5, QBP University of Queensland, QLD 4072 T: +61 (0)7 3346 2070 F: +61 (0)7 3346 2101 www.qfab.org
On Tue, Nov 23, 2010 at 2:03 AM, 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:
- 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 )
- 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 ) ###########
- 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
Mike, the refreshTool.py can be just an empty file or some dummy file. Alex
________________________________________ Van: mike@pheasant.co.nz [mike@pheasant.co.nz] namens Michael Pheasant [m.pheasant@qfab.org] Verzonden: dinsdag 23 november 2010 23:00 Aan: Bossers, Alex CC: Galaxy Dev Onderwerp: Re: [galaxy-dev] dynamic loading of tools?
I couldn't see the refreshTool.py referenced by the .xml file, but as mentioned on the link Nate sent, for this to work with load-balanced multiple galaxy processes, a refresh signal would need to be sent to each process. It would be nice to have.
M
-- Dr Michael Pheasant Software Engineer Queensland Facility for Advanced Bioinformatics Level 5, QBP University of Queensland, QLD 4072 T: +61 (0)7 3346 2070 F: +61 (0)7 3346 2101 www.qfab.org
On Tue, Nov 23, 2010 at 2:03 AM, 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:
- 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 )
- 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 ) ###########
- 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
I am glad to know that Galaxy will be adding dynamic tool capability to its source. We have posted a suite of tools called "Suite of Web Service Addition Tools" under Data source category on the Galaxy community site (http://community.g2.bx.psu.edu/).
It does exactly the same thing. It adds a "Add Web Service Tool" section which dynamically adds a Web service as a tool on execution to Galaxy and refreshes the server. This makes the newly added tools available to user without having to restart the server.
If anyone is looking for similar functionality you can get more information in the README file in the tool suite. Or please feel free to contact me or the following people:
John Miller : jam@cs.uga.edu Jessica Kissinger: jkissing@uga.edu
I would request Galaxy development team to please let us know when they add the dynamic tool functionality in their server so that we can update our tool suite and make it more easily usable for everyone.
---------- FYI:
If you are interested to use the tool suite you can add services like below to your Galaxy server. We have successfully integrated various REST Web services into our local server using this.
Here are some examples:
1. GenesByTextSearch service at EuPathDB
http://eupathdb.org/eupathdb/webservices/GeneQuestions/GenesByTextSearch.wad...
2. GenesByMoecularWeight service at EuPathDB
http://eupathdb.org/eupathdb/webservices/GeneQuestions/GenesByMolecularWeigh...
All services at EuPathDB point to a WADL so these can be added directly as tools to Galaxy, including the *BLAST* service.
3. NCBIGenomeAnnotationhttp://www.xml.nig.ac.jp/wabi/Method?serviceName=NCBIGenomeAnnotation&mode=methodList&lang=en:getGeneList service at DDBJ
http://www.xml.nig.ac.jp/wabi/Method?&lang=en&serviceName=NCBIGenome...
4. GetDDBJEntry service at DDBJ
http://www.xml.nig.ac.jp/wabi/Method?&lang=en&serviceName=GetEntry&a...
Thank you, Sumedha
On Mon, Nov 22, 2010 at 10:25 AM, Nate Coraor nate@bx.psu.edu wrote:
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.nlwith 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:
- 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 )
- 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 )
###########
- 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@lists.galaxyproject.org