{"id":39492093,"url":"https://github.com/openomics/snakevision","last_synced_at":"2026-05-02T21:07:07.683Z","repository":{"id":207844289,"uuid":"719368540","full_name":"OpenOmics/snakevision","owner":"OpenOmics","description":"An awesome tool to visualize snakemake rule graphs","archived":false,"fork":false,"pushed_at":"2025-03-26T15:35:49.000Z","size":44,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T16:36:57.457Z","etag":null,"topics":["dag","dagviz","dot-graphics","networkx","rulegraph","snakemake","visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenOmics.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-11-16T02:33:50.000Z","updated_at":"2025-03-26T15:35:53.000Z","dependencies_parsed_at":"2023-11-18T00:07:17.050Z","dependency_job_id":"d1231eb6-e3b5-423c-a33e-103f621e16d0","html_url":"https://github.com/OpenOmics/snakevision","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"5cec7651d622f6067fd6379d8bf9e17b18080a8f"},"previous_names":["openomics/snakevision"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/OpenOmics/snakevision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenOmics%2Fsnakevision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenOmics%2Fsnakevision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenOmics%2Fsnakevision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenOmics%2Fsnakevision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenOmics","download_url":"https://codeload.github.com/OpenOmics/snakevision/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenOmics%2Fsnakevision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28531005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dag","dagviz","dot-graphics","networkx","rulegraph","snakemake","visualization"],"created_at":"2026-01-18T05:37:14.324Z","updated_at":"2026-05-02T21:07:07.675Z","avatar_url":"https://github.com/OpenOmics.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n   \n  \u003ch1\u003esnakevision 🐍\u003c/h1\u003e\n  \n  **_An awesome tool to visualize Snakemake DAGs_**\n\n[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.18988674-blue)](https://doi.org/10.5281/zenodo.18988674)\n[![GitHub release (latest SemVer including pre-releases)](https://img.shields.io/github/v/release/OpenOmics/snakevision?color=blue\u0026include_prereleases)](https://github.com/OpenOmics/snakevision/releases)\u003cbr\u003e\n[![tests](https://github.com/OpenOmics/snakevision/actions/workflows/testing.yaml/badge.svg)](https://github.com/OpenOmics/snakevision/actions/workflows/testing.yaml)\n[![GitHub issues](https://img.shields.io/github/issues/OpenOmics/snakevision?color=brightgreen)](https://github.com/OpenOmics/snakevision/issues)\n[![GitHub license](https://img.shields.io/github/license/OpenOmics/snakevision)](https://github.com/OpenOmics/snakevision/blob/main/LICENSE)\n\n\u003c/div\u003e\n\n## Overview\n\nWelcome to snakevision! Before getting started, we highly recommend reading through our documentation below.\n\n**`./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](https://graphviz.org/), getting started with `snakevision` should be a breeze.\n\n## Examples\n\nHere are a few Snakemake rule graphs rendered by snakevision. These DAGs come from different pipelines available from [OpenOmics](https://github.com/OpenOmics).\n\n\u003cp float=\"left\"\u003e\n    \u003cimg src=\"./examples/genome-seek_dag.svg\" alt=\"example_genome_snakevision_dag\" width=\"35%\"\u003e\n    \u003cimg src=\"./examples/rna-seek_dag_animated.svg\" alt=\"example_rna_snakevision_dag\" width=\"63%\"\u003e\n    \u003csup\u003e\u003cb\u003eLeft:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of the whole genome sequencing pipeline, \u003ca href=\"https://github.com/OpenOmics/genome-seek\"\u003egenome-seek\u003c/a\u003e.\u003cbr\u003e\u003cb\u003eRight:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of the \u003ca href=\"https://github.com/OpenOmics/RNA-seek\"\u003erna-seek\u003c/a\u003e pipeline.\u003c/sup\u003e\n\u003c/p\u003e\u003cbr\u003e\n\n\u003cp float=\"left\"\u003e\n    \u003cimg src=\"./examples/modr_dag.svg\" alt=\"example_ont_snakevision_dag\" width=\"39%\"\u003e\n    \u003cimg src=\"./examples/metavirs_dag.svg\" alt=\"example_viral_snakevision_dag\" width=\"58%\"\u003e\n    \u003csup\u003e\u003cb\u003eLeft:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of our Oxford Nanopore direct RNA-sequencing pipeline, \u003ca href=\"https://github.com/OpenOmics/modr\"\u003emodr\u003c/a\u003e.\u003cbr\u003e\u003cb\u003eRight:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of our viral metagenomics pipeline, \u003ca href=\"https://github.com/OpenOmics/metavirs\"\u003emetavirs\u003c/a\u003e.\u003c/sup\u003e\n\u003c/p\u003e\u003cbr\u003e\n\n\u003cp float=\"left\"\u003e\n    \u003cimg src=\"./examples/chip_dag.svg\" alt=\"example_chrom_chip_snakevision_dag\" width=\"49%\"\u003e\n    \u003cimg src=\"./examples/atac_dag.svg\" alt=\"example_chrom_atac_snakevision_dag\" width=\"49%\"\u003e\n    \u003csup\u003e\u003cb\u003eLeft:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of our ChIP-seq pipeline, \u003ca href=\"https://github.com/OpenOmics/chrom-seek\"\u003echrom-seek run with the \u003ccode\u003e--assay chip\u003c/code\u003e option\u003c/a\u003e.\u003cbr\u003e\u003cb\u003eRight:\u003c/b\u003e A snakevision rule graph of a slimmed-down version of our bulk ATAC-seq pipeline, \u003ca href=\"https://github.com/OpenOmics/chrom-seek\"\u003echrom-seek run with the \u003ccode\u003e--assay atac\u003c/code\u003e option\u003c/a\u003e.\u003c/sup\u003e\n\u003c/p\u003e\n\n## Dependencies\n\n**Requires:** `snakemake` `python\u003e=3.7`\n\nAt the current moment, the tool is designed to visualize rule graphs of existing snakemake pipelines. As so, [Snakemake\u003csup\u003e1\u003c/sup\u003e](https://snakemake.readthedocs.io/en/stable/) 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.\n\nPlease follow the instructions directly below to install snakevision on your local system.\n\n## Installation\n\n### PyPi\n\nSnakevision is available on PyPi and can be installed using pip:\n\n```bash\n# Install directly from PyPi\n# Create a python virtual environment\npython3 -m venv .env\n# Activate the virtual environment\nsource .env/bin/activate\n# Install required snakevision and its\n# required python packages\npip install -U pip\npip install snakevision\n```\n\n### Github\n\nSnakevision is available on Github and can be installed using pip:\n\n```bash\n# Clone Repository from Github\ngit clone https://github.com/OpenOmics/snakevision.git\n# Change your working directory\ncd snakevision/\n# Create a python virtual environment\npython3 -m venv .env\n# Activate the virtual environment\nsource .env/bin/activate\n# Install required snakevision and its\n# required python packages\npip install -U pip\npip install -e .\n```\n\n## Getting Started\n\nSnakevision 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.\n\n### Basic example\n\nHere’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](https://snakemake.readthedocs.io).\n\n```bash\n# Create a input file for snakevision\nsnakemake  --configfile=$pipeline_outdir/config.json \\\n    -s $pipeline_outdir/workflow/Snakefile \\\n    -d $pipeline_outdir \\\n    --forceall \\\n    --rulegraph \\\n\u003e pipeline_rulegraph.dot\n\n# Run snakevision, do not include\n# rule all and multiqc in the image,\n# makes final image less cluttered\nsnakevision \\\n    -s all mutliqc \\\n    -o pipeline_rulegraph.svg \\\n    pipeline_rulegraph.dot\n```\n\n### Customize DAG\n\nSnakevision provides a few options to customize the style of the DAG output.\nYou can specify these options using the `-y` or `--styles` flag followed by the key-value pairs.\nUse `-y` multiple times to specify multiple style attributes.\nFor example, you can change the size of the nodes and edges in the DAG by using the following command:\n\n```bash\nsnakevision \\\n    -y node_radius=10.0 \\\n    -y edge_stroke_width=8.0 \\\n    -o pipeline_rulegraph.svg \\\n    pipeline_rulegraph.dot\n```\n\n### Run with example rulegraphs\n\nIn 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.\n\n```bash\nsnakevision \\\n  -y node_radius=10 \\\n  -s all rnaseq_multiqc \\\n  -o rnaseq_rulegraph.svg \\\n  examples/rna-seek_rulegraph.dot\n```\n\nFor the full list of available options, run `snakevision -h`.\n\n## Contribute\n\nThis 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](https://github.com/OpenOmics/snakevision).\n\n## Cite\n\nIf you use this software, please cite it as below:\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003e\u003ci\u003e@BibText\u003c/i\u003e\u003c/b\u003e\u003c/summary\u003e\n \n```text\n@software{kuhn_2026_18988675,\n  author       = {Kuhn, Skyler and\n                  Jahn, Michael},\n  title        = {OpenOmics/snakevision: v1.0.0},\n  month        = mar,\n  year         = 2026,\n  publisher    = {Zenodo},\n  version      = {v1.0.0},\n  doi          = {10.5281/zenodo.18988674},\n  url          = {https://doi.org/10.5281/zenodo.18988674},\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003e\u003ci\u003e@APA\u003c/i\u003e\u003c/b\u003e\u003c/summary\u003e\n\n```text\nKuhn, S., \u0026 Jahn, M. (2026). OpenOmics/snakevision: v1.0.0 (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.18988674\n```\n\n\u003c/details\u003e\n\n## References\n\n\u003csup\u003e**1.** Koster, J. and S. Rahmann (2018). \"Snakemake-a scalable bioinformatics workflow engine.\" Bioinformatics 34(20): 3600.\u003c/sup\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenomics%2Fsnakevision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenomics%2Fsnakevision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenomics%2Fsnakevision/lists"}