⚠️ Nextflow support is currently in development and requires a few additional steps to run which are included below.

Nextflow

Nextflow is a workflow engine with a rich ecosystem of pipelines centered around biological analysis.

Nextflow enables scalable and reproducible scientific workflows using software containers. It allows the adaptation of pipelines written in the most common scripting languages.

Its fluent DSL simplifies the implementation and the deployment of complex parallel and reactive workflows on clouds and clusters.

Since Nextflow includes support for the TES API, it can be used in conjunction with Funnel to run tasks or to interact with a common TES endpoint.

Getting Started

To set up Nextflow to use Funnel as the TES executor, run the following steps:

1. Install Nextflow

Adapted from the Nextflow Documentation

a. Install Nextflow:

curl -s https://get.nextflow.io | bash

This will create the nextflow executable in the current directory.

b. Make Nextflow executable:

chmod +x nextflow

c. Move Nextflow into an executable path:

sudo mv nextflow /usr/local/bin

d. Confirm that Nextflow is installed correctly:

nextflow info

2. Update Nextflow Config

Add the following to your nextflow.config in order to use the GA4GH TES plugin:

cat <<EOF >> nextflow.config
plugins {
  id 'nf-ga4gh'
}

process.executor = 'tes'
tes.endpoint = 'http://localhost:8000'   # <--- Funnel's default address 
EOF

3. Start the Funnel Server

Start the Funnel server:

funnel server run

4. Run Nextflow

In another window, run the workflow:

nextflow run main.nf -c nextflow.config

Additional Resources