Workflow Config

The config option in a workflow schema is a fully optional field that allows for customizing certain execution parameters. These include:

  1. Specifying a nested main execution file
  2. Specifying a sub-workflow within a main execution file
  3. Specifying an execution engine other than Nextflow
  4. Configuring compute resources for a “single node” execution

Let’s take a look at a simple example schema to analyze:

"config": {
  "mainScript": "main.nf",
  "entry": "subworkflow",
  "executionEngine": "nextflow-single-node",
  "executionEngineConfig": {
    "rootNode": {
      "resources": {
        "cpus": 4,
	      "memory": "16G",
        "disk": "30G"
      }
    }
  }
}

mainScript (optional)

  • Specifies the relative path to the main execution file. For example, using Nextflow, this would be the relative path to the correct main.nf

entry (optional)

  • Specifies the name of a subworkflow located inside the main execution file”

executionEngine (optional)

  • Specifies the execution engine to run the workflow. Options include:
    • "nextflow"
    • “cromwell”
    • “nextflow-single-node”
      • This option can be used to execute and speed up a simple workflow that will be executed locally on the Form Bio root node
      • The root node can be configured using the rootNode resources shown in executionEngineConfig

executionEngineConfig (optional)

  • rootNode - Specifies configuration options to be applied to root node when running on "nextflow-single-node"
    • resources
      • cpus
        • Number of CPUs on root node
      • memory
        • Amount of memory on root node, written as string, ie “16G”
      • disk
        • Disk space on root node, written as string, ie “30G”