No project description provided
Project description
SNK (Snek)
Documentation: https://snk.wytamma.com
Source Code: https://github.com/Wytamma/snk
Snk (pronounced snek) is a SNaKemake pipeline management system. Snk allows you to install Snakemake pipelines as Command Line Interfaces (CLIs). Using a pipeline as a CLI increases its interoperability and allows complex pipelines to be used as modular components in a larger system. Snk, using python magic, will dynamic genrate the pipeline CLI using the pipeline configuration file.
Installation
pip install snk
Basic Use
Install a pipeline as a CLI
Install the dna-seq-gatk-variant-calling pipeline (v2.1.1) as variant-calling
.
snk install snakemake-workflows/dna-seq-gatk-variant-calling --name variant-calling -t v2.1.1
Successfully installed variant-calling (v2.1.1)!
Inspect the CLI
variant-calling --help
View run options
variant-calling run -h
Create a DAG
Here we use the .test
resources included in the pipeline to create the DAG.
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 your config.yaml file has the option fasta: null
you can set this option with --fasta
.
variant-calling run --fasta example.fa
You can also configure the pipeline using a config file.
variant-calling config --pretty # print the config
variant-calling config > config.yml # save the config
variant-calling run --config config.yml # run with config
how it works
When installing a pipeline snk will
- create directory
$PYTHON_BIN_DIR/../snk/pipelines/PIPELINE
- install the pipeline into this directory
- expose CLI at
$PYTHON_BIN_DIR
that point to pipeline directory insnk/pipelines/PIPELINE/bin
- As long as
$PYTHON_BIN_DIR
is on your PATH, you can now invoke the pipeline globally
License
snk
is distributed under the terms of the MIT license.
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.