Closed victorlin closed 1 week ago
Based on https://github.com/nextstrain/ncov/pull/886#pullrequestreview-1165909150 this is a https://github.com/nextstrain/ncov/labels/wontfix:
The min and max date parameters in ncov's filter logic don't behave like you'd expect due to an implementation choice we made at the beginning of the pandemic that we were then unable to change without breaking everyone's workflows.
Couldn't we release another major version of the ncov workflow to make this breaking change? Maybe this has been considered before – of course we could, but doesn't mean we should. But then what is the point of versioning this workflow?
There are quite a few of these throughout ncov, e.g.
and I think we learned from this for other pathogen worflows. There seems to be a few possible choices here:
subsampling.<sample>.min_date: <date>
and deal with the fall-out of many peoples' breaking configsif not subsampling.<sample>.min_date.startswith("--min-date"): raise...
. This could be done gradually if needed. if not subsampling.<sample>.min_date.startswith("--min-date"): subsampling.<sample>.min_date=f"--min-date {...}"
I'd go with 3, but 2 also seems fine.
@jameshadfield thanks for listing out all the options. Not sure that (3) is worth it. It seems that most users are able to figure it out, but it's an unnecessary point of confusion when starting out. I would either continue doing nothing (2) or plan a path to deprecation, which would be something like (4) with a deprecation warning then (1) in a future release.
Maybe this hinges on some bigger picture questions: How much should we care about
a. consistency within the workflow? b. aligning config with other workflows? c. backwards compatibility between workflow versions?
Had a good discussion during dev chat. Consensus:
Options such as
subsampling.<sample>.min_date
must contain the option flag toaugur filter
, e.g.This is redundant and requires knowledge about an extra set of syntax on top of config file syntax. It also causes confusion resulting in PRs such as #886.