nf-metro
nf-metro generates transit-style SVG diagrams from Mermaid definitions using %%metro directives. Like a real metro map, the layout isn't necessarily geographic, nor a verbatim trace of every step. Use it to convey what a workflow means scientifically, not just what it runs, with every line, colour, and position a deliberate choice. A natural fit for nf-core and other Nextflow pipelines.
Install
nf-metro is a Python package. Pick your channel - it requires Python 3.10+.
Install the latest release from PyPI.
pip install nf-metroInstall from the Bioconda channel.
conda install bioconda::nf-metroPull a pre-built container from Seqera Containers.
docker pull community.wave.seqera.io/library/pip_nf-metro:611b1ba39c6007f1
Quick start
Render, validate, and inspect a .mmd file. The CLI reference documents every flag.
# Render a .mmd definition into a standalone SVG metro map nf-metro render examples/simple_pipeline.mmd -o pipeline.svg # Check a file for errors without producing any output nf-metro validate examples/simple_pipeline.mmd # Print the parsed structure: sections, lines, stations, edges nf-metro info examples/simple_pipeline.mmd # Or emit a self-contained interactive HTML page (pan, zoom, line isolation) nf-metro render examples/simple_pipeline.mmd --format html -o pipeline.html
Go further
Write metro maps →
From a minimal example to multi-section pipelines with custom grid layouts.
Embed maps →
Drop a rendered map into a docs site, dashboard, or app - with responsive sizing and live progress.
Browse the gallery →
Rendered examples covering fan-outs, folds, diamonds, and realistic bioinformatics workflows.
nf-core pipelines →
Real-world pipelines rendered with nf-metro, maintained alongside their source.