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.
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.
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.
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.
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 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.
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.
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 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.