共享外壳程序节

时间:2018-11-06 09:31:59

标签: snakemake

是否可能有2条规则共享同一外壳程序段? (不重复shell内容) 否则,如何根据一条参数的值编写一条具有不同输入和输出内容的规则?

1 个答案:

答案 0 :(得分:0)

根据需要根据通配符编写python function to choose input files。您也可以在此示例中使用lambda函数:

rule xxx: 
    input:
        lambda wildcards: "data/A.txt",
                if wildcards.sample == 'voted' \
                else \
                    "data/B.txt",
    output:
        "data/{sample}/done.txt"
    shell:
        "do something"