Я отправляю задания на slurm/sbatch
через snakemake
. Я пытаюсь отправить журнал из sbatch в файл в том же дереве каталогов вывода правила.
Например, это работает:
rm -rf foo
snakemake -s test.smk --jobs 1 --cluster "sbatch --output log.txt"
но это не удается (, т. Е. состояние задания грязи НЕ УКАЗАНО), если я пытаюсь:
rm -rf foo
snakemake -s test.smk --jobs 1 --cluster "sbatch --output {output}.log"
предположительно, потому что {output}
указывает на foo/bar/
, который не существует. Но змейка должна была его создать, верно?
Это test.smk
:
rule all:
output:
'foo/bar/done.txt'
shell:
"""
touch {output}
"""
Итак, как я могу отправлять журналы в дерево каталогов, которое еще не существует, но создано по правилу? (Я неохотно включаю код в файл змеи, который создает каталоги в ожидании).
snakemake -v
4.8.0