Clarify SoftwareRequirement spec fields with better examples #343
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As it is just a clarification I can merge this with 1.0 or leave it for 1.1.0; feedback is very welcome.
In summary: no specification of what software corresponds to a particular CWL description is required, if one does specify then only a name is required. A portable identifier is recommended, especially if the name conflicts with other packages or is inconsistently specified. That identifier can be mapped to specific mechanisms by the CWL implementation. Additionally allowed are identifiers pointing at specific mechanism from the generic (bioconda, Debian) to the site specific (Environment Modules).
Remember that today, in many CWL implementations including
cwltool
, users can specify Requirements (such as a site specific SoftwareRequirement) in the user input job object usingcwl:requirements
. Starting with v1.1.0 all CWL implementations that accept user created input job objects will be required to support thecwl:requirements
field.