Snakemake
From charlesreid1
Snakemake is a pythonic way of writing makefiles.
Snakemake works with distributions like anaconda to package and install dependencies. I recommend using Pyenv to keep things organized and separated out.
Installing
Pyenv
Regardless of what version or flavor of Python you wish to use, you can manage it using pyenv.
Conda
Snakemake is intended to be used in conjunction with Conda, which is a Python tool that enables installing software both inside and outside of the Python ecosystem.
conda install -c bioconda snakemake
This installs snakemake from the bioconda channel.
There is a much more extensive discussion of miniconda vs anaconda here: https://conda.io/docs/user-guide/install/download.html
Regular Python
If you don't need to install dependencies via conda, install snakemake via pip:
pip install snakemake
Links
Projects
Snakemake documentation: https://snakemake.readthedocs.io/en/stable/
Snakemake for Bioconda documentation: https://bioconda.github.io/recipes/snakemake/README.html
Snakemake Biocontainer: https://quay.io/repository/biocontainers/snakemake
Examples
A SingleCell RNASeq pre-processing pipeline built on snakemake: https://github.com/Hoohm/dropSeqPipe/blob/master/Snakefile