The big question is how to organize rules/workflows.
My pipeline had the hierarchy:
snakefile
Contain sample name and basic organization
imports workflows
workflow
contains process logic
sets up output file naming scheme
imports rules and scripts
rules
each rule in separate files
could import scripts
scripts
various python scripts/classes
I like this setup, but we can debate it. The big question is should we separate snakefile and workflows. I like having the top level snakefile, because you can then do project specific per-procesing and hides the guts from the user. However, maybe this is not really an issue if the workflows are super clean and readable.
The big question is how to organize rules/workflows.
My pipeline had the hierarchy:
I like this setup, but we can debate it. The big question is should we separate snakefile and workflows. I like having the top level snakefile, because you can then do project specific per-procesing and hides the guts from the user. However, maybe this is not really an issue if the workflows are super clean and readable.