The defaults in cli.py (cli.get_default_parser) are good for many applications, but are unwieldy for others. For instance, not all scripts want an optional positional argument of a sequence file.
This has already been remedied by splitting out a separate parent parser, but the same issue comes up when we want amino acid sequences or alignments as arguments or options.
I propose to split groups of parameters out, like all of the alphabet and file format for a generic sequence file would be one parser, and we could mix and match these in the actual script.
As a separate question, do we need to wrap the construction of these parsers in functions? That was meant to be a form of lazy loading, but is it really necessary?
The defaults in
cli.py(cli.get_default_parser) are good for many applications, but are unwieldy for others. For instance, not all scripts want an optional positional argument of a sequence file.This has already been remedied by splitting out a separate parent parser, but the same issue comes up when we want amino acid sequences or alignments as arguments or options.
I propose to split groups of parameters out, like all of the alphabet and file format for a generic sequence file would be one parser, and we could mix and match these in the actual script.
As a separate question, do we need to wrap the construction of these parsers in functions? That was meant to be a form of lazy loading, but is it really necessary?