在 Snakemake 中,我有 5 条规则。对于每个规则,我通过 resources mem_mb
选项设置内存限制。
rule assembly:
input:
file1 = os.path.join(MAIN_DIR, "1.txt"), \
file2 = os.path.join(MAIN_DIR, "2.txt"), \
file3 = os.path.join(MAIN_DIR, "3.txt")
output:
foldr = dir, \
file4 = os.path.join(dir, "A.png"), \
file5 = os.path.join(dir, "A.tsv")
resources:
mem_mb=100000
shell:
" pythonscript.py -i {input.file1} -v {input.file2} -q {input.file3} --cores 5 -o {output.foldr} "
我想通过类似以下方式来限制整个 Snakefile
的内存使用:
snakamake --snakefile mysnakefile_snakefile --resources mem_mb=100000
因此,并非所有工作都会使用每个100GB
(如果我有5个规则,意味着500GB
内存分配),但它们所有的执行都将最大化100GB
(5个工作,总共100GB
分配?)