common-workflow-language / user_guide

The CWL v1.0 - v1.2 user guide
http://www.commonwl.org/user_guide/
Other
42 stars 67 forks source link

add info on how outputBinding and glob works #353

Open Fienne opened 1 year ago

Fienne commented 1 year ago

resolves #282

swzCuroverse commented 1 year ago

This looks like it just re-wrote and expanded a little bit about what already is in the user guide in the output section. I believe the request was to go a little bit deeper into how it works and why you use it. You can read the exchange linked from the ticket BUT-- in general it was to give information https://www.commonwl.org/v1.2/CommandLineTool.html#Output_binding here - and perhaps link to this accordingly.

I would keep what you have and go into more detail below about what glob does, which glob is used (and so you have restrictions based on that) and why you would use it. For motivation -- https://towardsdatascience.com/the-python-glob-module-47d82f4cbd2d

swzCuroverse commented 1 year ago

It also might nice be nice to look through biostars and other resources include a few more examples of using glob that are more complicated such as: https://www.biostars.org/p/390453/ https://rabix.io/cwl-patterns.html (last entry)

Note glob can be used to return directories not just files/file arrays.

swzCuroverse commented 1 year ago

@Fienne I think this looks good now but I think you need remove the entries from the FAQ renaming and just keep the glob related changes.

Fienne commented 1 year ago

@swzCuroverse can you please check this out

swzCuroverse commented 1 year ago

There is a nice conversation happening now in the matrix chat about the difference between . * and $(runtime.outdir)

Fienne commented 1 year ago

Thank you, I noticed. I'm going through the chat

swzCuroverse commented 1 year ago

It looks like you just adding one of these but I think it would be good to show not just as a glob example. Please include a few more from some of the examples I showed you -- for example something like .gvcf, defining a directory the output is in, and something that uses the input name to find the output file.

You can look at the following places for examples: https://github.com/common-workflow-library/bio-cwl-tools and search for glob https://github.com/common-workflow-library/bio-cwl-tools/search?p=2&q=glob