В snakemake я хотел бы получить доступ к ключам из config
из директивы shell:
. Я могу использовать {input.foo}
, {output.bar}
и {params.baz}
, но {config.quux}
не поддерживается. Есть ли способ добиться этого?
rule do_something:
input: "source.txt"
output: "target.txt"
params:
# access config[] here. parameter tracking is a side effect
tmpdir = config['tmpdir']
shell:
# using {config.tmpdir} or {config['tmpdir']} here breaks the build
"./scripts/do.sh --tmpdir {params.tmpdir} {input} > {output}; "
Я мог бы назначить части конфигурации, которые я хочу, ключу в params
, а затем использовать замену {param.x}
, но это имеет нежелательные побочные эффекты (например, параметр сохраняется в метаданных snakemake (т.е. .snakemake/params_tracking
). Использование run:
вместо shell:
будет это еще один обходной путь, но доступ к {config.tmpdir}
непосредственно из блока shell
был бы наиболее желательным.