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