如何解决如何使用 Snakemake 进行内存管理?
我尝试强制 Snakemake 依次运行规则(包含许多作业)以避免内存冲突。
rule run_eval_all:
input:
expand("config["out_model"] + "{iLogit}.rds",iLogit = MODELS)
rule eval_model:
input:
script = config["src_est"] + "evals/script.R",model = config["out_model"] + "{iLogit}.rds",output:
"out/{iLogit}.rds"
threads: 5
resources:
mem_mb = 100000
shell:
"{runR} {input.script} "
"--out {output}"
我按 snakemake --cores all --resources mem_mb=100000 run_eval_all
运行规则。但我不断收到以下错误:
x86_64-conda-linux-gnu % snakemake --resources mem_mb=100000 run_eval_all
Traceback (most recent call last):
File "/local/home/zhakaida/mambaforge/envs/r_snake/bin/snakemake",line 10,in <module>
sys.exit(main())
File "/local/home/zhakaida/mambaforge/envs/r_snake/lib/python3.9/site-packages/snakemake/__init__.py",line 2401,in main
resources = parse_resources(args.resources)
File "/local/home/zhakaida/mambaforge/envs/r_snake/lib/python3.9/site-packages/snakemake/resources.py",line 85,in parse_resources
for res,val in resources_args.items():
AttributeError: 'list' object has no attribute 'items'
如果我运行 snakemake --cores all run_eval_all
,它可以工作,但作业并行运行(如预期),有时会导致内存过度使用和崩溃。我应该如何正确地为 Snakemake 申请内存?
解决方法
该错误是由于解析 Snakemake 6.5.1、https://github.com/snakemake/snakemake/issues/1069 中的 --resources
参数时存在已知问题。
更新到 snakemake 6.5.3 或更高版本,看看您的问题是否仍然存在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。