Я ищу некоторую основную информацию об использовании Snakemake
обработки моего R-конвейера.Насколько я понимаю, два наиболее распространенных способа сделать это - использовать флаг script
и передать скрипт R
, или использовать shell
, передав Rscript
.Если я хочу использовать любой из этих методов, как должен выглядеть мой скрипт R
?Как сценарий R
знает, что нужно искать, и либо вызывает load
объекта RData
, либо read.table
, чтобы прочитать файл CSV, если имя указано для input
.
Другой вопрос касается отправки кластера / многопоточности.Snakemake
предположительно отправит задачу на несколько узлов и будет использовать несколько ядер автоматически, без изменения кода.Поэтому было бы лучше иметь одно правило, использующее cluster
и / или cores
, которое вызывает скрипт R
для выполнения всего конвейера ИЛИ разбить конвейер на несколько правил / шагов и использовать cluster
и / или cores
по этому правилу?
Последний вопрос: что если мой код R
использует пакеты параллельной / многопоточности, такие как mclapply
, внутри самого кода?Как это влияет на Snakemake
и его параметры?
Не удалось найти ответы на эти вопросы в Интернете, поэтому любая информация будет оценена.