在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} "
Run Code Online (Sandbox Code Playgroud)
Snakefile我想通过执行以下操作来限制整体的内存使用:
snakamake --snakefile mysnakefile_snakefile --resources mem_mb=100000
Run Code Online (Sandbox Code Playgroud)
因此,并非所有作业都会使用100GB每个作业(如果我有 5 个规则,即500GB内存分配),但它们的所有执行都将是最大的100GB(5 个作业,100 GB分配总数?)