Adding a new web-service or perhaps a "webapp" to Galaxy
Hi, In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests. My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server). Thanks! Pieter Lukasse Wageningen UR, Plant Research International Department of Bioinformatics (Bioscience) Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur http://www.pri.wur.nl<http://www.pri.wur.nl/>
I could add a new file to <galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/ ...is that a good way to do it? From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 13:28 To: galaxy-dev@lists.bx.psu.edu Subject: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy Hi, In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests. My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server). Thanks! Pieter Lukasse Wageningen UR, Plant Research International Department of Bioinformatics (Bioscience) Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur http://www.pri.wur.nl<http://www.pri.wur.nl/>
Meanwhile I added a new file indeed to <galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/ and this works for me. If there is a better/easier/standard way of doing this, please let me know! Attached my file as example. Best regards, Pieter From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 13:55 To: galaxy-dev@lists.bx.psu.edu Subject: Re: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy I could add a new file to <galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/ ...is that a good way to do it? From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 13:28 To: galaxy-dev@lists.bx.psu.edu<mailto:galaxy-dev@lists.bx.psu.edu> Subject: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy Hi, In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests. My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server). Thanks! Pieter Lukasse Wageningen UR, Plant Research International Department of Bioinformatics (Bioscience) Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur http://www.pri.wur.nl<http://www.pri.wur.nl/>
Hi Greg, I would like to deploy my custom controller together with my tool via toolshed. Is there already a way to do this? What should I add to my tool_dependencies.xml? I tried something like : <action type="shell_command"> cd $GALAXY_HOME; wget http://toolshed.g2.bx.psu.edu/repos/pieterlukasse/nist_wrapper/raw-file/tip/...; </action> But I'm glad this apparently didn't work ;) Thanks, Pieter From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 16:10 To: 'galaxy-dev@lists.galaxyproject.org' Subject: [galaxy-dev] FW: Adding a new web-service or perhaps a "webapp" to Galaxy Meanwhile I added a new file indeed to <galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/ and this works for me. If there is a better/easier/standard way of doing this, please let me know! Attached my file as example. Best regards, Pieter From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 13:55 To: galaxy-dev@lists.bx.psu.edu<mailto:galaxy-dev@lists.bx.psu.edu> Subject: Re: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy I could add a new file to <galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/ ...is that a good way to do it? From: galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] On Behalf Of Lukasse, Pieter Sent: vrijdag 9 januari 2015 13:28 To: galaxy-dev@lists.bx.psu.edu<mailto:galaxy-dev@lists.bx.psu.edu> Subject: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy Hi, In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests. My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server). Thanks! Pieter Lukasse Wageningen UR, Plant Research International Department of Bioinformatics (Bioscience) Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur http://www.pri.wur.nl<http://www.pri.wur.nl/>
Hello Pieter, adding a controller to Galaxy's codebase is not possible through the Tool Shed. It would be very unsecure to allow such. However, reading your code ( https://gist.github.com/martenson/7ce1ddb19c199b2df61c) you should be able to convert this controller into an actual tool (data source tool kind) pretty easily and publishing the tool through the Tool Shed should be straight forward afterwards. Dave Bouvier will get back to you with some tips in the next message. Thank you for using Galaxy. Martin On Fri Jan 23 2015 at 8:36:44 AM Lukasse, Pieter <pieter.lukasse@wur.nl> wrote:
Hi Greg,
I would like to deploy my custom controller together with my tool via toolshed. Is there already a way to do this? What should I add to my tool_dependencies.xml?
I tried something like :
<action type=*"shell_command"*>
*cd* $GALAXY_HOME;
*wget* http://toolshed.g2.bx.psu.edu/repos/pieterlukasse/nist_ wrapper/raw-file/tip/nist_controller.py;
</action>
But I’m glad this apparently didn’t work ;)
Thanks,
Pieter
*From:* galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 16:10 *To:* 'galaxy-dev@lists.galaxyproject.org' *Subject:* [galaxy-dev] FW: Adding a new web-service or perhaps a "webapp" to Galaxy
Meanwhile I added a new file indeed to <galaxy-dist>/lib/galaxy/ webapps/galaxy/controllers/
and this works for me. If there is a better/easier/standard way of doing this, please let me know!
Attached my file as example.
Best regards,
Pieter
*From:* galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org <galaxy-dev-bounces@lists.galaxyproject.org>] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 13:55 *To:* galaxy-dev@lists.bx.psu.edu *Subject:* Re: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy
I could add a new file to
<galaxy-dist>/lib/galaxy/webapps/galaxy/controllers/
...is that a good way to do it?
*From:* galaxy-dev [mailto:galaxy-dev-bounces@lists.galaxyproject.org <galaxy-dev-bounces@lists.galaxyproject.org>] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 13:28 *To:* galaxy-dev@lists.bx.psu.edu *Subject:* [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy
Hi,
In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests.
My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server).
Thanks!
Pieter Lukasse
Wageningen UR, Plant Research International
Department of Bioinformatics (Bioscience)
Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands
T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Pieter, As Martin said, a data source tool would be your best approach. This is fairly simple to implement, all you need is a standard tool with no input datasets and one parameter for the CAS registry number. That number gets plugged into a script called in the command tag, e.g. <command interpreter="python">get_nist.py --cas_id "$input_id" --output "$output_dataset"</command> Inside get_nist.py, you'll want code that takes the CAS number and builds the URL to get mass spectrometry or other data, then parses the returned information, writing the data to the filename passed in the command line. One thing to consider is that if you have a free-form text entry field for the CAS number, you may want to add a filter to only allow printable characters, or numbers, or whichever bytes are allowed for those identifiers. If you'd like specific advice on any of those items, feel free to contact me. --Dave B. On 01/23/2015 10:56 AM, Martin Čech wrote:
Hello Pieter,
adding a controller to Galaxy's codebase is not possible through the Tool Shed. It would be very unsecure to allow such.
However, reading your code (https://gist.github.com/martenson/7ce1ddb19c199b2df61c) you should be able to convert this controller into an actual tool (data source tool kind) pretty easily and publishing the tool through the Tool Shed should be straight forward afterwards.
Dave Bouvier will get back to you with some tips in the next message.
Thank you for using Galaxy.
Martin
On Fri Jan 23 2015 at 8:36:44 AM Lukasse, Pieter <pieter.lukasse@wur.nl <mailto:pieter.lukasse@wur.nl>> wrote:
Hi Greg,____
__ __
I would like to deploy my custom controller together with my tool via toolshed. Is there already a way to do this? What should I add to my tool_dependencies.xml?____
__ __
I tried something like :____
__ __
<actiontype=/"shell_command"/>____
_cd_ $GALAXY_HOME;____
_wget_ http://toolshed.g2.bx.psu.edu/__repos/pieterlukasse/nist___wrapper/raw-file/... <http://toolshed.g2.bx.psu.edu/repos/pieterlukasse/nist_wrapper/raw-file/tip/nist_controller.py>;____
</action>____
__ __
But I’m glad this apparently didn’t work ;)____
__ __
Thanks,____
__ __
Pieter____
__ __
*From:*galaxy-dev [mailto:galaxy-dev-bounces@__lists.galaxyproject.org <mailto:galaxy-dev-bounces@lists.galaxyproject.org>] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 16:10 *To:* 'galaxy-dev@lists.__galaxyproject.org <mailto:galaxy-dev@lists.galaxyproject.org>' *Subject:* [galaxy-dev] FW: Adding a new web-service or perhaps a "webapp" to Galaxy____
__ __
Meanwhile I added a new file indeed to <galaxy-dist>/lib/galaxy/__webapps/galaxy/controllers/____
and this works for me. If there is a better/easier/standard way of doing this, please let me know! ____
__ __
Attached my file as example.____
__ __
Best regards,____
__ __
Pieter____
__ __
*From:*galaxy-dev [mailto:galaxy-dev-bounces@__lists.galaxyproject.org <mailto:galaxy-dev-bounces@lists.galaxyproject.org>] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 13:55 *To:* galaxy-dev@lists.bx.psu.edu <mailto:galaxy-dev@lists.bx.psu.edu> *Subject:* Re: [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy____
__ __
I could add a new file to ____
__ __
<galaxy-dist>/lib/galaxy/__webapps/galaxy/controllers/ ____
__ __
...is that a good way to do it?____
__ __
__ __
*From:*galaxy-dev [mailto:galaxy-dev-bounces@__lists.galaxyproject.org <mailto:galaxy-dev-bounces@lists.galaxyproject.org>] *On Behalf Of *Lukasse, Pieter *Sent:* vrijdag 9 januari 2015 13:28 *To:* galaxy-dev@lists.bx.psu.edu <mailto:galaxy-dev@lists.bx.psu.edu> *Subject:* [galaxy-dev] Adding a new web-service or perhaps a "webapp" to Galaxy____
__ __
Hi,____
__ __
In one of my tools I generate a HTML report which I would like to enhance with some ajax functionality. I would like the possibility to do some backend computations based on the ajax requests. ____
__ __
My question is: is there an easy way to add a new web-service to my Galaxy server? The web-service implementation would be in python. Ideally I would like to be able to ship this python file together with my tool via tool shed (and when installing from toolshed, the necessary configurations are applied to the server to enable this python code as a local web-service on the respective Galaxy server). ____
__ __
Thanks!____
__ __
Pieter Lukasse____
Wageningen UR, Plant Research International____
Department of Bioinformatics (Bioscience)____
Wageningen Campus, Building 107, Droevendaalsesteeg 1, 6708 PB, Wageningen, the Netherlands____
T: +31-317481122; M: +31-628189540; skype: pieter.lukasse.wur____
http://www.pri.wur.nl <http://www.pri.wur.nl/>____
__ __
_______________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.__or__g/ <https://lists.galaxyproject.org/>
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/__searc__h/mailinglists/ <http://galaxyproject.org/search/mailinglists/>
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
participants (3)
-
Dave Bouvier
-
Lukasse, Pieter
-
Martin Čech