LogoLogo
  • Overview
  • publisher
    • Introduction
    • Getting Started
      • Logging in to Publisher
    • Data Sources
      • Connecting a Data Source
      • Managing a Data Source
      • Connectors
        • AWS S3 Permissions
        • Connecting to AWS S3 Storage
        • Google Cloud Storage (GCS) Permissions
        • Connecting to Google Cloud Storage
        • PostgreSQL Permissions
        • Connecting to PostgreSQL
        • PostgreSQL on Azure Permissions
        • Microsoft Azure Blob Storage Permissions
        • Connecting to Microsoft Azure Blob Storage
        • Connecting to HTTPS
        • Connecting to other sources via Trino
          • BigQuery
    • Collections
      • Creating a Collection
      • Sharing a Collection
      • Collection Filters
      • Editing Collection Metadata
      • Updating Collection Contents
    • Access Policies
      • Creating an Access Policy
      • Managing Access Policies
    • Questions
      • Adding Questions
      • Example Question
    • Settings
      • Viewing Current and Past Administrators
      • Adding an Administrator
      • Removing an Administrator
      • Setting Notification Preferences
  • Explorer
    • Introduction
    • Viewing a Collection
    • Browsing Collections
    • Asking Questions
    • Accessing a Private Collection
      • Requesting Access to a Private Collection
    • Filtering Data in Tables
      • Strings
      • Dates
      • Numbers
  • Workbench
    • Introduction
    • Getting Started
      • Logging into Workbench
      • Connecting an Engine
      • Finding or Importing a Workflow
      • Configuring Workflow Inputs
      • Running and Monitoring a Workflow
      • Locating Outputs
    • Engines
      • Adding and Updating an Engine
        • On AWS HealthOmics
        • On Microsoft Azure
        • On Google Cloud Platform
        • On Premises
      • Parameters
        • AWS HealthOmics
        • Google Cloud Platform
        • Microsoft Azure
        • On-Premises
        • Cromwell
        • Amazon Genomics CLI
    • Workflows
      • Finding Workflows
      • Adding a Workflow
      • Supported Languages
      • Repositories
        • Dockstore
    • Instruments
      • Getting Started with Instruments
      • Connecting a Storage Account
      • Using Sample Data in a Workflow
      • Running Workflows Using Samples
      • Family Based Analysis with Pedigree Information
      • Monitor the Workflow
      • CLI Reference
        • Instruments
        • Storage
        • Samples
        • OpenAPI Specification
    • Entities
    • Terminology
  • Passport
    • Introduction
    • Registering an Email Address for a Google Identity
  • Command Line Interface
    • Installation
    • Usage Examples
    • Working with JSON Data
    • Reference
      • workbench
        • runs submit
        • runs list
        • runs describe
        • runs cancel
        • runs delete
        • runs logs
        • runs tasks list
        • runs events list
        • engines list
        • engines describe
        • engines parameters list
        • engines parameters describe
        • engines health-checks list
        • workflows create
        • workflows list
        • workflows describe
        • workflows update
        • workflows delete
        • workflows versions create
        • workflows versions list
        • workflows versions describe
        • workflows versions files
        • workflows versions update
        • workflows versions delete
        • workflows versions defaults create
        • workflows versions defaults list
        • workflows versions defaults describe
        • workflows versions defaults update
        • workflows versions defaults delete
        • namespaces get-default
        • storage add
        • storage delete
        • storage describe
        • storage list
        • storage update
        • storage platforms add
        • storage platforms delete
        • storage platforms describe
        • storage platforms list
        • samples list
        • samples describe
        • samples files list
      • publisher
        • datasources list
  • Analysis
    • Python Library
    • Popular Environments
      • Cromwell
      • CWL Tool
      • Terra
      • Nextflow
      • DNAnexus
Powered by GitBook

© DNAstack. All rights reserved.

