diff --git a/workflow/Snakefile b/workflow/Snakefile index db73003..dfcd1b9 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -8,7 +8,7 @@ from snakemake.utils import min_version min_version("7.18.2") configfile: "config/config.yaml" - +# Rules include: "rules/common.smk" include: "rules/01-concatenate_fastq.smk" include: "rules/02-filtering.smk" @@ -19,11 +19,22 @@ include: "rules/06-relabel.smk" include: "rules/07-clustering_identity.smk" include: "rules/08-taxonomy.smk" include: "rules/09-fix_otu_table.smk" -include: "rules/10-prep_for_ampvis2.smk" # <- shouldn't be necessary, amp_load() reads sintax files directly, see "taxonomy" here https://kasperskytte.github.io/ampvis2/reference/amp_load.html#arguments-1 +include: "rules/10-prep_for_ampvis2.smk" include: "rules/11-prep_for_phyloseq.smk" include: "rules/12-phyloseq_abund_blast.smk" include: "rules/13-ampvis2_std_plots.smk" include: "rules/capture_config.smk" # <- this is a custom rule to capture the config file and changes to config file +### Validate configuration options for "include_sintax_output" and "include_blast_output" +def validate_boolean_config(config_value, config_name): + if not isinstance(config_value, bool): + raise ValueError(f"Invalid value for {config_name}: '{config_value}'. It must be True or False (case-sensitive).") +# Validate the configuration values +validate_boolean_config(config["include_blast_output"], "include_blast_output") +validate_boolean_config(config["include_sintax_output"], "include_sintax_output") + +# Assign the configuration values to variables +include_blast_output = config["include_blast_output"] +include_sintax_output = config["include_sintax_output"] ## Function to generate output files for "rule all" are defined in the common.smk file rule all: input: