Closes #155 (closed)
rule_config.yaml
to tests/input_files/
. Here, additional parameters for all rules in main Snakefile and single/paired-end Snakefiles can be setcurrent_rule
is set to the name of the current rule. This workaround is necessary, as currently the snakemake directive {rule} can only be accessed from within the shell calls, whereas we need to access it from the params
sectionrule_config.yaml
:
rule_config.yaml
will be loaded into a rule_config dict
; if no rule_config.yaml
specified, rule_config dict
will be empty and all tools will run with default parameters.parse_rule_config
is defined, which takes as input the rule_config dict, the current rule name, and a tuple of arguments that must not be changed for the current rule from within the rule config ("immutable" arguments) in order to ensure proper functioning of the pipeline. Immutable arguments are those that either influence a tool's behavior in a way that is critical for pipeline wiring, or those that are defined in the samples table. Returns a string with all additional parameter-value pairs.params
section of each rule the above described function is called. Parameters read from the rule_config.yaml
are then injected as a string in the respective shell calls to the toolscurrent_rule
is used for logfile naming in each rulezarp_multiqc_config.py
accordingly