New Tool Question - how to copy meta data from input to output?
Hello, I'm writing a tool which accepts interval files and output interval files. The input file has the metadata set (chr/start/end columns). How can I copy the metadata to the generated output file? Currently, the output file's metadata is always set to chrom=1, start=2, end=3 (which I guess is the default for BED format). Other galaxy tools do it, so I'm sure it's possible. Which python code is responsible for that (to be included in my tool's XML) ? Thanks, Gordon.
Hello Assaf, In your tool config, add the "metadata_source" attribute to the <outputs> tag set, something like the following. <outputs> <data format="input" name="output" metadata_source="input1" /> </outputs> Assaf Gordon wrote:
Hello,
I'm writing a tool which accepts interval files and output interval files.
The input file has the metadata set (chr/start/end columns). How can I copy the metadata to the generated output file? Currently, the output file's metadata is always set to chrom=1, start=2, end=3 (which I guess is the default for BED format).
Other galaxy tools do it, so I'm sure it's possible. Which python code is responsible for that (to be included in my tool's XML) ?
Thanks, Gordon. _______________________________________________ galaxy-user mailing list galaxy-user@bx.psu.edu http://mail.bx.psu.edu/cgi-bin/mailman/listinfo/galaxy-user
Thanks! Another tool-related question, if I may: I want to pass a string to a tool, and this string may contains CR/LF, double quotes, Dollar signs, etc. The simple XML looks like this: ---- <command interpreter="sh">my_tool.sh '$input > $output </command> <inputs> <param type="text" name="input" area="true" size="5x35"/> ---- However, when I enter non alpha numeric characters, they are converted to X (the actual character 'X') before being sent to my script. double quotes are converted to "__dq__" and single quotes are converted to "__sq__". Is there a way to pass the string intact to my program ? (Let's assume for now that I'm well aware of the security problems in allowing a string to be passed on to a shell script...) Thanks, Gordon. Greg Von Kuster wrote, On 08/18/2008 08:17 AM:
Hello Assaf,
In your tool config, add the "metadata_source" attribute to the <outputs> tag set, something like the following.
<outputs> <data format="input" name="output" metadata_source="input1" /> </outputs>
Assaf Gordon wrote:
Hello,
I'm writing a tool which accepts interval files and output interval files.
The input file has the metadata set (chr/start/end columns). How can I copy the metadata to the generated output file? Currently, the output file's metadata is always set to chrom=1, start=2, end=3 (which I guess is the default for BED format).
Other galaxy tools do it, so I'm sure it's possible. Which python code is responsible for that (to be included in my tool's XML) ?
Thanks, Gordon. _______________________________________________ galaxy-user mailing list galaxy-user@bx.psu.edu http://mail.bx.psu.edu/cgi-bin/mailman/listinfo/galaxy-user
Answering to myself... Assaf Gordon wrote, On 08/18/2008 08:49 AM:
I want to pass a string to a tool, and this string may contains CR/LF, double quotes, Dollar signs, etc. .... However, when I enter non alpha numeric characters, they are converted to X (the actual character 'X') before being sent to my script. double quotes are converted to "__dq__" and single quotes are converted to "__sq__".
Found the beautiful hack at 'lib/galaxy/util/__init__.py' line 142... if the parameter name is 'url_paste' then the value won't be sanitized... :-) This is actually quite useful, please don't change this. -Gordon.
participants (2)
-
Assaf Gordon
-
Greg Von Kuster