如何指定Snakemake创建.snakemake目录的存储位置?
如何指定Snakemake的.snakemake文件夹位置
可以通过以下两种方式实现把.snakemake文件夹移到本地磁盘,同时保持工作流数据写入原CIFS/SMB驱动器:
使用环境变量
SNAKEMAKE_DIR
调用Snakemake前设置这个环境变量,指定本地磁盘的目标路径,Snakemake会自动把.snakemake目录创建在这里,完全不影响原工作目录下的相对路径解析:export SNAKEMAKE_DIR=/path/to/local/disk/.snakemake snakemake [你的其他运行参数]比如你的本地磁盘挂载在
/mnt/local,就把路径设为/mnt/local/.snakemake即可。使用
--local-workdir参数
这个参数原本为集群环境设计,用来让节点在本地磁盘执行任务,但也能直接用来指定.snakemake的存放位置:snakemake --local-workdir /path/to/local/disk [你的其他运行参数]这样.snakemake相关的临时文件、脚本缓存都会放在指定的本地目录,工作流的输出依然严格遵循Snakefile里的路径设置。
需要注意的是,--shadow-prefix只负责shadow规则的临时文件目录,和.snakemake主目录无关,所以之前用它没效果是正常的;而--directory会改变整个工作目录的基准,导致相对路径指向新目录,确实不符合你的需求。
内容的提问来源于stack exchange,提问作者kEks
相关产品推荐
相关产品推荐

