Add pipeline metro map - #83
Conversation
Add nf-metro diagram showing the full rnadnavar pipeline flow: - 3 lines: DNA (blue), RNA (red), Realignment (gold) - 6 sections: Pre-processing, GATK Preprocessing, Variant Calling, Normalization & Annotation, Consensus & Filtering, Realignment & RNA Filtering - 45 stations covering all pipeline tools from FastQC through MultiQC - SVG rendered with nf-core theme and embedded fonts
Triggers on changes to assets/metro_map.mmd: - On push to dev/master: re-renders SVG and auto-commits if changed - On PR: warns if the SVG is stale (will be updated on merge)
- Remove docs/images/rnadnavar_schemav3.png - Update README.md to reference assets/metro_map.svg
|
fold-threshold 18 was too tight for the 'realign' section's bundle routing. 20 gives the router enough room while keeping the map compact.
Mutect2, Strelka2, and SAGE run in parallel (not serially) in the pipeline. Updated the metro map to fan out from a fork node and converge at a join node before normalization.
Rendered at 2011px wide (down from 3104px) to fit a single screen.
|
I love it <3 |
|
The idea is solid but the mermaid is a bit mangled - converting to draft while I fix. [update] Done |
Split the oversized Consensus/Realignment section into Consensus & Filtering, Realignment, and Reporting so nf-metro auto-folds the chain into a horseshoe (top row L->R, bottom row R->L) that fits a vertical README. Show Mutect2/Strelka2/SAGE as parallel branches. Render at --fold-threshold 15. Generated by Claude Code
|
@adamrtalbot this is AMAZING!!! thank you, looking beautiful. I am doing some edits, will get back to you. |
|
Had a go at some improvements and bug fixes - opened #87 against this branch. Folds the map into a compact layout, fixes the logo path, makes it light/dark adaptive. Note it relies on a few nf-metro fixes that'll be in the next release; the committed SVG is pre-rendered so the README's fine now, and CI re-render will match once nf-metro updates. |
|
This is WOW!! I didn't have time to work on this until now. Thank you both looks great. I just changed a couple of things to dashed so it is clear what is optional and what is the main pipeline. |
RaqManzano
left a comment
There was a problem hiding this comment.
LGTM
I guess we are just waiting for a new release of nf-metro and the tests should work?
Update logo path from non-existent examples/ to docs/images/. nf-metro 1.1.0 errors on missing logo where 1.0.0 ignored it. Generated by Claude Code
My fault, should be fixed now. Check the metro map and make sure you like it. |

Summary
Adds an nf-metro diagram visualizing the full rnadnavar pipeline flow, replaces the old PNG in the README, and adds CI automation to keep the SVG in sync.
Details
The original image didn't look very good on dark mode:
So I decided to try @pinin4fjords's nf-metro and refine it a bit. This should also be straightforward to maintain from a mermaid diagram (code) instead of an image.
assets/metro_map.mmd(nf-metro Mermaid-extended format)assets/metro_map.svg(nf-core dark theme, embedded fonts)Changes
assets/metro_map.mmd— new nf-metro source fileassets/metro_map.svg— rendered SVG (nf-core dark theme, embedded fonts)README.md— replaceddocs/images/rnadnavar_schemav3.pngreference withassets/metro_map.svgdocs/images/rnadnavar_schemav3.png(superseded).github/workflows/metro-map.yml— CI workflow to auto-render the SVG on changesCI Automation (
.github/workflows/metro-map.yml)dev/master: re-renders the SVG fromassets/metro_map.mmdand auto-commits if it changed (with[skip ci])astral-sh/setup-uv+uv tool install nf-metrofor fast, reproducible installsPipeline coverage
6 sections across 2 rows, 45 stations, 75 edges:
Rendering