Esecuzione di comandi con Snakemake
- “Prima di eseguire Snakemake è necessario scrivere uno Snakefile”
- “Uno Snakefile è un file di testo che definisce un elenco di regole”
- “Le regole hanno ingressi, uscite e comandi di shell da eseguire”
- “Si dice a Snakemake quale file creare e questo esegue il comando di shell definito nella regola appropriata”
Esecuzione di Snakemake sul cluster
- “Snakemake genera e invia i propri script batch per lo scheduler”
- “È possibile memorizzare le impostazioni di configurazione predefinite in un profilo Snakemake”
- “
localrules
definisce le regole che vengono eseguite localmente e non vengono mai inviate a un cluster”
Segnaposto
- “Le regole di Snakemake sono rese più generiche con i segnaposto”
- “I segnaposto nella parte shell della regola vengono sostituiti con valori basati sui caratteri jolly scelti”
Applicazioni MPI e Snakemake
- “Snakemake sceglie la regola appropriata sostituendo i caratteri jolly in modo che l’output corrisponda all’obiettivo”
- “Snakemake controlla varie condizioni di errore e si ferma se vede un problema”
Concatenazione di regole
- “Snakemake collega le regole cercando iterativamente le regole che hanno ingressi mancanti”
- “Le regole possono avere più ingressi e/o uscite con nome”
- “Se un comando di shell non produce l’output previsto, Snakemake lo considererà un fallimento”
Elaborazione di elenchi di input
- “Utilizzare la funzione
expand()
per generare elenchi di nomi di file da combinare” - “Ogni
{input}
a una regola può essere un elenco di lunghezza variabile”