This is helpful, I will just module load spades before running the script
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
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 withconda 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" ]
Log in to answer this question.