On Feb 15, 2013, at 11:45 AM, Peter Cock wrote:
On Fri, Feb 15, 2013 at 4:32 PM, Greg Von Kuster <greg@bx.psu.edu> wrote:
Usecase: Tool comes with a simple datafile (e.g. defining a search motif, say motif.dat) which is used by a script (say motif.py) via a normal Galaxy tool XML file (say motif.xml).
Perhaps I can just put my data file next to the script and XML file, in which case it is easy for the script to locate? But I assumed that Galaxy best practice would be to use the tool-data folder somehow...
Thanks,
Peter
Is there a documented example I should be reading? In this use case (without any explicit XML markup), can I assume/have the motif.dat file be installed in the same folder next to the motif.py script and tool defining motif.xml file?
This scenario uses a tool dependency that is included in the repository which is discussed in the following section of the tool shed wiki. Using this approach a tool config (Cheetah template) would have to be configured with the proper <requirement> tag set and an associated <command> tag set that would ultimately have the path to the motif.py script and motif.dat file defined in the environment. Of course, this assumes the motify.py script is not the tool executable itself.
Actually for the example I am working on, the motif.py script would be the tool executable, called from motif.xml like this:
<command interpreter="python">motif.py $fasta_file $tabular_file</command>
i.e. A completely self contained Galaxy tool consisting of four files:
motif.xml - Galaxy tool definition motif.txt - README file motif.py - Python script which is the tool motif.dat - Data file used by the Python script
I am hoping that no further XML configuration files are needed in order to handle the data file.
Peter
In this case, your motif.xml file can be configured with the following: <command interpreter="python"> motif.py $fasta_file $tabular_file </command> <requirements> <requirement type="set_environment">MOTIF_DAT_PATH</requirement> </requirements> and your repository will need to include the following tool_dependencies.xml file: <?xml version="1.0"?> <tool_dependency> <set_environment version="1.0"> <environment_variable name="MOTIF_DAT_PATH" action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable> </set_environment> </tool_dependency>