×

nf-bigbrother @ 1.1.0

Provider: Sami Kharma (Zuse Institute Berlin)
Claimed: 17 Sep 2026 17:09:14 (UTC)
Description: nf-bigbrother is a Nextflow plugin that captures the actual task execution graph (with runtime metrics, CPU, memory, and I/O data) as JSON and Graphviz outputs, complementing Nextflow's abstract `-with-dag` visualization. It's designed for workflow developers and researchers who need to analyze, visualize, or replay real workflow execution patterns in WfCommons format, with tools to generate SVG/PNG graphs and animate execution timelines.
Latest version: 1.1.0
Total downloads: 317 View trends

Summary

Nextflow's own -with-dag gives you the abstract process/channel graph that's known before anything runs. nf-bigbrother records the graph of what actually ran. It appends one JSON line per task to an event log as the run proceeds, and writes a full JSON snapshot plus a matching Graphviz .dot at the end, so the graph is available at every point during the run and not just when it finishes.

The final snapshot is a valid WfCommons WfFormat instance (schemaVersion 1.6):

  • workflow.specification holds the tasks (id, name, parents/children, input/output files) and the files with their sizes.
  • workflow.execution holds per-task runtime, CPU, I/O and memory counters, what each task requested of the scheduler, and the machines they ran on.

Parents and children come from the files: if task A writes a file that task B reads, A is a parent of B.

Get Started

Requires Nextflow 25.10 or newer.

In a pipeline you own, enable the plugin from its nextflow.config:

plugins {
    id 'nf-bigbrother@1.1.0'
}

bigbrother {
    outputDir    = 'bigbrother'   // defaults shown
    emitEvents   = true           // append a JSON line per task to events_*.jsonl
    emitPartials = false          // also write a whole-graph snapshot during the run
    snapshotEvery = 1             // ...every N tasks, when emitPartials is on
    emitDot      = true           // write a .dot beside every json snapshot
    prefix       = ''
}

For a pipeline you only run, an nf-core workflow say, enable the plugin with NXF_PLUGINS_DEFAULT rather than a plugins block:

NXF_PLUGINS_DEFAULT=nf-bigbrother@1.1.0 \
  nextflow run nf-core/demo -r 1.2.0 -profile test,docker --outdir results

Do not reach for -plugins nf-bigbrother@1.1.0, and do not put a plugins block in a -c config. Both replace the pipeline's own plugins declaration rather than adding to it, which silently unpins whatever the pipeline depends on. If you do need the plugin declared in config, restate the pipeline's own plugins alongside it in a single block:

plugins {
    id 'nf-schema@2.7.2'      // whatever the pipeline already pinned
    id 'nf-bigbrother@1.1.0'
}

A run then fills outputDir with events_<name>_<uuid>.jsonl (appended to as it goes), a final complete_<name>_<uuid>.json / .dot, and an error_* snapshot instead if it dies partway.

Examples

Running any pipeline with the plugin enabled produces output including an event log and final JSON snapshot with a matching .dot file. The bundled Python tools turn either that or the event log into visualizations:

tools/bb_dag.py bigbrother/complete_*.json -f svg --metrics -o graph.svg
tools/bb_dag.py bigbrother/events_*.jsonl -f svg -o graph.svg   # same graph
tools/bb_dag.py --watch bigbrother -f svg -o live.svg   # re-render as a run goes

tools/bb_animate.py replays a run into an animation, one frame per task:

tools/bb_animate.py bigbrother -o dag-build.gif --fps 14

A small container-free pipeline under examples/local-pipeline produces a correct graph in a few seconds:

cd examples/local-pipeline
nextflow run main.nf
../../tools/bb_dag.py bb_out/complete_*.json -f png --metrics -o graph.png

The workflow used as the real reference is nf-core/rnaseq on the test profile:

NXF_PLUGINS_DEFAULT=nf-bigbrother@1.1.0 \
  nextflow run nf-core/rnaseq -r 3.21.0 -profile test,docker --outdir results

License

Apache License 2.0. See the COPYING file.

If you are publishing a paper and use this plugin, please consider citing the publication:

@article{kharma2026comprehensive,
  title={Comprehensive Plugin-Based Monitoring of Nexflow Workflow Executions},
  author={Kharma, Sami and Wies, Tobias and Schintke, Florian},
  journal={arXiv preprint arXiv:2603.28783},
  year={2026}
}

What's new

emitPartials defaulted to true up to 1.0.1, which wrote a partial_NNN_*.json after every task. The event log supersedes it, carrying the same information one line per task instead of a full rewrite, so it now defaults to false. Turn it back on if you have tooling that reads the partial files, and use snapshotEvery to thin them out on a large run.

Nextflow version >=25.10.0
Depends On -
Release Date 12 Oct 2026 14:14:07 (UTC)
Release Notes -
Download URL https://registry.nextflow.io/api/v1/plugins/nf-bigbrother/1.1.0/download/nf-bigbrother-1.1.0.zip
Store URL https://public.cr.seqera.io/v2/nextflow/plugin/nf-bigbrother/blobs/sha256:1b4eb0c8517e3ef891a37e36a8626e6f93fd05a1944d38ed306096374aaf66ea
Size 69.9 KB
Checksum 5db4a267aa1e8adb757435d13602ce96f96cdf89ebf60b7c690ab2f0f1f00c65ab17fd5eed0091f31476d3170eccee0ea6811ec3b596d8149e68210766123cae
Total downloads 149 View trends
Security Scan
Version Nextflow version Date Status Downloads
1.1.0 >=25.10.0 12 Oct 2026 14:14:07 (UTC) 149
1.0.1 >=25.10.0 07 Oct 2026 12:13:19 (UTC) 168