This is a test version of Biostars. For the public version, visit https://www.biostars.org.
CWL: SoftwareRequirement definition

I'm trying to create a common workflow language script, to run on a server, that requires spades be initialized with the command module load spades my requirements section looks like this

requirements:
  SoftwareRequirement:
    packages:
      spades:
        specs: [ "module load spades" ]

I get the following error when I run the tool

Tool definition failed initialization:
SPAdes.cwl:7:3: Unsupported requirement SoftwareRequirement

what could be wrong with my code

cwl softwarerequirement specs

1 answer

Hello kevin.o.oluoch and thank you for your question.

Seems like the SoftwareRequirement is not supported by the CWL implementation you are using. You may want to move this to hints

Additionally the specs is misformatted:

In the CWL v1.0 specification http://www.commonwl.org/v1.0/CommandLineTool.html#SoftwarePackage we see that

specs, array<string>, Must be one or more IRIs identifying resources for installing or enabling the software. Implementations may provide resolvers which map well-known software spec IRIs to some configuration action.

For example, an IRI https://packages.debian.org/jessie/bowtie could be resolved with apt-get install bowtie. An IRI https://anaconda.org/bioconda/bowtie could be resolved with conda install -c bioconda bowtie.

Tools may also provide IRIs to index entries such as RRID, such as http://identifiers.org/rrid/RRID:SCR_005476

For example, from my description of MetaSPAdes (https://github.com/ProteinsWebTeam/ebi-metagenomics-cwl/blob/master/tools/metaspades.cwl): specs: [ "https://identifiers.org/rrid/RRID:SCR_000131" ]

This is helpful, I will just module load spades before running the script

Log in to answer this question.