How to pass files/data invisibly between tools?
Hi, We wrap our tools in perl and ruby scripts and have them execute in a randomly named folder. Things all work well, both in & out of workflow, until I want to merge the log files of workflow components as later tools don't know where the previous were running. Ideally I'd like to run all tools in the same (randomly named) folder and write all logs to one file. The first tool can easily name & create the folder but how do I invisibly pass this filepath to subsequent tools? I've managed to write the filepath as an output file & send it to the second tool in workflow, but this appears to require a txt data parameter that is visible to the user and is auto-populated from history if the tool is used out of workflow. Plus it's not the seamless passage of data I'm looking for. I'll obviously need to build in some code to accommodate running tools out of workflow i.e. when filepath = nil, but I think that'll be the easy part. Any ideas? Thanks Steve ----------------------------------------- ************************************************************************** The information contained in the EMail and any attachments is confidential and intended solely and for the attention and use of the named addressee(s). It may not be disclosed to any other person without the express authority of the HPA, or the intended recipient, or both. If you are not the intended recipient, you must not disclose, copy, distribute or retain this message or any part of it. This footnote also confirms that this EMail has been swept for computer viruses, but please re-sweep any attachments before opening or saving. HTTP://www.HPA.org.uk **************************************************************************
On Dec 9, 2011, at 12:12 PM, Steven Platt wrote:
Hi,
We wrap our tools in perl and ruby scripts and have them execute in a randomly named folder. Things all work well, both in & out of workflow, until I want to merge the log files of workflow components as later tools don't know where the previous were running. Ideally I'd like to run all tools in the same (randomly named) folder and write all logs to one file. The first tool can easily name & create the folder but how do I invisibly pass this filepath to subsequent tools?
I've managed to write the filepath as an output file & send it to the second tool in workflow, but this appears to require a txt data parameter that is visible to the user and is auto-populated from history if the tool is used out of workflow. Plus it's not the seamless passage of data I'm looking for. I'll obviously need to build in some code to accommodate running tools out of workflow i.e. when filepath = nil, but I think that'll be the easy part.
Hi Steve, This concept of writing to an input breaks Galaxy's goal of reproducibility via input immutability. I think one way you could do this within Galaxy's existing model would be to have each tool write your desired log output to the output dataset's extra_files_path, and then have a tool that runs at the end of your workflow that concatenates all of the log files. --nate
Any ideas?
Thanks
Steve ----------------------------------------- ************************************************************************** The information contained in the EMail and any attachments is confidential and intended solely and for the attention and use of the named addressee(s). It may not be disclosed to any other person without the express authority of the HPA, or the intended recipient, or both. If you are not the intended recipient, you must not disclose, copy, distribute or retain this message or any part of it. This footnote also confirms that this EMail has been swept for computer viruses, but please re-sweep any attachments before opening or saving. HTTP://www.HPA.org.uk **************************************************************************
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
participants (2)
-
Nate Coraor
-
Steven Platt