一个样本在下一次开始之前完成的Snakemake优先级

Snakemake priorities that one sample finishes before next starts(一个样本在下一次开始之前完成的Snakemake优先级)

本文介绍了一个样本在下一次开始之前完成的Snakemake优先级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个相当大的Snakemade文件来为30名患者调用突变。工作流程的第一步是对齐。我遇到的问题是,Snakemaker调度程序似乎首先为所有30名患者执行第一步(即比对)。这又需要大量(临时)磁盘空间(>;>;10TB)。这是非常无效的,因为当工作流完成时,一个患者只占用不到1 GB(仅VCF文件)。

所以我的问题是,是否有一种方法可以在开始对新患者进行配对(第一步)之前完成对一个患者的处理,同时仍然并行处理所有事情。

我尝试了--prioritize选项来确定工作流的最后一个规则的优先级,但似乎没有效果。

如有任何帮助,不胜感激!

干杯!

推荐答案

这又需要大量(临时)磁盘空间

我认为您可以设置disk_mbresource,使Snakemaker不会超过它。

例如,您有100 GB的磁盘空间,而每次对齐(最多)占用30 GB,以下应将Snakemake约束为同时最多运行3个对齐(并假设下一步需要的空间可以忽略不计-根据需要进行编辑):

rule align:
    input: 
        ...
    output: 
        ...
    resources:
        disk_mb=30000
    ...

运行方式:

snakemake --resources disk_mb=100000 ...

Snakemake: Tranverse DAG depth-first?处的答案应该有效,但是即使作业只需要很少的磁盘空间,您也必须一次运行一个作业。

这篇关于一个样本在下一次开始之前完成的Snakemake优先级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:一个样本在下一次开始之前完成的Snakemake优先级

基础教程推荐