Snakemake

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

  • 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

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.