我必须执行遗传信息的估算,但是脚本和文件位于不同的位置。也可能涉及一些并行工作。要完成工作,需要太多的手动运行等待。
为了简化混乱,我想将这些bash脚本放入Snakemake管道中。预期结果将是一个Snakefile,其中的规则仅由shell脚本组成,因为已经指定了输入/输出文件。
为此,我基本上必须运行以下简单示例:
比方说,我们输入了名为test.txt的包含列表:
13 234 34 4
还有用于订购的bash脚本,称为test.sh:
sort -n test.txt > test1.txt
为了通过Snakemake运行此脚本,我制作了Snakefile:
rule sort:
shell:
"path/to/test.sh"
当我使用命令
运行它时snakemake Snakefile
我收到以下错误:
/usr/bin/bash: path/to/test.sh: Permission denied
你们能指出为什么为什么这种语法不适用于snakemake吗?
答案 0 :(得分:2)
因此,注释中暗示了该问题。
有两个可能的问题。一种是文件路径不正确,另一种是路径正确,但文件“不可执行”。
如果该文件不可执行,则与snakemake无关。解决方案很简单。只需使用@CharlesDuffy提出的命令:
chmod +x path/to/test.sh