English 中文(简体)
Snakemake:在固定工作流程中将目标产出转向下一个目标产出
原标题:Snakemake: Create one target output before moving on to the next in a forked workflow
  • 时间:2021-02-01 12:37:39
  •  标签:
  • snakemake

缩略语 通常,我将创设一个<代码>,即所有,以输入一种生成1,000个档案名称的功能。 但我发现的是,Snakemake将执行one。 然后是<代码>21000倍。 如果通过<代码>2<<>>>/代码”制作的中间文件数量很大,则存在问题,因为你最终拥有1,000份巨大的档案。

相反,我想由Snakemake生产5_1.txt...... 5_1000.txt,确保该编码在移至下一个版本之前实际产生一个<代码>的所有的产出。 这样,temp(> 删除了一条 iii>wc}.txt。 接下来是制作的,你最终没有大量的档案。

在线性工作流程中,你可以利用@Maarten-vd-Sande所建议的优先事项。 这是因为Snakemake看看看它能够从事的工作,最优先考虑的是,这始终是线性工作流程中链条的进一步。 但幸运的是,由于 for双方需要同样优先,但Snakemake只是首先这样做。

rule one:
  input: "input_{wc}.txt"
  output: 
    touch("one_{wc}.txt"),
    touch("two_{wc}.txt")
  
rule two:
  input: "one_{wc}.txt"
  output: temp(touch("three_{wc}.txt"))

rule three:
  input: "two_{wc}.txt"
  output: touch("four_{wc}.txt")

rule four:
  input:
    "three_{wc}.txt",
    "four_{wc}.txt"
  output: "five_{wc}.txt"
  shell:
    """
    touch {output}
    """
最佳回答

如果它只是一个幸运的话,它就不是一个幸运。 <代码>2必须在<代码>3之前执行。 使用@Maarten-vd-Sande解决方案。

rule one:
  input: "input_{wc}.txt"
  output: 
    touch("one_{wc}.txt"),
    touch("two_{wc}.txt")
  
rule two:
  input: "one_{wc}.txt"
  output: temp(touch("three_{wc}.txt"))
  priority: 1

rule three:
  input: 
    "two_{wc}.txt", 
    "one_{wc}.txt"
  output: touch("four_{wc}.txt")
  priority: 2

rule four:
  input:
    "three_{wc}.txt",
    "four_{wc}.txt"
  output: touch("five_{wc}.txt")
  priority: 3
问题回答

试图为此寻找工作。

我的问题是,我有初步规则,可以产生大量时间档案,然后制定随后的汇总规则。 <代码>greedy或ilp的列表器将操作一套混乱的初始规则,使聚合具有效率,而我将从磁盘空间中排出。 以前,确定优先事项的工作也不奏效。

我发现的最佳解决办法是:

之后,我有一封信件,随后处理ches。

我的解决办法并不理想,因为直到以往的批量没有完全开始,而是比摆脱磁盘错误更好。

正确的解决办法应当是一个旗帜,表明时间表的深度优先事项。





相关问题
如何在蛇马基处理配对肿瘤正常样本?

我正把一个粉碎管道转换成一个蛇形机器工作流程, 处理全外序列的肿瘤正常样本。 Paired 样本在我的配置文件中列出如下: 样本_ 列表: - 样本:...

snakemake MissingOutputException when running Snakefile

I got this error when I run snakemake. snakemake.exceptions.MissingOutputException: Job 160 completed successfully, but some output files are missing. Missing files after 60 seconds. This might be ...

热门标签