Ausführen von Befehlen mit Snakemake
- “Bevor Sie Snakemake starten, müssen Sie ein Snakefile schreiben”
- “Ein Snakefile ist eine Textdatei, die eine Liste von Regeln definiert”
- “Regeln haben Eingänge, Ausgänge und Shell-Befehle, die ausgeführt werden sollen”
- “Du sagst Snakemake, welche Datei es erstellen soll, und es wird den in der entsprechenden Regel definierten Shell-Befehl ausführen”
Ausführen von Snakemake auf dem Cluster
- “Snakemake generiert und übermittelt seine eigenen Batch-Skripte für Ihren Scheduler.”
- “Sie können Standardkonfigurationseinstellungen in einem Snakemake-Profil speichern”
- “
localrules
definiert Regeln, die lokal ausgeführt werden und nie an einen Cluster übermittelt werden.”
Platzhalter
- “Snakemake-Regeln werden mit Platzhaltern generischer gestaltet”
- “Platzhalter im Shell-Teil der Regel werden durch Werte ersetzt, die auf den gewählten Platzhaltern basieren”
MPI-Anwendungen und Snakemake
- “Snakemake wählt die passende Regel durch Ersetzen von Platzhaltern, so dass die Ausgabe mit dem Ziel übereinstimmt”
- “Snakemake prüft auf verschiedene Fehlerbedingungen und hält an, wenn es ein Problem sieht”
Verkettung von Regeln
- “Snakemake verknüpft Regeln, indem es iterativ nach Regeln sucht, die fehlende Eingaben machen”
- “Regeln können mehrere benannte Eingänge und/oder Ausgänge haben”
- “Wenn ein Shell-Befehl nicht die erwartete Ausgabe liefert, wird Snakemake dies als Fehler betrachten
Verarbeitung von Listen von Eingaben
- “Verwenden Sie die Funktion
expand()
, um Listen von Dateinamen zu erzeugen, die Sie kombinieren wollen” - “Jede
{input}
zu einer Regel kann eine Liste variabler Länge sein”