Error handling 带有通配符的工作程序

Error handling 带有通配符的工作程序,error-handling,wildcard,snakemake,Error Handling,Wildcard,Snakemake,我想使用snakemake来控制fastq文件,但它显示: 工作人员: 目标规则不能包含通配符。请指定具体文件 或者没有通配符的规则 我写的代码是这样的 SAMPLE = ["A","B","C"] rule trimmomatic: input: "/data/samples/{sample}.fastq" output: "/data/samples/{sample}.clean.fastq" shell: "trim

我想使用snakemake来控制fastq文件,但它显示: 工作人员:

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

我写的代码是这样的

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"

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

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

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

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

  • 使用
    规则all
    指定要在Snakefile自身中创建的目标输出文件。要了解有关通过
    规则所有添加目标的更多信息

    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"
    

在您的帮助下,我已经解决了问题,非常感谢您!