On this page
  • Adding a Workflow
  • Upload Process
  • Required Metadata
  • Additional Workflow Metadata
  • Workflow Naming
  • Workflow Authors
  • Troubleshooting Workflow Creation
  • Workflow syntax is not correct
  • Missing files
  • Wrong entrypoint

Was this helpful?

  1. Workbench
  2. Workflows

Adding a Workflow

PreviousFinding WorkflowsNextSupported Languages

Last updated 3 months ago

Was this helpful?

Adding a Workflow

While Workbench provides thousands of community-authored workflows through external , you may need to add your own private workflows. This offers several benefit:

  1. Custom Logic Definition:

    • Allows you to define custom logic that may not be available in publicly accessible repositories.

  2. Rapid Iteration:

    • Enables rapid iteration on your workflows before making them publicly available.

  3. Compliance History:

    • Helps meet compliance needs by maintaining a history of all past versions of a workflow.

  4. Secure Storage:

    • Provides a secure platform to store workflows, especially those containing potentially sensitive information.

    • (Note: Workflows should never contain PHI - Protected Health Information.)

  5. Proprietary Development:

    • Facilitates the development of proprietary workflows without exposing the source code.

Upload Process

  1. Navigate to the Workflows page

  2. Click "Add Workflow" in the top right corner

  3. Upload workflow files by either:

    • Dragging and dropping files

    • Using the file picker

When uploading files, consider your workflow structure:

  • Single file uploads preserve only the filename and strip preceding paths

  • For complex workflows with nested directories, either:

    • Upload as a directory to maintain structure

    • Combine files into a ZIP archive

  • Preserving file paths ensures proper workflow import resolution

After adding all files, click "Upload" to proceed to metadata configuration.

Required Metadata

Configure your workflow with the following information:

Name Choose a meaningful name for easy future reference.

Version Name your first version. While semantic versioning is recommended, any meaningful name is acceptable. The name will be converted to an ID by removing illegal characters and spaces.

Entrypoint Specify the starting WDL file for workflow execution. Begin typing in the entrypoint input to see a filtered list of your uploaded files. This file should contain a single WDL workflow that represents the start of execution.

Description (Optional) Add markdown-supported documentation, instructions, or notes. This field can be edited after workflow creation.

After completing metadata, click "Save" to view your workflow's version page.

Additional Workflow Metadata

Workflow Naming

When adding a workflow through the user interface, a workflow name is mandatory. However, when using the command line interface (CLI), the name can be omitted. In cases where the workflow name is not provided in the CLI, it will be extracted directly from the Workflow Description Language (WDL).

For instance, consider the following workflow:

workflow hello_world {

}

the value hello_world will be extracted and set as the workflow name, if no other name was provided.

Workflow Authors

Adding Authors to Your Workflow

When adding a workflow in Workbench, you have the option to specify authors directly within the workflow definition, ensuring that essential metadata remains associated with your workflow. In the main workflow's meta section, you can provide either a single author or a list of authors.

Here's how you can add a single author:

meta {
  author: "George Clement"
}

And for multiple authors:

meta {
  authors [
    "George Clement",
    "Suzy Shrier"
  ]  
}

If no author is provided directly in the workflow, Workbench will automatically set you as the author.

Troubleshooting Workflow Creation

Workflow syntax is not correct

miniwdl check path/to/your/workflow.wdl

Missing files

When adding files in the User Interface of Workbench, make sure all WDL files referenced in import statements are properly uploaded with the appropriate path's. If you have a complex workflow structure you should upload your workflow files as a zip folder to ensure the relative paths are preserved

Wrong entrypoint

The entrypoint tells workbench which file contains the main workflow code. If the entrypoint is wrong validation will like fail or the resulting workflow that is submitted to an execution engine will be incorrect.

Only workflows which are syntactically correct will be saved to your account. Prior to saving a workflow, it is recommended that you use a tool to perform static type checking and syntax validation. On such tool is , a command line utility and execution engine for WDL. If running the miniwdl check command fails the workflow is unlikely , and you are still not seeing your workflow in Workbench, please contact

repositories
MiniWDL
DNAstack support