Skip to content

Define workflow dependencies #1118

@victorlin

Description

@victorlin

Context

This workflow only works with specific versions of software. There is a Conda environment file (workflow/envs/nextstrain.yaml) however this has issues:

  1. It is only meant for use within Snakemake (--use-conda, rule.conda)
  2. It acts more like a "lock" file with exact version pins
  3. It doesn't document the version constraint on Snakemake (the workflow doesn't support Snakemake 8.x)

Possible solutions

  1. Create a list of workflow dependencies as supported ranges. Drafting that here:

    • Augur: >= 22.0.1 (ref)
    • Snakemake: ?? <= 8.0.0
    • ?
  2. Check at the start of running the workflow. This is what's already done in other workflows such as nextstrain/mpox@d9f6d47

  3. [from @tsibley on Slack] We can put that declaration in nextstrain-pathogen.yaml and then use that information in the Snakefile if we desire. This then also lets nextstrain build and/or nextstrain run (and other tooling) verify it too.

Related issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions