Snakemake规则资源多方式配置的优先级规则咨询
Snakemake资源配置优先级规则
首先明确核心原则:规则特定资源的优先级始终高于任何默认资源,无论通过哪种方式配置。当多种方式同时配置规则特定资源或默认资源时,优先级从高到低如下:
规则特定资源优先级(从高到低)
- 命令行参数
--set-resources指定的规则资源(示例:snakemake [...] --set-resources my_rule:mem_mb=10240) - Profile目录中的脚本(如
resources.py)定义的规则特定资源 - Profile目录
config.yaml中set-resources字段配置的规则资源(示例:set-resources: my_rule: mem_mb: 10240) - Snakefile目标规则内部直接定义的资源(示例:
rule my_rule下的resources:块)
默认资源优先级(从高到低)
- 命令行参数
--default-resources指定的默认资源(示例:snakemake [...] --default-resources mem_mb=4096) - Profile目录中的脚本定义的默认资源
- Profile目录
config.yaml中default-resources字段配置的默认资源(示例:default-resources: mem_mb: 4096)
补充说明
如果某个规则未通过任何方式配置特定资源,Snakemake会自动应用优先级最高的默认资源;若同一层级存在冲突配置(如多个Profile脚本),则按配置加载的先后顺序,后加载的配置会覆盖先加载的。
内容的提问来源于stack exchange,提问作者bli
相关产品推荐
相关产品推荐

