Managing output files with dynamic filenames in Galaxy tools: with and without collections #20673
Replies: 3 comments
-
xref #12052 |
Beta Was this translation helpful? Give feedback.
-
The following IUC tools are using the |
Beta Was this translation helpful? Give feedback.
-
At this point we don't want people to use it, so no.
I don't think anyone tried this before / had a need to do this, and it's not clear to me why you want to do this if you can move the files into a directory and discover from there ? This seems much more pragmatic and easy to follow, all the relevant metadata is set etc. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Managing output files with dynamic filenames in Galaxy tools
Non-collection outputs
As far as I can tell, there is no documentation indicating that, in Galaxy tool XML, the value of the
from_work_dir
attribute intool > outputs > data
andtool > outputs > collection > data
tags is evaluated using glob.glob().The current documentation here and here for
from_work_dir
reads:The
glob.glob()
is being called in lib/galaxy/metadata/set_metadata.py. Is this expected behavior? If so, can we update the relevant documentation?Collection outputs
This discussion originated from an attempt to add a dynamically named output to an existing output collection like the following:
It would seem "natural" to assume that the following would work:
Unfortuantely, this syntax is not supported. My workaround was to use the
from_work_dir
glob.glob()
hack:While investigating, I also discovered that output collections only support either
tool > outputs > collection > data
ortool > outputs > collection > discover_datasets
, but not both. The following is not flagged byplanemo lint
as an error, but will cause the tool to fail:Putting the dynamic file inside it's own collection would also work, but was not what I wanted to do:
An alternative that I abandoned once I found the
glob.glob()
hack would be to add code inside thecommand
tag:Beta Was this translation helpful? Give feedback.
All reactions