Snakemake
Workflow-Management-System
Snakemake ist ein Workflow-Management-System, welches auf Python aufbaut und vor allem in der Bioinformatik eingesetzt wird.
Es funktioniert nach folgenden Prinzipien:[1]
- Jeder Schritt im Ablauf ist eine rule (Regel). Die Eingaben, Ausgaben und die Kommandozeilenbefehle für jeden Schritt sind in einem sogenannten Snakefile beschrieben.
- Jede Regel verfügt über eine Anzahl Parameter, die in einer
yaml
-Datei beschrieben sind. - Jede Regel erzeugt einen Output, der wiederum den Input für andere Regeln darstellen kann.
Ein simples Beispiel für ein Snakemake-Programm ist:
rule data_cleanup:
input:
"data/data.txt"
output:
"result/cleaned_data.txt"
script:
"scripts/data_cleanup.py"
Anstelle eines Skriptes kann auch ein Kommandozeilenbefehl angegeben werden:
# Diese Regel filtert text.txt derart, dass Zeilen
# mit dem Wort "Wikipedia" beibehalten werden
rule wikipedia:
input:
"data/text.txt"
output:
"result/wikipedia.txt"
shell:
"cat {input} | grep "Wikipedia" > {output}"
Literatur
Bearbeiten- Johannes Köster & Sven Rahmann: Snakemake—a scalable bioinformatics workflow engine. In: Bioinformatics. Oxford University Press, 1. Oktober 2012, S. 2520–2522, doi:10.1093/bioinformatics/bts480.
- Ulrich Bergmann, Lachlan Deer & Julian Langer: Reproducible Data Analytic Workflows for Economics - An Introduction to Snakemake. 14. März 2021 (englisch, github.io).
Einzelnachweise
Bearbeiten- ↑ Orientation: so, what does Nextstrain do? - How bioinformatic analyses are managed. In: Nextstrain.org. Abgerufen am 30. März 2021 (englisch).