Workflow Build Process

You can create workflows using the web interface or using the CLI using tools provided by the DNAnexus SDK. This page focuses on creating a workflow in a terminal. It will walk you through important features of the DNAnexus workflow build infrastructure that will help you build your workflows programmatically.

The DNAnexus SDK, dx-toolkit, is required to build workflows from JSON definitions.

For information on building Nextflow workflows, see here.

Workflow Directory Structure

DNAnexus workflows can be built using the dx build command, which takes the workflow JSON representation from your local workstation and uploads it to a workflow object on the Platform. The DNAnexus SDK expects the workflow definition to reside in a directory with the following structure:

MyWorkflow
├── dxworkflow.json
└── Readme.md

Workflow Metadata

The file dxworkflow.json is a DNAnexus workflow metadata file. If it is detected in the directory provided to dx build, the dx-toolkit will attempt to build a workflow on the Platform by passing the workflow specification in dxworkflow.json to /workflow-xxxx/new.

Readme File

The Readme.md file, if present, is inlined into the description field of the workflow.

Building a Workflow

Having placed the workflow metadata in MyWorkflow, you can load your workflow on the DNAnexus Platform:

$ dx build MyWorkflow

The built workflow will be in a closed, immutable state. Adding --keep-open option will keep the workflow open allowing you to edit the workflow from the DNAnexus UI.

$ dx build MyWorkflow --keep-open

Getting a Workflow

Similarly to apps and applets, developers can use the command dx get to download the workflow description from the Platform, for example:

$ dx get MyWorkflow

This will create a directory MyWorkflow (after the workflow's name) containing the workflow representation in the working directory. It can be used again to create a new workflow with dx build.

Last updated