arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

CWL

ICA supports running pipelines defined using Common Workflow Language (CWL)arrow-up-right.

hashtag
Compute Type

To specify a compute type for a CWL CommandLineTool, either define the ram and number of cores or use the resource type and size. The ICA Compute Type will automatically be determined based on CWL ResourceRequirementarrow-up-right coresMin/coresMax (CPU) and ramMin/ramMax (Memory) values using a "best fit" strategy to meet the minimum specified requirements (See the Compute Types table to see to what the resources are mapped).

For example, take the following ResourceRequirements:

This will result in a best fit of standard-large ICA Compute Type request for the task.

circle-info

If the specified requirements can not be met by any of the presets, the task will be rejected and failed.

See the example below to use the ResourceRequirement in the cwl workflow with the Predefined

circle-info
  • FPGA requirements can not be set by means of CWL ResourceRequirements.

  • The Machine Profile Resource in the graphical editor will override whatever is set for requirements in the ResourceRequirement.

hashtag
Standard vs Economy

For each compute type, you can choose between the

  • Standard - (Default) or

  • Economy - tiers.

You can set economy mode with the "tier" parameter

hashtag
Considerations

If no Docker image is specified, Ubuntu will be used as default. Both : and / can be used as separator.

hashtag
CWL Overrides

ICA supports overriding workflow requirements at load time using Command Line Interface (CLI) with JSON input. Please refer to for more details on the CWL overrides feature.

In ICA you can provide the "override" recipes as a part of the input JSON. The following example uses CWL overrides to change the environment variable requirement at load time.

Compute Types
AWS on-demandarrow-up-right
AWS spot instancearrow-up-right
CWL documentationarrow-up-right
requirements:
    ResourceRequirement:
      ramMin: 10240
      coresMin: 6
requirements:
    ResourceRequirement:
        https://platform.illumina.com/rdf/ica/resources:type: fpga2
        https://platform.illumina.com/rdf/ica/resources:size: medium 
        https://platform.illumina.com/rdf/ica/resources:tier: standard
requirements:
    ResourceRequirement:
        https://platform.illumina.com/rdf/ica/resources:type: himem
        https://platform.illumina.com/rdf/ica/resources:size: small 
        https://platform.illumina.com/rdf/ica/resources:tier: economy
icav2 projectpipelines start cwl cli-tutorial --data-id fil.a725a68301ee4e6ad28908da12510c25 --input-json '{
  "ipFQ": {
    "class": "File",
    "path": "test.fastq"
  },
  "cwltool:overrides": {
  "tool-fqTOfa.cwl": {
    "requirements": {
      "EnvVarRequirement": {
        "envDef": {
          "MESSAGE": "override_value"
          }
        }                                       
       }
      }
    }
}' --type-input JSON --user-reference overrides-example