Skip to content

Commit 68c53bf

Browse files
committed
Clarify SoftwareRequirement spec fields
1 parent aa320ec commit 68c53bf

File tree

2 files changed

+42
-14
lines changed

2 files changed

+42
-14
lines changed

site/cwlsite.cwl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ inputs:
2626
rdfs_target: string
2727
brandimg: File
2828
empty:
29-
type: string
29+
type: string?
3030
default: ""
3131

3232
outputs:

v1.0/CommandLineTool.yml

Lines changed: 41 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,10 @@ $graph:
7878
7979
Post v1.0 release changes to the spec.
8080
81-
* 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
81+
* 13 July 2016: Mark `baseCommand` as optional and update descriptive
82+
text.
83+
* 14 November 2016: Clarify [SoftwareRequirement](#SoftwareRequirement)
84+
`spec` fields.
8285
8386
## Purpose
8487
@@ -693,26 +696,51 @@ $graph:
693696
fields:
694697
- name: package
695698
type: string
696-
doc: "The common name of the software to be configured."
699+
doc: |
700+
The name of the software to be made available. If the name is
701+
common, inconsistent, or otherwise ambiguous it should be combined with
702+
one or more identifiers in the `specs` field.
697703
- name: version
698704
type: string[]?
699-
doc: "The (optional) version of the software to configured."
705+
doc: |
706+
The (optional) versions of the software that are known to be
707+
compatible.
700708
- name: specs
701709
type: string[]?
702710
doc: |
703-
Must be one or more IRIs identifying resources for installing or
704-
enabling the software. Implementations may provide resolvers which map
705-
well-known software spec IRIs to some configuration action.
706-
707-
For example, an IRI `https://packages.debian.org/jessie/bowtie` could
708-
be resolved with `apt-get install bowtie`. An IRI
711+
One or more IRIs identifying resources for installing or
712+
enabling the software named in the `package` field. Implementations may
713+
provide resolvers which map these software identifer IRIs to some
714+
configuration action; or they can use only the name from the `package`
715+
field on a best effort basis.
716+
717+
For example, the IRI `https://packages.debian.org/bowtie` could
718+
be resolved with `apt-get install bowtie`. The IRI
709719
`https://anaconda.org/bioconda/bowtie` could be resolved with `conda
710720
install -c bioconda bowtie`.
711721
712-
Tools may also provide IRIs to index entries such as
713-
[RRID](http://www.identifiers.org/rrid/), such as
714-
`http://identifiers.org/rrid/RRID:SCR_005476`
715-
722+
IRIs can also be system independent and used to map to a specific
723+
software installation or selection mechanism.
724+
Using [RRID](https://www.identifiers.org/rrid/) as an example:
725+
`https://identifiers.org/rrid/RRID:SCR_005476` could be fulfilled using
726+
the above mentioned Debian or bioconda package, a local installation
727+
managed by [Environement Modules](http://modules.sourceforge.net/), or
728+
any other mechanism the platform chooses.
729+
730+
A site specific IRI can be listed as well. For example, an academic
731+
computing cluster using Environement Modules could list the IRI
732+
`https://hpc.university.edu/modules/bowtie-tbb/1.22` to indicate that
733+
`module load bowtie-tbb/1.1.2` should be executed to make available
734+
`bowtie` version 1.1.2 with the TBB library prior to running the
735+
accompanying Workflow or CommandLineTool. Note that the example IRI is
736+
specific to a particular institution and computing environment as the
737+
Environment Modules system does not have a common namespace.
738+
739+
This last example is the least portable and should only be used if
740+
mechanisms based off of the `package` field or more generic IRIs are
741+
unavailable or unsuitable. While harmless to other sites, site specific
742+
software IRIs should be left out of shared CWL descriptions to avoid
743+
clutter.
716744
717745
- name: Dirent
718746
type: record

0 commit comments

Comments
 (0)