snaketools 0.0.8
Small library of helper tools for setting up, graphing, and working with Snakemake rules.
License: MIT license
Keywords: snaketools

==========
SnakeTools
==========


.. image:: https://img.shields.io/pypi/v/snaketools.svg
        :target: https://pypi.python.org/pypi/snaketools

.. image:: https://img.shields.io/travis/xguse/snaketools.svg?style=flat-square
   :target: https://travis-ci.org/xguse/snaketools

.. image:: https://readthedocs.org/projects/snaketools/badge/?version=latest
        :target: https://snaketools.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://coveralls.io/repos/github/xguse/snaketools/badge.svg?branch=master
        :target: https://coveralls.io/github/xguse/snaketools?branch=master
        :alt: Test Coverage Status


.. image:: https://pyup.io/repos/github/xguse/snaketools/shield.svg
     :target: https://pyup.io/repos/github/xguse/snaketools/
     :alt: Updates


Small library of helper tools for setting up, graphing, and working with Snakemake rules.


* Free software: MIT license
* Documentation: https://snaketools.readthedocs.io.


Features
--------

- ``SnakeRun`` object to initialize and manage information common to the whole run, such as:
    - a copy of the config values from the config file provided to ``snakemake``.
    - a place to store global variables needed throughout the run.
    - more

- ``SnakeRule`` object to manage the initialization and deployment of rule-specific information including:
    - the rule name
    - a default out directory deduced from the SnakeRun object
    - a default log file path
    - a "pretty name" for the rule to be displayed in the DAG graphs.
    - attributes that store the input, output, and params values for later use.
    - a copy of the values specific to this rule from the original configuration file.
    - more

- ``recode_graph`` function that cleans up the default output of ``snakemake --dag`` and allows the use of pretty names stored in the ``SnakeRule`` objects.

Credits
---------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


**********
Change Log
**********

v0.0.8 / 2018-06-08
===================

  * stopped using pinned versions.

v0.0.7 / 2017-12-18
===================

  * change pyup check to monthly
  * update reqs from PYUP
  * snaketools: SnakeRule now registers with SnakeRun
  * snaketools: added attr SnakeRule.extra for more params
  * snaketools: added attr SnakeRun.rules
  * snaketools: use __all__ for importing from file
  * update makefile
  * update reqs

v0.0.6 / 2017-10-26
===================

  * added rewrite_snakefile_no_rules()
  * flake8
  * requirements.txt: removed dev-reqs
  * requirements.txt: pinned flake8
  * setup.py: upgraded to read from req files
  * MANIFEST.in: include req files
  * upgraded Makefile
  * tox.ini: set line-length etc
  * setup.cfg: ignore W292
  * setup.cfg: exclude lib & bin from flake8
  * updated .gitignore
  * added coveralls badge
  * HISTORY.rst: replaced header text


v0.0.5 / 2017-10-10
===================

  * requirements_dev.txt: update and pin reqs
  * flake8 fixes
  * tox.ini: simplified config
  * added flake8 to reqs

v0.0.4 / 2017-10-10
===================

  * added preliminary test suite
  * Makefile: changed `install` to use `pip install -e .`
  * added example files for testing
  * requirements.txt: created with `pipreqs`
  * snaketools.py: reorder functions
  * snaketools.py: formatting
  * ignore .vscode/
  * pin all reqs since pyup now manages

v0.0.3 / 2017-09-15
===================

  * Configure pyup
  * SnakeRun.d -> SnakeRune.interim_dir

v0.0.2 / 2017-09-06
===================

  * fixed bumpversion artifact
  * errors.py: pulls metadata from top module
  * updated dev reqs for doc building
  * activated travis ci
  * Set up flake8 configuration
  * Docs build corrected

v0.0.1 / 2017-09-06
===================

* README.rst: added prelim description of features.
* snaketools.py: fixed typo
* Initial commit