Snk
Snk: A Snakemake CLI and Workflow Management System - Published in JOSS (2024)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
2 of 6 committers (33.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
Snakemake workflow management system and CLI generation tool
Basic Info
- Host: GitHub
- Owner: Wytamma
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://snk.wytamma.com
- Size: 1.61 MB
Statistics
- Stars: 59
- Watchers: 3
- Forks: 3
- Open Issues: 8
- Releases: 63
Metadata Files
README.md
Snk
Documentation: https://snk.wytamma.com
Source Code: https://github.com/Wytamma/snk
Paper: https://joss.theoj.org/papers/10.21105/joss.07410
Snk (pronounced snek) is a Snakemake workflow management system. Snk allows you to install Snakemake workflows as dynamically generated Command Line Interfaces (via snk-cli). Using a workflow as a CLI increases its interoperability and allows complex workflows to be used as modular components in a larger system.
Installation
From bioconda:
console
conda create -n snk bioconda::snk
From PyPI:
console
pip install snk
Basic Use
Install a workflow as a CLI
The snk install command can be use to install Snakemake workflows as CLIs. Snk can install Snakemake workflows from GitHub repos or local paths.
bash
snk install wytamma/snk-basic-pipeline
Successfully installed snk-basic-pipeline (ff034f1b)!
The snk install command is flexible and can be used to install diverse workflows. For example, the dna-seq-gatk-variant-calling workflow (v2.1.1) as variant-calling with Snakemake v8.10.8 and Pandas and NumPy dependency. An index of publicly available Snakemake workflows can be found on the snakemake workflow catalog.
snk install \
snakemake-workflows/dna-seq-gatk-variant-calling \
--name variant-calling \
--snakemake 8.10.8 \
-d pandas==1.5.3 \
-d numpy==1.26.4 \
-t v2.1.1
Successfully installed variant-calling (v2.1.1)!
Manage Installed Workflows
You can list installed workflows with snk list and uninstall them with snk uninstall.
bash
snk list
| Workflow | Version |
| --- | --- |
| snk-basic-pipeline | ff034f1b |
| variant-calling | v2.1.1 |
bash
snk uninstall snk-basic-pipeline
Successfully uninstalled snk-basic-pipeline!
Inspect the CLI
Snk will automatically create a fully featured CLI for the Snakemake workflow using snk-cli.
[!note] For more details on the CLI created by
snkread the snk-cli docs
variant-calling --help
View run options
Workflow configuration options are automatically generated from the snakemake config file.
variant-calling run --help
Create a DAG
Here we use the .test resources included in the workflow to create the DAG (requires graphviz).
bash
variant-calling run -r .test/config -r .test/data --dag dag.pdf
Configure
Snk will dynamically generate config options for the CLI. For example if the config.yaml file has the option samples: config/samples.tsv you can set this option with the --samples flag.
bash
variant-calling run --samples new.tsv
You can also configure the workflow using a config file.
bash
variant-calling config --pretty # print the config
variant-calling config > config.yml # save the config
variant-calling run --config config.yml # run with config
Documentation
Read the documentation for more information.
License
snk is distributed under the terms of the MIT license.
Citation
If you use snk in an academic setting then please cite the following article:
- Wirth, Wytamma, Simon Mutch, and Robert Turnbull. “Snk: A Snakemake CLI and Workflow Management System.” Journal of Open Source Software 9, no. 103 (2024): 7410. DOI: 10.21105/joss.07410.
In BibTeX format:
@article{Wirth2024,
doi = {10.21105/joss.07410},
year = {2024},
publisher = {The Open Journal},
volume = {9},
number = {103},
pages = {7410},
author = {Wytamma Wirth and Simon Mutch and Robert Turnbull},
title = {Snk: A Snakemake CLI and Workflow Management System},
journal = {Journal of Open Source Software}
}
Owner
- Name: Wytamma Wirth
- Login: Wytamma
- Kind: user
- Location: Australia
- Website: http://www.wytamma.com/
- Repositories: 12
- Profile: https://github.com/Wytamma
Technically a biologist
JOSS Publication
GitHub Events
Total
- Create event: 7
- Release event: 3
- Issues event: 24
- Watch event: 26
- Delete event: 2
- Issue comment event: 23
- Push event: 65
- Pull request event: 14
- Fork event: 3
Last Year
- Create event: 7
- Release event: 3
- Issues event: 24
- Watch event: 26
- Delete event: 2
- Issue comment event: 23
- Push event: 65
- Pull request event: 14
- Fork event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Wytamma Wirth | w****h@m****m | 537 |
| Robert Turnbull | r****l@u****u | 7 |
| John Huddleston | h****j@g****m | 3 |
| Daniel S. Katz | d****z@i****g | 2 |
| Katherine Eaton | k****n@g****m | 1 |
| Robert Turnbull | r****l@r****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 83
- Total pull requests: 16
- Average time to close issues: 3 months
- Average time to close pull requests: about 17 hours
- Total issue authors: 13
- Total pull request authors: 5
- Average comments per issue: 1.08
- Average comments per pull request: 0.31
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 16
- Pull requests: 7
- Average time to close issues: 13 days
- Average time to close pull requests: 1 day
- Issue authors: 6
- Pull request authors: 4
- Average comments per issue: 1.44
- Average comments per pull request: 0.29
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Wytamma (63)
- huddlej (5)
- cmeesters (3)
- beardymcjohnface (2)
- ammaraziz (1)
- johnne (1)
- Andyargueasae (1)
- lerminin (1)
- Kobie-Kirven (1)
- ConnorChato (1)
Pull Request Authors
- Wytamma (15)
- huddlej (4)
- rbturnbull (2)
- danielskatz (2)
- ktmeaton (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 195 last-month
- Total dependent packages: 5
- Total dependent repositories: 1
- Total versions: 77
- Total maintainers: 1
pypi.org: snk
- Documentation: https://github.com/wytamma/snk#readme
- License: MIT
-
Latest release: 0.31.1
published about 1 year ago
