首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snakemake运行规则

Snakemake运行规则
EN

Stack Overflow用户
提问于 2021-01-29 14:33:18
回答 1查看 441关注 0票数 1

我在用snakemake来运行我的管道。

代码语言:javascript
复制
rule fisrt_rule:
    input: "{sample}/path/to/{sample}.txt"
    output: "{sample}/path/to/{sample}.stat"
    shell:
        """
        do something
        """
        
rule next_rule:
    input:
        folder="{sample}/path/to/",
    output:
        raw="{sample}/path/to/{sample}.raw.txt"
    shell:
        """
        do something
        """

next_rule中,软件只需要文件所在的文件夹,而不需要文件名,但是由于snakemake不接受前面的规则,所以它说files do not exist。有没有一种方法可以让snakemake按顺序运行规则,而不需要将前面的输出作为输入?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-29 15:00:42

您可以在shell脚本中提取目录名:

代码语言:javascript
复制
rule next_rule:
    input:
        folder= "{sample}/path/to/{sample}.stat",
    output:
        raw= "{sample}/path/to/{sample}.raw.txt"
    shell:
        """
        folder=`dirname {input.folder}`
        do something $folder
        """

是否有一种方法可以告诉snakemake按顺序运行规则,而不必将前面的输出作为输入?

也许你可以想出一些逻辑来做这件事,但我认为你会违背蛇形蛋糕的目的和设计原则。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65956416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档