Snakemake工作流程中的MissingOutputException

时间:2020-02-07 17:42:37

标签: snakemake

所以我有以下蛇形法则:

SAMPLES=["A", "B"]
READS=["R1", "R2"]

rule fastqc_check:
    input:
      r1 = expand("../../data/raw/{sample}_{read}.fastq.gz",sample=SAMPLES, read=READS )
    output:
      html=expand("../../data/interim/{sample}_{read}.html", sample=SAMPLES, read=READS)
    conda:
      "../../environment.yml"
    shell: "fastqc --outdir='../../data/interim/'  {input.r1}"

当我运行它时,它开始成功执行,生成HTML文件,然后工作流引发以下错误

 MissingOutputException in line 5 of rules/minimap2_freebayes.smk:
    Missing files after 5 seconds:
    ../../data/interim/A_R1.html
    ../../data/interim/A_R2.html
    ../../data/interim/B_R1.html
    ../../data/interim/B_R2.html
    This might be due to filesystem latency. If that is the case, consider to increase the wait time with --latency-wait.

我实际上可以看到文件,甚至可以打开它们,也尝试了--latency-wait 120,但没有任何区别,不断抛出错误。我对Snakemake还是很陌生,所以我不确定该如何做。

1 个答案:

答案 0 :(得分:1)

一些想法...我认为fastqc提供带后缀_fastqc.html的输出,因此您应该拥有名为../../data/interim/A_R1_fastqc.html而不是../../data/interim/A_R1.html的文件。

尽管如此,如果您说文件在那里,snakemake不应抱怨。为了进行调试,请尝试将相对路径替换为绝对路径(,使用/path/to/data/interim/{sample}_{read}.html)。可能是您期望的输出目录不是使用的蛇形目录。

另外,运行带有选项snakemake的{​​{1}},这样您就可以准确地看到它在输入/输出中使用了哪些文件。