Bringing Your App or Workflow to the Research Analysis Platform

In many cases the Platform allows you to use apps and workflows you’ve developed in another environment. This page provides a rundown on how to import apps or workflows of a wide variety of types.

Before You Begin

dx client

If you haven’t already, download and install the dx-toolkit, and familiarize yourself with basic dx commands. When working from the CLI, you’ll use the dx-toolkit to perform various tasks in the course of importing, configuring, and running apps and workflows.

Input Files

Your apps and workflows must have access to any files they need as inputs. If any input file is not already in the project in which you intend to use a particular app or workflow, upload that file to the project in question.

Bringing Your App to the Platform

Docker Images

The Platform supports executing Docker images. Using a Docker image to package and run your app ensures your app can access, and you have full control over, dependencies, configurations settings, and all needed files. See these instructions for a detailed explanation of how to set up and run Docker images on the Platform.

Linux Apps

If your app can run on 64-bit Ubuntu Linux, you can package it to run on the Platform. Follow these instructions from the DNAnexus Platform documentation, to import, configure, test, and run your app. You’ll use the dx-app-wizard to set up the proper directory structure to run your app on the platform.

The “Apps” section of the DNAnexus Platform documentation provides further guidance on how to configure your app, and how to upload and ensure it has access to dependencies and input files.

R/-Shiny Apps

You can run your R/-Shiny app on the Platform by wrapping it as a special DNAnexus web app, then accessing it using a web browser. See these instructions on how to do so.

Stata

The Stata app itself does not run on the Platform. If you have a Stata license, you can use stata_kernel to access Stata commands and functionality within a Jupyter notebook running on the Platform. See these instructions on how to do this.

SSH Access to Run Scripts via CLI

To ssh into your Platform project, then run a script on the command line, use the Cloud Workstation app.

C++ Apps

There are third-party tools available that can compile a C++ app to run on 64-bit Ubuntu Linux. Once you’ve done so, you can then wrap the newly created Linux app as a Platform app or applet, following the instructions above.

Bringing Your Workflow to the Platform

WDL and Nextflow

To facilitate reproducibility in working with data, the DNAnexus Platform supports the use of WDL and Nextflow workflows.

Converting scripts to WDL workflows ensures reproducibility and allows your workflows to be easily published and shared. Use dxCompiler to compile WDL workflows so that they can be run on the Platform.

Nextflow workflows can be run from the command line in a Cloud Workstation session, or in a Jupyter notebook.

Bash Scripts

Using a Docker image, you can configure and package your Bash script, along with its dependencies and inputs, then run it on the Platform.

Bash scripts can also be run on the Platform using the Cloud Workstation app, which provides command-line access via ssh, or in a Jupyter notebook. To ensure reproducibility of results and make your workflow more easily shareable, convert it to WDL or Nextflow format, before uploading it to the Platform.

Last updated