Linux 在snakemake上运行管道需要裸露的骨骼?

Linux 在snakemake上运行管道需要裸露的骨骼?,linux,bash,ubuntu,snakemake,Linux,Bash,Ubuntu,Snakemake,我必须对基因信息进行插补,但脚本和文件位于不同的位置。对于CAN(集群)也涉及到一些并行作业。为了完成任务,需要太多的手动运行等待 为了简化混乱,我想将这些bash脚本放在Snakemake管道中。预期结果将是一个Snakefile,其中的规则仅由shell脚本组成,因为已经指定了输入/输出文件 为此,我必须运行以下简单示例: 假设我们有一个名为test.txt的输入,包含列表: 13 234 34 4 和用于排序的bash脚本,称为test.sh: sort -n test.txt >

我必须对基因信息进行插补,但脚本和文件位于不同的位置。对于CAN(集群)也涉及到一些并行作业。为了完成任务,需要太多的手动运行等待

为了简化混乱,我想将这些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不起作用吗?

所以评论中暗示了这个问题

可能存在两个问题。一个是文件路径不正确,另一个是路径正确,但文件“不可执行”

如果文件不是可执行文件,那么它与snakemake没有什么关系。不过,解决办法很简单。只需使用@CharlesDuffy建议的命令:

chmod +x path/to/test.sh

你的问题更适合我。本网站用于编程相关问题。
test.sh
是否实际可执行(有效shebang,
chmod+x
等)?它上游的所有目录是否都是由运行构建工具的用户执行的?文件本身是否为同一帐户
+r
?充分展示您现有的调查,以便我们对从何处开始有一个合理的想法。Cyrus,这个问题围绕snakemake(或python,作为其基础)的正确语法展开。Snakemake在堆栈溢出问题上被广泛讨论。如果您在代码方面有问题,您首先必须提取一个代码,并将其与您的问题一起发布。此外,不要盲目地接受建议的标签,研究它们的描述,然后做出明智的决定。也就是说,作为一个新用户,如果您还没有阅读过,请阅读。@CharlesDuffy,如果添加了其他语法,例如“rule all:”、输入和输出,我可以运行类似的示例