A tool to visualize Snakemake workflows.
Project description
Overview
Welcome to snakevision! Before getting started, we highly recommend reading through our documentation below.
./snakevision provides a simplified command-line interface to visualize Snakemake DAGs or rule graphs. If you are familiar with other existing tools to visualize DAGs like graphviz, getting started with snakevision should be a breeze.
Examples
Here are a few Snakemake rule graphs rendered by snakevision. These DAGs come from different pipelines available from OpenOmics.
Left: A snakevision rule graph of a slimmed-down version of the whole genome sequencing pipeline, genome-seek.
Right: A snakevision rule graph of a slimmed-down version of the rna-seek pipeline.
Left: A snakevision rule graph of a slimmed-down version of our Oxford Nanopore direct RNA-sequencing pipeline, modr.
Right: A snakevision rule graph of a slimmed-down version of our viral metagenomics pipeline, metavirs.
Left: A snakevision rule graph of a slimmed-down version of our ChIP-seq pipeline, chrom-seek run with the
--assay chip option.
Right: A snakevision rule graph of a slimmed-down version of our bulk ATAC-seq pipeline, chrom-seek run with the --assay atac option.
Dependencies
Requires: snakemake python>=3.7
At the current moment, the tool is designed to visualize rule graphs of existing snakemake pipelines. As so, Snakemake1 and any dependencies of the pipeline should be installed on the target system. This tool relies on a few 3rd-party pypi python packages which can be installed via pip.
Please follow the instructions directly below to install snakevision on your local system.
Installation
PyPi
Snakevision is available on PyPi and can be installed using pip:
# Install directly from PyPi
# Create a python virtual environment
python3 -m venv .env
# Activate the virtual environment
source .env/bin/activate
# Install required snakevision and its
# required python packages
pip install -U pip
pip install snakevision
Github
Snakevision is available on Github and can be installed using pip:
# Clone Repository from Github
git clone https://github.com/OpenOmics/snakevision.git
# Change your working directory
cd snakevision/
# Create a python virtual environment
python3 -m venv .env
# Activate the virtual environment
source .env/bin/activate
# Install required snakevision and its
# required python packages
pip install -U pip
pip install -e .
Getting Started
Snakevision can read an input snakemake rulegraph via an input file or via standard input directly from a pipe. To create an input rule graph to the snakevision, please run snakemake with the --rulegraph and --forceall options.
Basic example
Here’s a basic example showing how to generate a rule graph for a Snakemake workflow and visualize it with snakevision. For details on creating rule graphs, see the Snakemake documentation.
# Create a input file for snakevision
snakemake --configfile=$pipeline_outdir/config.json \
-s $pipeline_outdir/workflow/Snakefile \
-d $pipeline_outdir \
--forceall \
--rulegraph \
> pipeline_rulegraph.dot
# Run snakevision, do not include
# rule all and multiqc in the image,
# makes final image less cluttered
snakevision \
-s all mutliqc \
-o pipeline_rulegraph.svg \
pipeline_rulegraph.dot
Customize DAG
Snakevision provides a few options to customize the style of the DAG output.
You can specify these options using the -y or --styles flag followed by the key-value pairs.
Use -y multiple times to specify multiple style attributes.
For example, you can change the size of the nodes and edges in the DAG by using the following command:
snakevision \
-y node_radius=10.0 \
-y edge_stroke_width=8.0 \
-o pipeline_rulegraph.svg \
pipeline_rulegraph.dot
Run with example rulegraphs
In the examples/ folder, there are a few example .dot input files that you can use to get started. These input files are generated from a slimmed-down version of the pipelines available from OpenOmics, and they are included in this repository for demonstration and testing purposes.
snakevision \
-y node_radius=10 \
-s all rnaseq_multiqc \
-o rnaseq_rulegraph.svg \
examples/rna-seek_rulegraph.dot
For the full list of available options, run snakevision -h.
Contribute
This site is a living document, created for and by members like you. snakevision is maintained by the members of OpenOmics and is improved by continuous feedback! We encourage you to contribute new content and make improvements to existing content via pull requests to our GitHub repository.
Cite
If you use this software, please cite it as below:
@BibText
@software{kuhn_2026_18988675,
author = {Kuhn, Skyler and
Jahn, Michael},
title = {OpenOmics/snakevision: v1.0.0},
month = mar,
year = 2026,
publisher = {Zenodo},
version = {v1.0.0},
doi = {10.5281/zenodo.18988674},
url = {https://doi.org/10.5281/zenodo.18988674},
}
@APA
Kuhn, S., & Jahn, M. (2026). OpenOmics/snakevision: v1.0.0 (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.18988674
References
1. Koster, J. and S. Rahmann (2018). "Snakemake-a scalable bioinformatics workflow engine." Bioinformatics 34(20): 3600.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snakevision-1.1.0.tar.gz.
File metadata
- Download URL: snakevision-1.1.0.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bb8d4a74511533725a011b5f3f5d354f0fceed3e632e28a8c510e4b2934bcf4
|
|
| MD5 |
b6f0e9f168fb1022e4a2977fef1e51d0
|
|
| BLAKE2b-256 |
dab6f969137007120804e80eddb80b21cddce7dcad53ed67d506d8c2a5e25f58
|
Provenance
The following attestation bundles were made for snakevision-1.1.0.tar.gz:
Publisher:
publish-pypi.yaml on OpenOmics/snakevision
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snakevision-1.1.0.tar.gz -
Subject digest:
0bb8d4a74511533725a011b5f3f5d354f0fceed3e632e28a8c510e4b2934bcf4 - Sigstore transparency entry: 1429602982
- Sigstore integration time:
-
Permalink:
OpenOmics/snakevision@b41bd98b5448b124d0cc4d7f8c4c94d079939555 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/OpenOmics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@b41bd98b5448b124d0cc4d7f8c4c94d079939555 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file snakevision-1.1.0-py3-none-any.whl.
File metadata
- Download URL: snakevision-1.1.0-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c777cb72de65966189edeb0f3db2682d4d3d4753250ca5198ba60a00ec562a4
|
|
| MD5 |
3e21b862ffdd9c968be74e2b2b1c1209
|
|
| BLAKE2b-256 |
6eab140d52d7194baf37f92909e92c8b4d6b1dea7ac7498bbdaa4ecc5691a9d1
|
Provenance
The following attestation bundles were made for snakevision-1.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yaml on OpenOmics/snakevision
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snakevision-1.1.0-py3-none-any.whl -
Subject digest:
2c777cb72de65966189edeb0f3db2682d4d3d4753250ca5198ba60a00ec562a4 - Sigstore transparency entry: 1429602994
- Sigstore integration time:
-
Permalink:
OpenOmics/snakevision@b41bd98b5448b124d0cc4d7f8c4c94d079939555 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/OpenOmics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@b41bd98b5448b124d0cc4d7f8c4c94d079939555 -
Trigger Event:
workflow_dispatch
-
Statement type: