Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7个月前关闭。
我必须执行遗传信息的估算,但是脚本和文件位于不同的位置。也可能涉及一些并行工作。完成工作需要太多的手动运行等待。
为了简化混乱,我想将这些bash脚本放入Snakemake管道中。预期的结果将是一个Snakefile,其规则仅由外壳脚本组成,因为已经指定了输入/输出文件。
为此,我基本上必须运行以下简单示例:
假设我们有一个名为test.txt的包含列表的输入:
和bash脚本一起订购,称为test.sh:
为了通过Snakemake运行此脚本,我制作了Snakefile:
当我使用命令运行它
我得到以下错误:
你们能指出为什么这种语法不能与snakemake一起使用吗?
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7个月前关闭。
我必须执行遗传信息的估算,但是脚本和文件位于不同的位置。也可能涉及一些并行工作。完成工作需要太多的手动运行等待。
为了简化混乱,我想将这些bash脚本放入Snakemake管道中。预期的结果将是一个Snakefile,其规则仅由外壳脚本组成,因为已经指定了输入/输出文件。
为此,我基本上必须运行以下简单示例:
假设我们有一个名为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一起使用吗?
最佳答案
因此,注释中暗示了该问题。
有两个可能的问题。一种是文件路径不正确,另一种是路径正确,但文件“不可执行”。
如果该文件不是可执行文件,则与snakemake无关。解决方案很简单。只需使用@CharlesDuffy提出的命令:
chmod +x path/to/test.sh
10-02 06:10