the rule which sets up the contrast table is unnecessary.
If its made incorrectly initially, snakemake will not delete it and it will affect future runs until the file is deleted. we could have config.yaml as an input to that rule, but it mean any change to the config.yaml will need all subsequent rules to be re-run.
ideally it will re-generate the DE.contrasts.list file each time, but not need to re-run other rules.
The alternative is to just directly use the config.yaml, which is better i think. We can have a function in tools.py which parses the config.yaml contrasts straight into a table perhaps
the rule which sets up the contrast table is unnecessary.
If its made incorrectly initially, snakemake will not delete it and it will affect future runs until the file is deleted. we could have config.yaml as an input to that rule, but it mean any change to the config.yaml will need all subsequent rules to be re-run.
ideally it will re-generate the DE.contrasts.list file each time, but not need to re-run other rules.
The alternative is to just directly use the config.yaml, which is better i think. We can have a function in tools.py which parses the config.yaml contrasts straight into a table perhaps