Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Opinionated utilities for Snakemake pipelines.

Project Description

Rattle

Rattle is a collection of opinionated helper functions and classes for running a Snakemake pipeline. It imposes a certain way of structuring input information, with the goal making Snakefiles for next generation sequencing pipelines even more readable.

Conventions

Rattle was written with next-generation sequencing experiments in minds. As such, it expects that pipeline inputs be organized in a tiered-level of samples (a single unit to be analyzed by the experiment) and read groups (a single unit representing a sequencing run). This is similar to the organization used in BAM files. There, the @RG SM tag corresponds to sample names and @RG ID tag corresponds to read group names.

With that in mind, Rattle expects inputs for Snakemake runs to be organized in a config file with the following pseudoschema:

settings:
    <setting-key-0-name>: <setting-key-0-value>
    <setting-key-n-name>: <setting-key-n-value>
samples:
    <sample-0-name>:
        read_groups:
            <read-group-0-name>:
                <input-0-name>: <path-to-input-0>
                <input-n-name>: <path-to-input-n>
                tags:
                    <key-0-name>: <key-0-value>
                    <key-n-name>: <key-n-value>
    <sample-n-name>:
        read_groups:
            <read-group-0-name>:
                <input-0-name>: <path-to-input-0>
                <input-n-name>: <path-to-input-n>
                tags:
                    <key-0-name>: <key-0-value>
                    <key-n-name>: <key-n-value>

The settings entry as well as tags entry are optional.

Usage

Take a look at the test directory to see how Rattle is used.

Changelog

Versions 0.1

Release 0.1.0

release date: TBD

  • First release.
Release History

Release History

This version
History Node

0.1.0.dev0

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting