Hi Sumedha,
Hello,
We here at the Universoty of Georgia have developed a suite of tools
to enable accessing
Web services through Galaxy's interface, one time and also in
workflows. We do this by reading
the descriptions of the Web services (from WSDLs and WADLs) and adding
tools dynamically to
Galaxy that are able to take correct inputs from the user and invoke
these services.
Though most of this functionality was added by adding tools, we had to
make minimal change in Galaxy's
source code to support the capability of refreshing Galaxy toolbox
without restarting the server.
This is hardly 5 lines of code that was added to Galaxy's code base.
These tools will be available shortly
on the community page. I was wondering if it will be possible to add
the support for dynamic tool addition
to the main instance of Galaxy. Please find the details below:
Changes to Galaxy to add refresh toolbox ability:
1. change the execute method of the class tool in
lib/galaxy/tools/__init__.py to
def execute( self, trans, incoming={}, set_output_hid=True ):
"""
Execute the tool using parameter values in `incoming`. This just
dispatches to the `ToolAction` instance specified by
`self.tool_action`. In general this will create a `Job` that
when run will build the tool's outputs, e.g. `DefaultToolAction`.
"""
#############
#add code to verify if user has administrative privileges
#added by sumedha ganjoo, sganjoo@uga.edu: line 1104 to 1109 -
to refresh toolbox
if self.id == 'REFRESH_ID':
self.app.refreshToolBox()
#############
return self.tool_action.execute( self, trans,
incoming=incoming, set_output_hid=set_output_hid )
2. add refreshToolBox method (find below) to UniverseApplication class
in lib/galaxy/app.py
###########
# added by sumedha ganjoo,sganjoo@uga.edu, line 86-90
def refreshToolBox( self):
self.toolbox = tools.ToolBox( self.config.tool_config,
self.config.tool_path, self )
###########
3. Add Refresh tool. Attached.
Thanks,
Sumedha
On Tue, May 4, 2010 at 10:37 AM, Nate Coraor <nate@bx.psu.edu> wrote:
> Sumedha Ganjoo wrote:
>>
>> Hello,
>>
>> I am a student at the University Of Georgia. We had developed a tool for
>> Galaxy 1.3 that enables accessing
>> various web services as tools from Galaxy.
>>
>> We are currently working on a similar tool for the current version of
>> Galaxy. This requires adding a tool dynamically
>> without having to restart Galaxy. I was wondering if someone has already
>> implemented that feature? We do have most
>> of the code for this in place. Is there a way, once complete, this code
>> can be added to the main Galaxy source code?
>
> Hi Sumedha,
>
> This is on our to-do list - if you already have it implemented and it fits
> our design goals, we would likely add it to the source. Please send along a
> patch or create a fork in Bitbucket once it's ready.
>
>> Also I would really appreciate if someone could tell me where can I find
>> the older versions ( v 1.3 ) of Galaxy?
>
> Galaxy 1 is about 5 or 6 years old now and was basically unrelated
> sourcewise to Galaxy 2. I'm not sure where the source is now, although I
> might be able to find it if necessary. Do you need something in specific
> from it?
>
>> Thanks in advance.
>>
>> Regards,
>> Sumedha
>>
>> Sumedha Ganjoo
>> Graduate Assistant
>> Computer Science Department
>> University Of Georgia
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> galaxy-dev mailing list
>> galaxy-dev@lists.bx.psu.edu
>> http://lists.bx.psu.edu/listinfo/galaxy-dev
>
>
--
Sumedha Ganjoo
Graduate Assistant,
Department Of Computer Science,
University Of Georgia,
Athens, GA , USA
_______________________________________________
galaxy-dev mailing list
galaxy-dev@lists.bx.psu.edu
http://lists.bx.psu.edu/listinfo/galaxy-dev