我喜欢在snakemake中使用rmd脚本选项的便利性,比如
script:
"scripts/report.Rmd"
但是我在找出在脚本运行之前将环境变量传递给脚本的最佳方法时遇到了一些麻烦。我遇到的问题是我在集群上运行它,使用 PBS pro,并且还使用奇异点来运行作业。
就我而言,我需要在启动脚本之前设置变量 http_proxy
,因此我无法将其传递到 Rmd 文件中。
如果我先导出变量并在集群提交部分 (qsub -V
) 中使用 Declares that all environment variables in the qsub command's environment are to be exported to the batch job
选项,我可以做到这一点,但我希望工作流程尽可能独立,所以我真的不想将所有我的变量导出到批处理作业。理想情况下,我想在 conig.yaml 文件中将代理指定为变量,并将其传递给 Rmd 脚本。
看代码,Rmd脚本部分是这样执行的:
self._execute_cmd("Rscript --vanilla {fname:q}", fname=fname)
欢迎提出任何建议。