如何解决一个样本在下一个开始之前完成的 Snakemake 优先级
我正在使用一个相当大的 snakemake 文件来调用 30 位患者的突变。工作流程的第一步是对齐。我遇到的问题是,snakemake 调度程序似乎首先为所有 30 名患者执行了第一步(即对齐)。这反过来又需要大量(临时)磁盘空间 (>>10TB)。这是非常低效的,因为当工作流完成时,一名患者只占用不到 1 GB(仅 vcf 文件)。
所以我的问题是,是否有一种方法可以“强制”snakemake 在开始对新患者进行对齐(第一步)之前完成对一个患者的处理,同时仍然使所有内容平行。
我尝试使用 --prioritize
选项来确定工作流的最后一条规则的优先级,但这似乎不起作用。
非常感谢任何帮助!
干杯!
解决方法
这反过来又需要大量(临时)磁盘空间
我认为您可以将 disk_mb
resource 设置为蛇形不会超过它。
例如,您有 100 GB 的磁盘空间,每个对齐(最多)占用 30 GB,以下内容应限制 snakemake 同时运行最多 3 个对齐(并假设后续步骤需要的空间可以忽略不计 - 编辑根据需要):
rule align:
input:
...
output:
...
resources:
disk_mb=30000
...
运行方式:
snakemake --resources disk_mb=100000 ...
Snakemake: Tranverse DAG depth-first? 处的答案应该可行,但是即使作业需要很少的磁盘空间,您也必须一次运行 1 个作业。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。