Snakemake
Snakemake is a workflow engine that provides a readable Python-based workflow definition language and a powerful execution environment that scales from single-core workstations to compute clusters without modifying the workflow. It is the first system to support the use of automatically inferred multiple named wildcards (or variables) in input and output filenames. The aim of Snakemake is to enable sustainable data analysis for scientific research. Snakemake is highly popular, with on average more than 6 new citations per week, and over 200k downloads (https://github.com/snakemake/snakemake). It is inspired by GNU Make (https://www.gnu.org/software/make/).
Authors
Started with a Bachelor Nanobiology on the TU Delft. Now a student Computer Science doing the bioinformatics specialication.
Academic background: Bsc. Nanobiology and Bsc. Computer Science at TU Delft. Currently doing the Computer Science master's at TU Delft (Artificial Intelligence Track). Current main interests: computer vision, interpretability/explainability of AI models, energy transition, sustainability.
Finished my Bachelor Nanobiology at the TU Delft. Now I'm in my last full quarter of courses of the AI track of Computer Science. My focus during the master was on Machine Learning and Interactive Intelligence.
Faceting Snakemake: The Added Value of a Plugin System
Snakemake: Keeping the polish
Digging deeper into Snakemake: architectural gold and pyrite
Snakemake: A Hidden Gem for Sustainable Data Science from the Field of Bioinformatics
Contributions
Fix Snakemake Docs Build Environment Problem
Description
Bumped Python to 3.7
Removed docutils constraint on version 0.12 (resulted in unresolved dependencies)
Added missing dependency myst-parser
Reflection
When fixing my other small contribution I couldn’t create the conda environment to correctly build the docs.
I debugged this problem and fixed the environment file.
This was harder than it should be. Conda is slow, and the errors cryptic. In the process, I learned I should use the faster mamba implementation. It was faster, but errors kept being cryptic.
Fix typo in Snakemake documentation
Description
Fixed a typo mentioned in https://github.com/snakemake/snakemake/issues/1113.
Reflection
The hardest part about all of this was getting Snakemake documentation to build locally using Sphinx.
But in the end I succeeded and fixed a simple typo.