具有特定文件组合的Snakemake作为输入

时间:2019-12-20 13:22:33

标签: snakemake

您知道如何使用特定文件组合运行snakemake吗?即在此txt文件中,我具有序列ID的列表:

bob.txt 
steve.txt 
john.txt

我要从这些文件中提取上述文件中ID的序列:

bob.fa
steve.fa
john.fa

所以bob的序列ID应该在bob.fa中寻找序列,而john在john.fa中寻找等等。

workdir: "/path/to/dir/"
(SAMPLES,) =glob_wildcards('path/to/dir/{sample}.fa')

rule all:
    input: 
        expand("{sample}.unique.fa", sample=SAMPLES)

rule seqkit:
    input:
        infa ="path/to/dir/{sample}.fa"
        intxt = "path/to/dir/{sample}.txt
    output:
        outfa = "{sample}.unique.fa"
    shell:
        ("/Tools/seqkit grep -f {input.intxt} {input.infa} > {output.outfa}")
     

因此,我不需要所有组合,而只需要特定的组合,例如bob.txt和bob.fa,steve.txt和steve.fa。   因为我当前的代码也会在steve.fa中做bob.txt

1 个答案:

答案 0 :(得分:1)

rule seqkit输入中缺少逗号。

rule seqkit:
    input:
        infa ="path/to/dir/{sample}.fa",
        intxt = "path/to/dir/{sample}.txt