2016-11-21 59 views
1

有没有办法阻止snakemake制作一个不存在的输出目录?防止snakemake制作输出目录

fimo如果该目录已经存在,则MEME套件会在运行结束时恼人地失败。

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

提前感谢!

回答

3

目前,你不能直接在Snakemake中预防这种情况(大多数工具会抱怨反过来)。但是,我只是在输出目录上预先调用了fimo的实际调用rm -r

+0

doh。像往常一样,谢谢! – Harold