python - 防止snakemake制作输出目录

标签 python snakemake

有没有办法阻止 snakemake 为尚不存在的输出创建一个目录?

如果目录已经存在,MEME 套件中的

fimo 会在运行结束时恼人地失败。

我的解决方法是为 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}'

提前致谢!

最佳答案

目前,您无法在 Snakemake 中直接阻止这种情况(大多数工具宁愿反过来提示)。但是,我只是在输出目录上使用 rm -r 预先设置 fimo 的实际调用。

关于python - 防止snakemake制作输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40729835/

相关文章:

python - 在 python 中传递 le 或 ge 符号

python - Snakefile 的各种迭代都会给出相同的错误

Snakemake 包装器无法打开环境文件 : HTTP Error 404: Not Found

python - 使用snakemake从多个文件夹移动和重命名文件

python - Snakemake - 从输入文件动态派生目标

snakemake - 如何使用不同的配置文件运行多次管道 - .snakemake 目录上的锁定问题

python - Tweepy OpenSSL.SSL.WantReadError

python3 telnet socket.gaierror : [Errno 8] nodename nor servname provided, 或未知

python - 有什么官方方法可以获取模型的管理选项吗?

python - 如何在 Python 中检查 EOF?