Ejecutando comandos con Snakemake


  • “Antes de ejecutar Snakemake necesitas escribir un Snakefile”
  • “Un Snakefile es un archivo de texto que define una lista de reglas”
  • “Las reglas tienen entradas, salidas y comandos de shell a ejecutar”
  • “Le dices a Snakemake qué archivo hacer y ejecutará el comando shell definido en la regla apropiada”

Ejecutando Snakemake en el cluster


  • “Snakemake genera y envía sus propios scripts por lotes para su planificador.”
  • “Puedes almacenar parámetros de configuración por defecto en un perfil de Snakemake”
  • localrules define reglas que son ejecutadas localmente, y nunca enviadas a un cluster.”

Marcadores de posición


  • “Las reglas de Snakemake se hacen más genéricas con marcadores de posición”
  • “Los marcadores de posición en la parte shell de la regla se sustituyen por valores basados en los comodines elegidos”

Aplicaciones MPI y Snakemake


  • “Snakemake elige la regla apropiada sustituyendo los comodines de forma que la salida coincida con el objetivo”
  • “Snakemake comprueba varias condiciones de error y se detendrá si ve un problema”

Encadenamiento de reglas


  • “Snakemake enlaza reglas buscando iterativamente reglas que tengan entradas faltantes”
  • “Las reglas pueden tener múltiples entradas y/o salidas con nombre”
  • “Si un comando del shell no produce una salida esperada entonces Snakemake lo considerará como un fallo”

Procesamiento de listas de entradas


  • “Utilice la función expand() para generar listas de nombres de archivo que desee combinar”
  • “Cualquier {input} de una regla puede ser una lista de longitud variable”