×

nf-fl86 @ 0.2.0

Provider: Quotient Therapeutics (fl86)
Claimed: 14 Aug 2026 15:45:13 (UTC)
Description: `nf-fl86` is a Nextflow plugin that integrates with S3, Fusion, Seqera Platform, and Notion to enforce safe output directory handling and automate workflow metadata management. It prevents accidental overwrites of existing results, preserves file tags during S3 copies, automatically tags resources with project and run information, and can trigger follow-up actions or update external trackers upon workflow completion. Bioinformatics teams and research organizations using Nextflow on cloud infrastructure would use this plugin to ensure reproducible runs, maintain audit trails, and streamline multi-step analysis pipelines.
Latest version: 0.6.4
Total downloads: 996 View trends

Summary

nf-fl86 is a Nextflow plugin that prevents a fresh workflow run from using an output directory that already exists. It uses the legacy params.outdir value when one is provided and otherwise falls back to Nextflow's session.outputDir. The check is skipped only when Nextflow is actually resuming a previous run.

At startup, the plugin also copies the CSV referenced by params.sample_sheet to <outdir>/pipeline_info/sample_sheet.csv. If params.sample_sheet is not set, it falls back to params.input.

After a successful run, the plugin writes workflow metadata to <outdir>/pipeline_info/workflow.json and creates pipeline.complete in the Nextflow work directory.

The plugin can also send non-fatal lifecycle updates to an HTTP endpoint for a Notion-backed run tracker. It sends one update when the workflow begins and a second update only after successful completion.

Get Started

nf-fl86 requires Nextflow 25.10.0 or later. Enable a published release in your pipeline's nextflow.config:

plugins {
    id 'nf-fl86@0.2.0'
}

Run the pipeline with a new output directory. The optional sample sheet is copied into the pipeline metadata directory:

nextflow run hello \
    --outdir 's3://scratch/TEST' \
    --sample_sheet ./sample_sheet.csv

If the output directory belongs to an earlier run that should be resumed, use Nextflow's -resume option. The plugin permits an existing output directory only when the Nextflow session is running in resume mode.

Examples

AWS Secrets Manager

Use getAWSSecret() to retrieve the SecretString value of an AWS Secrets Manager secret:

include { getAWSSecret } from 'plugin/nf-fl86'

workflow {
    def databaseCredentials = getAWSSecret('pipelines/database', 'us-east-1')
}

The region is optional; when omitted, the AWS CLI uses its configured region. The aws command and suitable credentials must be available on the host running Nextflow, with secretsmanager:GetSecretValue permission and, when applicable, kms:Decrypt permission. Avoid logging the returned value or otherwise exposing it in workflow logs and generated command files.

Launch a Seqera workflow

Use call_seqera_action() from a script-level workflow.onComplete handler to launch another workflow using an existing Seqera Action as its template:

include { getAWSSecret; call_seqera_action } from 'plugin/nf-fl86'

workflow {
    // Call processes and compose the workflow here.

    workflow.onComplete = {
        if (workflow.success) {
            def token = getAWSSecret('seqera/platform-token', 'us-east-1')
            def response = call_seqera_action(
                token,
                "${workflow.runName}-follow-up",
                [input: params.outdir],
                'ACTION_ID',      //action id
                '123456789012345' //worspace id
            )
            if (!response) {
                log.warn 'The follow-up workflow was not launched'
            }
        }
    }
}

The function retrieves the Action, removes identifiers that cannot be reused, uses its compute environment, replaces runName, serializes the provided parameter map as paramsText, and submits the resulting launch configuration. The optional sixth argument overrides the default API base https://api.cloud.seqera.io for Seqera Enterprise installations. Pass the workspace ID as a string; convert a numeric value with toString().

Missing tokens, invalid inputs, connection failures, unexpected responses, and non-2xx HTTP responses produce a warning and return an empty map. The access token and API response body are never included in errors or logs. Store the token securely and never provide it as a pipeline parameter.

Notion lifecycle updates

Configure endpoint templates in nextflow.config to update a Notion-backed run tracker automatically:

notion {
    beginning_endpoint = 'https://example.execute-api.us-east-2.amazonaws.com/prod/update-status-to-mapping-underway?ngsrun={NGSRUN}'
    complete_endpoint = 'https://example.execute-api.us-east-2.amazonaws.com/prod/update-status-to-mapped?ngsrun={NGSRUN}&seqeraPlatformUrl={seqeraPlatformUrl}'
}

Use single-quoted endpoint templates so that the plugin, rather than Groovy, replaces the placeholders at runtime:

  • {NGSRUN} is the first value matching NGSRUN\d+ in workflow.runName. For example, NGSRUN123_nxf_mapping_1 becomes NGSRUN123.
  • {seqeraPlatformUrl} is the URL reported by the nf-tower observer. It is available to the successful-completion endpoint and is empty when Platform monitoring is unavailable.

Placeholder values are URL-encoded. Change the query parameter names around the placeholders if the API expects different names.

Each endpoint is optional. The beginning endpoint is called from workflow startup; the completion endpoint is called only when the workflow succeeds. Requests use POST with X-HTTP-Method-Override: PATCH and an empty JSON body. Invalid configuration, missing NGSRUN identifiers, timeouts, connection errors, and non-2xx responses are logged as warnings and do not fail the workflow.

Command-line plugin selection

The plugin can also be selected on the command line instead of in nextflow.config:

nextflow run hello \
    -plugins nf-fl86@0.2.0 \
    --outdir 's3://scratch/TEST' \
    --sample_sheet ./sample_sheet.csv

License

nf-fl86 is licensed under the Apache License 2.0.

Nextflow version >=25.10.0
Depends On -
Release Date 19 Aug 2026 15:41:58 (UTC)
Release Notes -
Download URL https://registry.nextflow.io/api/v1/plugins/nf-fl86/0.2.0/download/nf-fl86-0.2.0.zip
Store URL https://public.cr.seqera.io/v2/nextflow/plugin/nf-fl86/blobs/sha256:9011c42b636400496ccc6f7405ecfba931e1d12baf02bd68d03dec4bf0d9a068
Size 50.1 KB
Checksum 6579652228efcf9d8a79bf42511aa95ded513d00e34bf1e92cd7c9ed597ffd74d8ff7672695fe6be2a36a20add59e715a782096f9b429642688fa73ebf648db9
Total downloads 109 View trends
Security Scan
Version Nextflow version Date Status Downloads
0.6.4 >=25.10.0 18 Sep 2026 11:43:45 (UTC) 93
0.6.3 >=25.10.0 17 Sep 2026 19:58:01 (UTC) 34
0.6.2 >=25.10.0 17 Sep 2026 18:30:37 (UTC) 32
0.6.1 >=25.10.0 17 Sep 2026 14:40:32 (UTC) 38
0.6.0 >=25.10.0 17 Sep 2026 13:05:43 (UTC) 32
0.5.1 >=25.10.0 16 Sep 2026 14:24:10 (UTC) 35
0.5.0 >=25.10.0 09 Sep 2026 14:49:37 (UTC) 57
0.4.0 >=25.10.0 09 Sep 2026 14:07:16 (UTC) 52
0.3.3 >=25.10.0 23 Aug 2026 19:41:51 (UTC) 103
0.3.2 >=25.10.0 23 Aug 2026 19:10:43 (UTC) 99
0.3.1 >=25.10.0 23 Aug 2026 18:29:23 (UTC) 99
0.3.0 >=25.10.0 23 Aug 2026 17:36:48 (UTC) 100
0.2.0 >=25.10.0 19 Aug 2026 15:41:58 (UTC) 109
0.1.0 >=25.10.0