我想使用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"
我是新手,如果有人知道,请告诉我。非常感谢!
答案 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"