Skip to content

Commit 351d032

Browse files
author
Peter Amstutz
committed
Merge remote-tracking branch 'origin/clarify-package' into v1.0-errata
2 parents a4e9eb6 + c045684 commit 351d032

File tree

3 files changed

+100
-28
lines changed

3 files changed

+100
-28
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: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ $graph:
4646
slightly different behavior in v1.0.1.
4747
4848
* 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
49+
* 14 November 2016: Clarify [SoftwareRequirement](#SoftwareRequirement)
50+
`spec` fields.
4951
* 12 March 2017:
5052
* Mark `default` as not required for link checking.
5153
* Add note that files in InitialWorkDir must have path in output directory.
@@ -716,26 +718,59 @@ $graph:
716718
fields:
717719
- name: package
718720
type: string
719-
doc: "The common name of the software to be configured."
721+
doc: |
722+
The name of the software to be made available. If the name is
723+
common, inconsistent, or otherwise ambiguous it should be combined with
724+
one or more identifiers in the `specs` field.
720725
- name: version
721726
type: string[]?
722-
doc: "The (optional) version of the software to configured."
727+
doc: |
728+
The (optional) versions of the software that are known to be
729+
compatible.
723730
- name: specs
724731
type: string[]?
725732
doc: |
726-
Must be one or more IRIs identifying resources for installing or
727-
enabling the software. Implementations may provide resolvers which map
728-
well-known software spec IRIs to some configuration action.
729-
730-
For example, an IRI `https://packages.debian.org/jessie/bowtie` could
731-
be resolved with `apt-get install bowtie`. An IRI
732-
`https://anaconda.org/bioconda/bowtie` could be resolved with `conda
733+
One or more [IRI](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier)s
734+
identifying resources for installing or enabling the software named in
735+
the `package` field. Implementations may provide resolvers which map
736+
these software identifer IRIs to some configuration action; or they can
737+
use only the name from the `package` field on a best effort basis.
738+
739+
For example, the IRI https://packages.debian.org/bowtie could
740+
be resolved with `apt-get install bowtie`. The IRI
741+
https://anaconda.org/bioconda/bowtie could be resolved with `conda
733742
install -c bioconda bowtie`.
734743
735-
Tools may also provide IRIs to index entries such as
736-
[RRID](http://www.identifiers.org/rrid/), such as
737-
`http://identifiers.org/rrid/RRID:SCR_005476`
738-
744+
IRIs can also be system independent and used to map to a specific
745+
software installation or selection mechanism.
746+
Using [RRID](https://www.identifiers.org/rrid/) as an example:
747+
https://identifiers.org/rrid/RRID:SCR_005476
748+
could be fulfilled using the above mentioned Debian or bioconda
749+
package, a local installation managed by [Environement Modules](http://modules.sourceforge.net/),
750+
or any other mechanism the platform chooses. IRIs can also be from
751+
identifer sources that are discipline specific yet still system
752+
independent. As an example, the equivalent [ELIXIR Tools and Data
753+
Service Registry](https://bio.tools) IRI to the previous RRID example is
754+
https://bio.tools/tool/bowtie2/version/2.2.8.
755+
If supported by a given registry, implementations are encouraged to
756+
query these system independent sofware identifier IRIs directly for
757+
links to packaging systems.
758+
759+
A site specific IRI can be listed as well. For example, an academic
760+
computing cluster using Environement Modules could list the IRI
761+
`https://hpc.example.edu/modules/bowtie-tbb/1.22` to indicate that
762+
`module load bowtie-tbb/1.1.2` should be executed to make available
763+
`bowtie` version 1.1.2 compiled with the TBB library prior to running
764+
the accompanying Workflow or CommandLineTool. Note that the example IRI
765+
is specific to a particular institution and computing environment as
766+
the Environment Modules system does not have a common namespace or
767+
standardized naming convention.
768+
769+
This last example is the least portable and should only be used if
770+
mechanisms based off of the `package` field or more generic IRIs are
771+
unavailable or unsuitable. While harmless to other sites, site specific
772+
software IRIs should be left out of shared CWL descriptions to avoid
773+
clutter.
739774
740775
- name: Dirent
741776
type: record

v1.1.0-dev1/CommandLineTool.yml

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ $graph:
8686
8787
Post v1.0 release changes to the spec.
8888
89-
* 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
89+
* 13 July 2016: Mark `baseCommand` as optional and update descriptive
90+
text.
91+
* 14 November 2016: Clarify [SoftwareRequirement](#SoftwareRequirement)
92+
`spec` fields.
9093
9194
## Purpose
9295
@@ -746,26 +749,60 @@ $graph:
746749
fields:
747750
- name: package
748751
type: string
749-
doc: "The common name of the software to be configured."
752+
doc: |
753+
The name of the software to be made available. If the name is
754+
common, inconsistent, or otherwise ambiguous it should be combined with
755+
one or more identifiers in the `specs` field.
750756
- name: version
751757
type: string[]?
752-
doc: "The (optional) version of the software to configured."
758+
doc: |
759+
The (optional) versions of the software that are known to be
760+
compatible.
753761
- name: specs
754762
type: string[]?
763+
jsonldPredicate: {_type: "@id", noLinkCheck: true}
755764
doc: |
756-
Must be one or more IRIs identifying resources for installing or
757-
enabling the software. Implementations may provide resolvers which map
758-
well-known software spec IRIs to some configuration action.
759-
760-
For example, an IRI `https://packages.debian.org/jessie/bowtie` could
761-
be resolved with `apt-get install bowtie`. An IRI
762-
`https://anaconda.org/bioconda/bowtie` could be resolved with `conda
765+
One or more [IRI](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier)s
766+
identifying resources for installing or enabling the software named in
767+
the `package` field. Implementations may provide resolvers which map
768+
these software identifer IRIs to some configuration action; or they can
769+
use only the name from the `package` field on a best effort basis.
770+
771+
For example, the IRI https://packages.debian.org/bowtie could
772+
be resolved with `apt-get install bowtie`. The IRI
773+
https://anaconda.org/bioconda/bowtie could be resolved with `conda
763774
install -c bioconda bowtie`.
764775
765-
Tools may also provide IRIs to index entries such as
766-
[RRID](http://www.identifiers.org/rrid/), such as
767-
`http://identifiers.org/rrid/RRID:SCR_005476`
768-
776+
IRIs can also be system independent and used to map to a specific
777+
software installation or selection mechanism.
778+
Using [RRID](https://www.identifiers.org/rrid/) as an example:
779+
https://identifiers.org/rrid/RRID:SCR_005476
780+
could be fulfilled using the above mentioned Debian or bioconda
781+
package, a local installation managed by [Environement Modules](http://modules.sourceforge.net/),
782+
or any other mechanism the platform chooses. IRIs can also be from
783+
identifer sources that are discipline specific yet still system
784+
independent. As an example, the equivalent [ELIXIR Tools and Data
785+
Service Registry](https://bio.tools) IRI to the previous RRID example is
786+
https://bio.tools/tool/bowtie2/version/2.2.8.
787+
If supported by a given registry, implementations are encouraged to
788+
query these system independent sofware identifier IRIs directly for
789+
links to packaging systems.
790+
791+
A site specific IRI can be listed as well. For example, an academic
792+
computing cluster using Environement Modules could list the IRI
793+
`https://hpc.example.edu/modules/bowtie-tbb/1.22` to indicate that
794+
`module load bowtie-tbb/1.1.2` should be executed to make available
795+
`bowtie` version 1.1.2 compiled with the TBB library prior to running
796+
the accompanying Workflow or CommandLineTool. Note that the example IRI
797+
is specific to a particular institution and computing environment as
798+
the Environment Modules system does not have a common namespace or
799+
standardized naming convention.
800+
801+
This last example is the least portable and should only be used if
802+
mechanisms based off of the `package` field or more generic IRIs are
803+
unavailable or unsuitable. While harmless to other sites, site specific
804+
software IRIs should be left out of shared CWL descriptions to avoid
805+
clutter.
769806
770807
- name: Dirent
771808
type: record

0 commit comments

Comments
 (0)