我是snakemake的新手,最近我遇到了一个新错误,该错误是我从最新版本的snakemake中得到的。这是我的蛇规则
rule fastqc_raw:
input:
expand(directory("{fastqc_dir}/{samples}_fastqc/"),fastqc_dir = FASTQC_DIR, samples = SAMPLES_wo_extension)
rule do_fastqc_raw:
input:
expand("{fastq_dir}/{{samples}}.fastq.gz", fastq_dir = inputDir)
output:
expand(directory("{fastqc_dir}/{{samples}}_fastqc/"),fastqc_dir = FASTQC_DIR)
log:
expand("{fastqc_dir}/{{samples}}.log", fastqc_dir = FASTQC_DIR)
threads:
10
message:
"performing fastQC of the sample : {wildcards.samples}"
shell:
"""mkdir -p {output} && fastqc -q -t {threads} --outdir {output} --contaminants /home/Contaminants/idot.txt {input} 2> {log}"""
我收到以下错误,当我使用低于 5.2.0 的 Snakemake 版本时,我没有收到该错误
ImproperOutputException in line 10 of /home/FASTQC.snakefile: Outputs of incorrect type (directories when expecting files or vice versa). Output directories must be flagged with directory(). for rule do_fastqc_raw:
最佳答案
我认为您的目录
位于规则do_fastqc_raw
中的错误位置。
这个:
output:
expand(directory("{fastqc_dir}/{{samples}}_fastqc/"),fastqc_dir = FASTQC_DIR)
应该是:
output:
directory(expand("{fastqc_dir}/{{samples}}_fastqc/", fastqc_dir = FASTQC_DIR))
关于snakemake - Snakemake 5.5.4 中的 ImproperOutputException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57493701/