Я использую snakemake для создания конвейера. У меня есть контрольная точка, которая должна производить несколько выходных файлов. Эти выходные файлы позже используются в моем правиле все в рамках расширения. Дело в том, что я не знаю, сколько файлов будет создано, и поэтому не могу указать набор данных в расширении.
Файлы будут созданы в R-сценарии.
Пример:
rule all:
input:
expand(["results/{output}],
output=????)
checkpoint rscript:
input:
"foo.input"
output:
report("somedir/{output}"),
script:
"../scripts/foo.R"
Конечно, это только небольшая часть, но в моем R-скрипте есть все oop для вывода нескольких файлов в somedir. Но так как я не знаю, сколько и потому что они вначале оцениваются в сценарии R. Я не могу установить вывод в расширении.
Может быть, это действительно тривиальный вопрос для некоторых из вас, или даже глупый вопрос, и есть лучшие способы сделать это. Если бы это было так, я все равно был бы благодарен, потому что у меня были проблемы с пониманием большинства функций создания змеи из-за моей способности понимать функции в английском языке sh.
Если есть еще вопросы, я с удовольствием отвечу , (Для меня лучше всего было бы разрешить выводу иметь имена, которые я мог бы указать во время выполнения в скрипте R)
(я также не могу объединить созданные файлы в другое правило, потому что каждый файл будет отображать другой сюжет)
Редактировать: Основная проблема по-прежнему заключается в том, что rscript контрольной точки не может создать несколько {выходных} файлов в «somedir /». Попытка касания ("rscript_fini sh .flag"), похоже, выводит только файл svg как "rscript_fini sh .flag" или, кажется, переопределяет "rscript_fini sh .flag" каждый раз, когда l oop в мой rscript пишет в snakemake@output [[1]].