Я сделал простой конвейер, где я беру пару файлов, объединяю их (ну, не совсем, но давайте представим, что они объединены) в один, имя файла которого представляет собой простую комбинацию двух (file1_file2.output), и выполняю некоторые операции. Конвейер работает отлично, если я вручную предоставляю имена файлов для file1 и file2, но что мне действительно нужно сделать, это примерно так:
Давайте представим, что у меня есть 5 файлов A , B , C , D и E . Я хочу запустить конвейер для этих пар: A-D , B-D и C-E , а это Snakefile
rule all:
input:
expand("output/{file1}_{file2}.output")
rule Paste:
input:
F1="{file1}",
F2="{file2}"
output:
out="output/{file1}_{file2}.output"
shell:
"paste {input.F1} {input.F2} > {output.out}"
Каков наилучший способ сделать это?