Help text for these arguments differ across subcommands. This is the --metadata-id-columns help text for augur merge:
--metadata-id-columns COLUMN [COLUMN ...]
Possible metadata column names containing identifiers, considered in the order given. Columns will be considered for all metadata tables. Only one ID column will be inferred for each
table. (default: strain name)
for augur filter:
--metadata-id-columns METADATA_ID_COLUMNS [METADATA_ID_COLUMNS ...]
names of possible metadata columns containing identifier information, ordered by priority. Only one ID column will be inferred. (default: ('strain', 'name'))
The augur filter version is used ~everywhere else. The augur merge version is an improvement of this from 0552f5f4cdac27a40eefe267f7db071f6cc357c4.
It has also propagated outside this repo to set_final_strain_name.py but I wouldn't worry about that as it's slated for removal.
Possible solutions
Store help text in a shared variable.
Use a shared parser config to add these options. Example:
This might be more complicated to get right across all but helps reduce redundancy of not just the help text but also other parameters to add_argument including the option name.
For any solution, there should be a way to add an additional subcommand-specific snippet such as "Columns will be considered for all metadata tables" which is only applicable to augur merge.
_from https://github.com/nextstrain/augur/pull/1591#discussion_r1725712300_
Scope
--metadata-id-columns
--metadata-delimiters
Context
Help text for these arguments differ across subcommands. This is the
--metadata-id-columns
help text foraugur merge
:for
augur filter
:The
augur filter
version is used ~everywhere else. Theaugur merge
version is an improvement of this from 0552f5f4cdac27a40eefe267f7db071f6cc357c4.It has also propagated outside this repo to set_final_strain_name.py but I wouldn't worry about that as it's slated for removal.
Possible solutions
Use a shared parser config to add these options. Example:
This might be more complicated to get right across all but helps reduce redundancy of not just the help text but also other parameters to
add_argument
including the option name.For any solution, there should be a way to add an additional subcommand-specific snippet such as "Columns will be considered for all metadata tables" which is only applicable to
augur merge
.