Snakemake

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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 | Quelltext 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 | Quelltext bearbeiten]

  1. Orientation: so, what does Nextstrain do? - How bioinformatic analyses are managed. In: Nextstrain.org. Abgerufen am 30. März 2021 (englisch).