diff --git a/workflow/Snakefile b/workflow/Snakefile index 8ffa4235b6e9eb13ba59f145a60ed7d084bd51a9..15faefd5dd63c820d3300b24f196d9a8b40020b8 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -38,14 +38,17 @@ if missing: logger.error(err_msg) raise ValueError(err_msg) # Check if optional field available -if 'optional' not in config or type(config['optional']) not in [OrderedDict, dict]: - logger.info(f'No "optional" field found or no valid configuration.') +if 'optional' not in config: + logger.info(f'No "optional" section found, adding dictionary "optional" to configuration.') config['optional'] = {} +if type(config['optional']) not in [OrderedDict, dict]: + logger.error(f'No valid section "optional" supplied. Got {config["optional"]}, type: {type(config["optional"])} but require dictionary.') + raise TypeError # Check optional fields and include in config if not present for optkey, value in template_config['optional'].items(): if optkey not in config['optional']: config['optional'][optkey] = value - logger.info(f'Set default value for optional parameter "{optkey}" to : "{value}"') + logger.info(f'No value for optional parameter "{optkey}" found, set to default: "{value}"') # Parse YAML rule config file