snakemake运行纳米抛光,使其等待之前的规则完成

嗨,我可以使用snakemake进行纳米抛光的不同步骤。但是,当我运行它时,它将给出一个错误,即在bwa规则中创建的索引文件尚不可用。给出此错误后,它将创建该错误所在的文件。如果我再次运行snakemake而没有删除文件,则可以正常运行,因为文件在那里。我怎样才能让蛇制造商等到下一个步骤完成呢?我已经用谷歌搜索了解决此问题的任何方法,我只能找到优先级和规则顺序,但我使用了那些,但仍然无法正常工作。这是我使用的脚本。

ruleorder: bwa > nanopolish
rule bwa:
    input:
        "nanopolish/assembly.fasta"
    output:
        "nanopolish/draft.fa"
    conda:
        "envs/nanopolish.yaml"
    priority:
        50
    shell:
        "bwa index {input} - > {output}"

rule nanopolish:
    input:
        "nanopolish/assembly.fasta","zipped/zipped.gz"
    output:
        "nanopolish/reads.sorted.bam"
    conda:
        "envs/nanopolish.yaml"
    shell:
        "bwa mem -x ont2d {input} | samtools sort -o {output} -T reads.tmp"

yanchenghua2009 回答:snakemake运行纳米抛光,使其等待之前的规则完成

您应该再次查看docs,以正确理解SnakeMake的思想。

  

规则描述了如何从输入文件创建输出文件

直到所有输入都存在,规则才会执行,因此您要做的就是添加bwa规则的输出

rule nanopolish:
    input:
        "nanopolish/assembly.fasta","nanopolish/draft.fa",# <-- output of bwa
        "zipped/zipped.gz"

规则和优先级与您的问题无关。

本文链接:https://www.f2er.com/3114694.html

大家都在问