Snakemake
Snakemake is an easy to use workflow management system. It will allow us to control the execution of a set scripts by by running them from the command line. We will use make to automate the execution of our research projects with a "single click" so that our entire work flow is reproducible.
Why a Tool to Manage Project's Execution?
We strongly believe in using build tools to manage the execution of a research project - and we hope that by the end of the course you do too.
Some reasons we push this topic are:
- Your workflow / order of execution is explicitly documented.
- Each time you run Snakemake, it only executes each script if the output is expected to be different from the last time your ran it. That is, it runs 'partial builds.'
- Its written in Python, which minimizes the learning curve needed to pick up the essentials relatively small
- It was designed for academic/professional research (in Bioformatics) so it feels more intuitive than most alternatives for our desired audience.
Installation
Snakemake is a python package - so we can install using the default python installer, pip.
In a terminal window enter the command:
pip install snakemake
followed by pressing the Return
key.
Verify that your installation worked correctly by entering
snakemake --version
into a terminal and pressing Return.
The expected output is the current version on the software, which should be greater than
3.11.2