×

nf-ga4gh @ 1.5.0

Provider: Oregon Health & Science University (Ellrott Lab)
Claimed: 26 Mar 2026 16:42:55 (UTC)
Description: This plugin integrates Nextflow with GA4GH standard APIs, specifically the Task Execution Service (TES) for portable batch task execution and the Data Repository Service (DRS) for accessing scientific data via persistent identifiers. It enables genomic researchers and workflow developers to run Nextflow pipelines on standardized cloud-agnostic infrastructure while seamlessly resolving and accessing distributed data repositories.
Latest version: 1.5.0
Total downloads: 4.1K View trends

Summary

This plugin implements the support for GA4GH APIs for Nextflow.

It currently supports the Task Execution Service (TES) API and the Data Repository Service (DRS) API.

The Task Execution Schema (TES) project by the GA4GH standardization initiative is an effort to define a standardized schema and API for describing batch execution tasks in a portable manner.

The Data Repository Service (DRS) API by the GA4GH standardization initiative provides a generic interface for retrieving scientific data objects (genomic files, etc.) via a persistent, resolvable identifier, regardless of which repository hosts them.

Get Started

To use this plugin, add it to your nextflow.config:

plugins {
    id 'nf-ga4gh'
}

Configure the TES executor:

process.executor = 'tes'

[!NOTE]

While the TES API is designed to abstract workflow managers from direct storage access, Nextflow still needs to access the shared work directory used by your TES endpoint.

For example, if your TES endpoint is located in Azure and uses Azure Blob storage to store the work directory, you still need to provide the necessary Azure credentials for Nextflow to access the Blob storage.

Configuration

plugins {
    id 'nf-ga4gh'
}

process {
    executor = 'tes'
    container = 'quay.io/nextflow/bash'
}

tes {
    // See `Authentication` section
    endpoint = 'http://localhost:8000'

    // Connect/read/write timeout duration (in seconds) to TES endpoint. Default 10s.
    timeout = 30

    // Override the default task polling interval (5s)
    pollInterval = '10s'

    // TES task tags
    tags {
        tag1 = 'abc'
        tag2 = 'xyz'
    }
}

Endpoint

[!TIP]

It is important that the endpoint is specified without the trailing slash; otherwise, the resulting URLs will not be normalized and the requests to TES will fail.

The default endpoint is http://localhost:8000

tes {
    endpoint = '<endpoint>'
}

Authentication

The TES API supports multiple forms of authentication:

Basic

tes {
    basicUsername = '<username>'
    basicPassword = '<password>'
}

API key

tes {
    apiKeyParamMode = '<mode>' // 'query' or 'header'
    apiKeyParamName = '<param-name>'
    apiKey = '<key>'
}

OAuth

tes {
    oauthToken = '<token>'
}

TES Server

You can deploy a local Funnel server using the following commands:

curl -fsSL https://ohsu-comp-bio.github.io/funnel/install.sh | bash

funnel server run

Examples

Using DRS URIs

drs:// URIs can be used directly as process inputs or outputs, without any extra configuration:

workflow {
    align(file("drs://drs.example.org/object-id"))
}

Under the TES executor, the drs:// URI is passed straight through to the TES backend as the task input url — resolution is left entirely to the TES server. For the local executor (or when Nextflow itself needs to read a DRS object, e.g. staging into a shared work directory), the plugin resolves the URI via the standard two-hop DRS protocol and streams the object over HTTPS.

DRS Configuration

drs {
    // Bearer token sent on every DRS request. Takes precedence over
    // username/password if both are set.
    accessToken = '<token>'

    // HTTP Basic auth credentials, for DRS servers that gate access this way
    // instead of (or in addition to) a bearer token.
    username = '<username>'
    password = '<password>'

    // Scheme used to contact the DRS metadata API. Defaults to 'https';
    // set to 'http' to target a plain-HTTP DRS server (e.g. local development).
    metadataScheme = 'https'
}

[!NOTE]

The DRS filesystem is read-only — write operations (newOutputStream, delete, copy, move, etc.) are not supported.

License

Apache License 2.0

Nextflow version >=25.10.0
Depends On -
Release Date 04 Jul 2026 03:08:45 (UTC)
Release Notes https://github.com/nextflow-io/nf-ga4gh/releases/tag/1.5.0
Download URL https://registry.nextflow.io/api/v1/plugins/nf-ga4gh/1.5.0/download/nf-ga4gh-1.5.0.zip
Store URL https://public.cr.seqera.io/v2/nextflow/plugin/nf-ga4gh/blobs/sha256:6dcb8b7e13c91cca2c3a299af009c59158f334b9a71f42a053c9eca265918534
Size 1.5 MB
Checksum 7f0ccbe6d62f9b9eb1d48d2ff64778513f0c5ab13713b1b752eb052652dee465dbb26a3dee3e5b3d6976fe4d64e2675cb3fa6beedba607926d199dd0d3fda992
Total downloads 338 View trends
Security Scan
Version Nextflow version Date Status Downloads
1.5.0 >=25.10.0 04 Jul 2026 03:08:45 (UTC) 338
1.4.2 >=25.10.0 30 Jun 2026 04:30:28 (UTC) 19
1.4.1 >=25.10.0 15 May 2026 18:01:02 (UTC) 310
1.4.0 >=25.10.0 26 Mar 2026 16:43:54 (UTC) 76
1.1.0-patch1 >=23.10.2 28 May 2024 14:09:57 (UTC) 76
1.3.0 >=24.01.0-edge 13 May 2024 09:49:10 (UTC) 1.7K
1.2.0 >=24.01.0-edge 05 Feb 2024 23:26:44 (UTC) 49
1.1.1 >=23.11.0-edge 24 Nov 2023 21:39:43 (UTC) 62
1.1.0 >=23.05.0-edge 22 Jul 2023 16:07:31 (UTC) 147
1.0.6 >=23.05.0-edge 15 May 2023 03:57:19 (UTC) 156
1.0.5 >=21.01.1-edge 13 Apr 2023 14:32:43 (UTC) 389
1.0.4 >=21.01.1-edge 19 Sep 2022 21:15:27 (UTC) 246
1.0.3 >=21.01.1-edge 28 May 2021 14:24:11 (UTC) 247
1.0.2 >=21.01.1-edge 05 Mar 2021 10:52:41 (UTC) 119