[feature] : Analysis-specific "default" configuration files
Is your feature request related to a problem?
The current default configuration file format contains a range of parameters that may not be suitable or relevant for certain samples or analysis. An example of this is masking within grain detection, as some analysis requires low regions to be excluded from masks, whereas others rely on their inclusion. This issue relates to the feature extension listed in PR #758.
Describe the solution you would like.
#758 introduced the possibility to have different sets of "default" configuration files available for users to create configurations from as it included the option --config, but with only one possible value default which makes a copy of topostats/default_config.yaml.
With the desire to have different sets of configurations available not only should users be able to create copies of these to edit as they wish we should also introduce a command line option to topostats process which allows users to specify which configuration is loaded by default.
There are two possible components that may influence what configuration is used...
- Sample type
- Analysis type
In order to simplify the code and not overwhelm users with a wealth of options it is suggested that these are combined into a single option, e.g. --sample-analysis and that the possible arguments concatenate the sample with the analysis for example...
-
topostats process --sample-analysis dnafor standard DNA analysis (currentdefault_config.yaml). -
topostats process --sample-analysis dna-nicksfor analysis of DNA samples with nicks (would require derivation of appropriatedna_nicks.yamlconfiguration file). -
topostats process --sample-analysis perovskitefor analysis of perovskite samples (would require derivation of appropriateperovskite.yamlconfiguration file). -
topostats process --sample-analysis siliconefor analysis of silicone samples (would require derivation of appropriatesilicone.yamlconfiguration file).
The changes in #758 mean that topostats create-config --config <sample-analysis> would then write out a copy of these for users to edit if they wish to change the defaults and they would then run e.g. topostats process --config my_custom_dna_nicks.yaml.