Apps and Workflows

Every analysis in DNAnexus is run using apps. Apps can be linked together to create workflows. Learn the basics of using both.

You must set up billing for your account before you can perform an analysis, or upload or egress data. Follow these instructions to set up billing.

Finding the Right App or Workflow

The Tools Library provides a list of available apps and workflows. To see this list, select Tools Library from the Tools entry in the main Platform menu.

On the DNAnexus Platform, apps and workflows are generically referred to as "tools."

To find the tool you're looking for in the Tools Library, you can use search filters. Filtering enables you to find tools with a specific name, in a specific category, or of a specific type:

To see what inputs a tool requires, and what outputs it generates, select that tool's row in the list. The row will be highlighted in blue; the tool's inputs and outputs will be displayed in a pane to the right of the list:

To make sure you can find a tool later, "pin" it to the top of the list. Click the "..." icon at the far right end of the row showing the tool's name and key details about it. Then click Add Pin:

To learn more about a tool, click on its name in the list. The tool's detail page will open, showing a wide range of info, including guidance in how to use it, version history, pricing, and more:

Running Apps and Workflows

Launching a Tool

Launching from the Tools Library

You can quickly launch the latest version of any given tool from the Tools Library page. Or, navigate into the Details page of the tool and click the Run button:

Launching from a Project

From within a project, navigate to the Manage pane, then click the Start Analysis button.

A dialogue window will open, showing a list of tools. These will include the same tools as shown in the Tools Library, as well as workflows and applets specifically available in the current project. Select the tool you want to run, then click Run Selected:

Workflows and applets can be launched directly from where they reside within a project. Select the workflow or applet in their folder location, and click Run.

Launch Configuration

Confirm details of the tool you are about to run. Note that selection of a project location is required for any tool to be run. You will need at minimum Contributor access level to the project.

Specialized tools, such as JupyterLab and Spark Apps, require special licenses to run.

Configure Inputs and Outputs

The tool may require specific inputs to be filled in before starting the run. You can quickly identify the required inputs by looking for the highlighted areas that are marked Inputs Required on the page.

You can access help information about each input or output by inspecting the label of each item. If a detailed README is provided for the executable, you can click the View Documentation icon to open the app or workflow info pane.

To configure instance type settings for a given tool or stage, click the Instance Type icon located on the top-right corner of the stage.

To configure output location and view info regarding output items, go to the Outputs tab under each stage. For workflows, output location can be specified separately for each stage.

The I/O graph provides an overview of the input/output structure of the tool. The graph is available for any tool and can be accessed via the Actions/Workflow Actions menu.

Once all required inputs have been configured, the page will indicate that the run is ready to start. Click on Start Analysis to proceed to the final step.

Configure Runtime Settings

As the last step before launching the tool, you can review and confirm various runtime settings, including execution name, output location, priority, job rank, spending limit, etc. You can also review and modify instance type settings before starting the run.

Once you have confirmed final details, click Launch Analysis to start the run.

A license is required to use the Job Ranking feature. Contact DNAnexus Support for more information.

Batch Run

Batch run allows users to run the same app or workflow multiple times, with specific inputs varying between runs.

Specify Batch Inputs

To enable batch run, start from any input that you wish to specify for batch run, and open its I/O Options menu on the right hand side. From the list of options available, select Enable Batch Run.

Input fields with batch run enabled will be highlighted with a Batch label. Click any of the batch enabled input fields to enter the batch run configuration page.

Not all input classes are supported for batch run configuration. See table below.

Input ClassBatch Run Support

Files and other data objects


Files and other data objects (array)

Partially supported. Can accept entry of a single-value array









String (array)


Integer (array)


Float (array)


Boolean (array)




Configure Batch Inputs

The batch run configuration page allows specifying inputs across multiple runs. Interact with each table cell to fill in desired values for any run or field.

Similar to configuration of inputs for non-batch runs, you will need to fill all the required input fields to proceed to next steps. Optional inputs, or required inputs with a predefined default value, can be left empty.

Once all required fields (for both batch inputs and non-batch inputs) have been configured, you can proceed to start the run via the Start Analysis button.

Starting and Monitoring Your Analysis

Once you've finished setting up your tool, start your analysis by clicking the Start Analysis button. Follow these instructions to monitor the job as it runs.

Learn More

Learn in depth about running apps and workflows, leveraging advanced techniques like Smart Reuse.

Learn how to build a simple app.

Learn more about building apps using Bash or Python.

Learn in depth about building and deploying apps, including Spark apps.

Learn in depth about importing, building, and running workflows.

Last updated

Copyright 2024 DNAnexus