⚠️ 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
-
A community effort to collect a curated set of analysis pipelines built using Nextflow.
-
A minimal Nextflow workflow for testing infrastructure.
-
A curated collection of Nextflow implementation patterns