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”