GalaxyAddTool
https://docs.rc.uab.edu/
Please use the new documentation url https://docs.rc.uab.edu/ for all Research Computing documentation needs.
As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.
Thank you,
The Research Computing Team
How-to for adding a new tool into UAB's Galaxy instance. This details adding a tool that has it's own executable(s), rather than a pure python script.
pre-requisits
- Install the tools on the cluster
- /share/apps/your_tool (email mhanby@uab.edu to get the directory created)
- /lustre/project/your_project (email mhanby@uab.edu to get the directory created)
- /share/apps/galaxy/galaxy-tools (only if this will ONLY be used in Galaxy)
- Create a personal galaxy for developement & testing
- See Shantanu's Create a personal galaxy page.
- Add the executable path to the galaxy environment
- $galaxyroot/modulefiles/galaxy*: edit the module definition file to add your tool location to the path
- Load the updated module and make sure the command works from the commandline!
- module load galaxy
- test, test, test...
Special Case: REST or SPARQL endpoints
There are already tools for integrating these through a wizard. See the Galaxy Toolshed and navigate to Tools Shed -> Data Source
Creating a command-wrapper by hand
Galaxy's public instructions for adding tools: http://wiki.g2.bx.psu.edu/Admin/Tools
Note: If you only need a simple wrapper for an exiting program, you'll only need to create an XML wrapper to describe it (my_tool.xml). However, if you need to create temporary directories or do any other pre- or post- processing, you'll also want to create some adapter code, and have my_tool.xml call that, rather than calling your tool directly. For example, sam_pileup.xml calls sam_pileup.py, which sets up a temp directory, then calls "samtools pileup ..."
- (optional) Create a my_tool.py/pl/etc adapter to do pre-/post- processing
- Create a my_tool.xml wrapper to
- define tool ID and display name
- declare inputs
- declare outputs
- list test files
- user documentation
- Edit tool_conf.xml to add a line for the new XML file
- Restart galaxy