防止snakemake建立输出目录

Har*_*ld 3 python snakemake

有没有一种方法可以防止snakemake为尚不存在的输出建立目录?

fimo 如果该目录已经存在,则MEME套件中的Adaptive Server在运行结束时会令人讨厌地失败。

我的解决方法是给fimo输出的目录与我在其中指定的目录不同,output但我想知道是否有更直接/更优雅的解决方案。

给出的例子:

    rule generate_scan:
        output:
            PROJECT_BASE + '/results/fimo_scan/fimo.txt'
        params:
            genome = '/home/hjp/ImmuneProject/hg19_reference/hg19.fa',
            motif_database = PROJECT_BASE + '/motif_databases/HUMAN/HOCOMOCOv10_HUMAN_mono_meme_format.meme',
            tmp = 'results/tmp_fimo'
        shell:
            '/home/hjp/meme/bin/fimo'
            ' -o {params.tmp}'
            ' --motif GATA2_HUMAN.H10MO.A'
            ' {params.motif_database}'
            ' {params.genome}'
            ' && '
            'mv {params.tmp}/* {PROJECT_BASE}/results/fimo_scan/'
            ' && '
            'rm -rf {params.tmp}'
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Joh*_*ter 5

目前,您无法在Snakemake中直接防止这种情况发生(大多数工具宁可反过来抱怨)。但是,我只是rm -r在输出目录上加上了fimo的实际调用。