This PR introduces the first implementations of helper functions that standardizes all inputs and output paths before executing a workflow.
What is new?
A new module has been added known as helper_funcs that attempts to solve the issues with snakemake strict naming rules.
Contains functions that predefines file paths
A new rule module known as common.smk:
Mains goal is to standardize input and output paths before sending it into the workflow
helper functions are imported and executed in within this rule module
Motivation and implementation
Simple schematic on how the helper_funcs module is involved in generating paths. It loads in the configurations found in cytosnake, and uses those configurations to generate the input and output paths.
One of the issues that @jenna-tomkinson found is that Snakemake expects an exact file names in order for a workflow to successfully work. This means that any files names that do not have the expected files names will cause the workflow to not execute. Fortunately, there is a common work around this issue and it is using python functions as inputs for a Snakemake workflow [source] . Due to this feature that Snakemake has, this drove the development of the helper_funcs module, pre-define the file paths before declaring it the Snakemake based workflows.
About this PR
This PR introduces the first implementations of helper functions that standardizes all inputs and output paths before executing a workflow.
What is new?
A new module has been added known as
helper_funcs
that attempts to solve the issues withsnakemake
strict naming rules.A new rule module known as
common.smk:
Motivation and implementation
One of the issues that @jenna-tomkinson found is that
Snakemake
expects an exact file names in order for a workflow to successfully work. This means that any files names that do not have the expected files names will cause the workflow to not execute. Fortunately, there is a common work around this issue and it is using python functions as inputs for aSnakemake
workflow [source] . Due to this feature thatSnakemake
has, this drove the development of thehelper_funcs
module, pre-define the file paths before declaring it theSnakemake
based workflows.