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”