Skip to content

configfile: in module's Snakefile raises error if no config: in module declaration #3754

@guyer

Description

@guyer

Snakemake version

9.11.4

Describe the bug

configfile: in module's Snakefile raises error if no config: in module declaration

The Modules documentation implies that a module should use its own configuration unless the module declaration specifies a config: argument:

It is possible to overwrite the global config dictionary for the module, which is usually filled by the configfile statement (see Standard Configuration):
...
In this case, any configfile statements inside the module are ignored.

Logs

snakemake --cores 1
KeyError in file ".../../workflow2/Snakefile", line 1:
'config'

Minimal example

.
├── config
│   └── config.yml
├── workflow
│   └── Snakefile
├── workflow1
│   ├── config
│   │   └── config.yml
│   └── Snakefile
└── workflow2
    ├── config
    │   └── config.yml
    └── Snakefile
# workflow/Snakefile

from snakemake.utils import min_version
min_version("6.0")

configfile: "config/config.yml"

module workflow1:
    snakefile: "../workflow1/Snakefile"
    config: config["config1"]

use rule * from workflow1 as workflow1_*

module workflow2:
    snakefile: "../workflow2/Snakefile"

use rule * from workflow2 as workflow2_*
# workflow1/Snakefile

configfile: "config/config.yml"
# workflow2/Snakefile

configfile: "config/config.yml"

Additional context

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions