Add Nextflow apps through the visual interface

Overview

To run your Nextflow apps at scale using the full potential and benefits of the Seven Bridges execution environment, you can add a Nextflow app to the Seven Bridges Platform by simply uploading a zip file containing your Nextflow app files (code package) to a Platform project. Once uploaded, the app is added to the list of apps in the project can be executed as any other app on the Platform.

Nextflow app (code package) requirements

To make sure that the Nextflow app is properly added to the Platform, make sure that the app's code package meets the following requirements:

  • Contains the nextflow.config file. The profiles section from this file is parsed and used as an input where you can select an appropriate profile when running the app.
  • Has a valid entrypoint. This means that there is either a file named main.nf, or there is only one .nf file at the root of application files in the code package.
  • Contains the nextflow_schema.json file that provides information about app inputs.

The code package can also contain the sb_nextflow_schema.yaml file that provides configuration and optimization parameters specific for the app's execution on the Platform. You may have this file if you already tried to convert and push a Nextflow app to the Platform using the sbpack command-line utility. If sb_nextflow_schema.yaml is available in the code package, the configuration parameters available in it take precedence over the same configuration parameters available in the native Nextflow files listed above.

Adding a Nextflow app

To add a Nextflow app to the Platform through the visual interface, follow the steps below:

  1. Navigate to a project on the Platform.
  2. Open the Apps tab.
  3. Click Create app. This opens the new app creation dialog.
  4. Under Select language, click Nextflow. The code package upload field is displayed.
  5. Browse or drag and drop the code package. The Name field is automatically populated based on your code package name.
  6. (Optional) Modify the app name.
  7. (Optional) Change the app slug.
  8. Click Create. This starts the process of uploading and adding the app to the Platform.

📘

Note:

For the process to complete successfully, keep the window open until upload is completed.

Once everything is completed, you are taken to your app details. To test your app, click Run in the top-right corner. This creates a draft task where you can set your app inputs and run it.

Nextflow app input mapping

When a Nextflow app is added to the Platform, app inputs defined in nextflow_schema.json are represented as corresponding visual elements in the Platform's visual interface. As expected, string inputs are usually represented as text input fields, enum and boolean inputs are dropdowns, etc. There are some specific input mappings related to string fields that you should be aware of:

  • If input type is string and its format is defined as path or file-path, it will be displayed as a file input on the Platform.
  • If input type is string and its format is defined as directory-path, it will be displayed as a directory input on the Platform.

This optimizes the use and visual representation of these inputs, and makes it easier to configure their values compared to their representation as plain string fields.