Repository navigation
Use augur subsample - #103
Conversation
e869e31 to
18232af
Compare
18232af to
b0d6728
Compare
|
I'll wait for a decision in nextstrain/public#27 before continuing here. |
b0d6728 to
5ee2efa
Compare
5ee2efa to
5490644
Compare
5490644 to
42aa5f6
Compare
42aa5f6 to
b437074
Compare
a727f0c to
9b071fb
Compare
e48b466 to
5741f0f
Compare
a28275d to
3972508
Compare
3ca4831 to
5093083
Compare
joverlee521
left a comment
There was a problem hiding this comment.
Thank you for continuing to push through this! I've only added small comments for docs/changelog edits.
f9c14c2 to
12efdc8
Compare
12efdc8 to
35d0ca8
Compare
35d0ca8 to
54f6fd9
Compare
There was a problem hiding this comment.
c33cf92 is a significant change, basically option (1) from nextstrain/public#23.
54f6fd9 to
d96e18a
Compare
|
Thanks for pushing this, Victor. I am a bit on the fence here. What bugs me most about this is that if one now wants to change something in the workflow, one has to trace the config that ends up as input in the rules through even more layers of input functions and config generators. I am wondering whether part of this problem could be avoided if instead of using |
|
Users currently rely on values in the default config file for inheritance and documentation. There are better ways to provide documentation, but values in the default config file is necessary for the inheritance aspect. So I don't think we can save the generated default subsample values directly to results without breaking config inheritance. That said, I take your point on increased complexity in how config is passed around, though for this PR I think that comes more from the switch to I can drop c33cf92 if you/others are ok with hand-editing the default config file, similar to how things are done with ncov's builds.yaml. |
Similar to "Add separate frequencies config" (0b22185), the filter_for_pre_subsample_alignment rule shouldn't rely on config from another rule.
The previous subsampling implementation was fixed to a two-sample recent+background split with some hardcoded parameters. Replacing it with augur subsample allows for more flexible configuration. In Snakemake, implementation is mostly copied from pathogen repos that have switched over to augur subsample. One notable difference is that the combine_samples rule must stay to handle output from the enrich_antibody_escape rule. In the config YAML, the subsampling configuration is much more verbose as a byproduct of increased flexibility. It was generated using a script, which I'll add in another commit since it makes additional changes.
The script restores some of the logic that was originally in the hardcoded filter implementation, allowing easier bulk edits to the subsample config. One downside is that the generated file is less readable with a strict YAML style and no comments. Comments have been moved to the script, but ideally they'd live in a schema which is used to generate user-facing docs.
The new name makes it more obvious that this rule is only used when build_name=F-antibody-escape.
d96e18a to
276a24e
Compare
Description of proposed changes
The previous subsampling implementation was fixed to a two-sample recent+background split with some hardcoded parameters. Replacing it with augur subsample allows for more flexible configuration.
In Snakemake, implementation is mostly copied from pathogen repos that have switched over to augur subsample. One notable difference is that the combine_samples rule must stay to handle output from the enrich_antibody_escape rule.
This is a breaking change and the old configuration will no longer work.
Related issue(s)
Closes #101
Checklist
old implementations