¿Cómo utilizar expandir en snakemake cuando no se desean algunas combinaciones particulares de comodines?
Supongamos que tengo los siguientes archivos, en los cuales quiero aplicar algún procesamiento automáticamente usando snakemake:
test_input_C_1.txt
test_input_B_2.txt
test_input_A_2.txt
test_input_A_1.txt
Los siguientes usos de snakefileexpand
para determinar todo el archivo potencial de resultados finales:
rule all:
input: expand("test_output_{text}_{num}.txt", text=["A", "B", "C"], num=[1, 2])
rule make_output:
input: "test_input_{text}_{num}.txt"
output: "test_output_{text}_{num}.txt"
shell:
"""
md5sum {input} > {output}
"""
Ejecutar el archivo de serpiente anterior da como resultado el siguiente error:
MissingInputException in line 4 of /tmp/Snakefile:
Missing input files for rule make_output:
test_input_B_1.txt
La razón de ese error es queexpand
usositertools.product
debajo del capó para generar las combinaciones de comodines, algunas de las cuales corresponden a archivos faltantes.
¿Cómo filtrar las combinaciones de comodines no deseadas?