nf-seqlab-progress @ 0.1.0
Summary
nf-seqlab-progress adds an automatic, hierarchical progress dashboard to nf-seqlab. It combines Nextflow task lifecycle events with structured progress snapshots from native tools to show:
- the current pipeline stage;
- completed source files and total source files;
- active files, phases, and within-file percentages;
- cached, retried, failed, and indeterminate work.
The compact nf-seqlab wordmark and dashboard appear automatically in an interactive terminal. Redirected output, CI, and agent environments receive immutable plain-text status lines instead of cursor control sequences.
Get Started
Pin the plugin in nextflow.config:
plugins {
id 'nf-seqlab-progress@0.1.0'
}
Import its registration functions in the pipeline entry point:
include {
registerProgressInputs
registerProgressStages
} from 'plugin/nf-seqlab-progress'
No wrapper command or separate progress process is required. A normal nextflow run uses the animated dashboard when the terminal supports it.
Examples
Register the complete source-file set before launching tasks, then map process names to user-facing stages:
workflow {
registerProgressInputs([
[file_id: 'chr1', path: '/data/chr1.vcf.gz'],
[file_id: 'chr22', path: '/data/chr22.vcf.gz'],
])
registerProgressStages(
[
[id: 'build_svar2', label: 'Build SVAR2', file_ids: ['chr1', 'chr22']],
[id: 'build_gvl', label: 'Build GVL', file_ids: ['chr22']],
],
[
[process: 'SEQLAB_BUILD_SVAR2', stage: 'build_svar2', completion_boundary: true],
[process: 'SEQLAB_NORMALIZE', stage: 'build_gvl', completion_boundary: 'parent'],
[process: 'SEQLAB_BUILD_GVL', stage: 'build_gvl', completion_boundary: true],
],
)
}
Normal nf-seqlab modules participate automatically when their TaskRun context contains a meta map. File identity resolves from meta.file_id ?: meta.id, and parent identity resolves from meta.parent_file_id ?: meta.parent_id ?: fileId. Optional managed environment inputs remain authoritative when a process provides them directly.
Native snapshot producers export managed values inside their scripts. These shell-local exports are consumed by the producer, while the observer derives the same task ID from the Nextflow work directory:
script:
"""
export NF_SEQLAB_PROGRESS_FILE_ID="${meta.file_id}"
export NF_SEQLAB_PROGRESS_PARENT_FILE_ID="${meta.parent_file_id ?: meta.file_id}"
export NF_SEQLAB_PROGRESS_TASK_ID="\$(basename "\$(dirname "\$PWD")")/\$(basename "\$PWD")"
export NF_SEQLAB_PROGRESS_ATTEMPT="${task.attempt}"
"""
Native tools atomically replace .nf-seqlab-progress.json in the task work directory. A valid snapshot uses the versioned protocol:
{
"schema": "nf-seqlab.progress/v1",
"run_id": "focused-curie",
"stage_id": "build_svar2",
"process": "SEQLAB_BUILD_SVAR2",
"file_id": "chr22",
"parent_file_id": "chr22",
"task_id": "ed/89cec8...",
"attempt": 1,
"state": "running",
"phase": "read",
"completed": 4409063557,
"total": 44090635573,
"unit": "compressed_bytes",
"percent": 10.0,
"message": "Reading variants",
"updated_at": "2026-07-15T03:34:00Z"
}
License
Apache License 2.0. See COPYING.
| Nextflow version | >=25.10.4 |
|---|---|
| Depends On | - |
| Release Date | 21 Jul 2026 20:48:29 (UTC) |
| Release Notes | https://github.com/standardmodelbio/nf-seqlab-progress/releases/tag/0.1.0 |
| Download URL | https://registry.nextflow.io/api/v1/plugins/nf-seqlab-progress/0.1.0/download/nf-seqlab-progress-0.1.0.zip |
| Store URL | https://public.cr.seqera.io/v2/nextflow/plugin/nf-seqlab-progress/blobs/sha256:4ddd28eb924daf8afd543e4dca6904778d7b502ab461d936970eeed0dcb9f8c8 |
| Size | 183.8 KB |
| Checksum | e7fcdd1646c68f0c48b229ba605b8daf66c116690e483aab93d83e079286d0f12bbf8f30427202cb0d5f81b47f6a4531cb662129d1b94a6f0813053ec33c8546 |
| Total downloads | 4.1K View trends |
| Security Scan |
| Version | Nextflow version | Date | Status | Downloads |
|---|---|---|---|---|
| 0.1.0 | >=25.10.4 | 21 Jul 2026 20:48:29 (UTC) | 4.1K |