带有通配符的WorkflowError

时间:2018-04-03 03:20:31

标签: error-handling wildcard snakemake

我想使用snakemake来QC fastq文件,但它表明: WorkflowError:

  

目标规则可能不包含通配符。请指定具体文件   或没有通配符的规则。

我写的代码就像这样

SAMPLE = ["A","B","C"]

rule trimmomatic:
    input:
        "/data/samples/{sample}.fastq"
    output:
        "/data/samples/{sample}.clean.fastq"
    shell:
        "trimmomatic SE -threads 5 -phred33 -trimlog trim.log {input} {output} LEADING:20 TRAILING:20 MINLEN:16"

我是新手,如果有人知道,请告诉我。非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作之一,但您可能希望执行后一种操作。

  • 通过命令行显式指定输出文件名:

    snakemake  data/samples/A.clean.fastq
    

    这会运行规则来创建文件data/samples/A.clean.fastq

  • 使用rule all指定要在Snakefile中创建的目标输出文件。 See here了解有关通过rule all

    添加目标的详情
    SAMPLE_NAMES = ["A","B", "C"]
    
    rule all:
        input:
            expand("data/samples/{sample}.clean.fastq", sample=SAMPLE_NAMES)
    
    rule trimmomatic:
        input:
            "data/samples/{sample}.fastq"
        output:
            "data/samples/{sample}.clean.fastq"
        shell:
            "trimmomatic SE -threads 5 -phred33 -trimlog trim.log {input} {output} LEADING:20 TRAILING:20 MINLEN:16"