Skip to content

Use per-input id_field #44

Description

@victorlin

follow-up to nextstrain/augur#1780 (comment)

Replace the pattern of using a global strain_id_field with an id_field per input. Implementation details:

  1. Always use augur merge, even for single inputs.

  2. Workflow-level merge_inputs.smk should take an id_field per input.

    inputs:
        - name: default
          metadata: <path-or-url>
          id_field: accession
          sequences: <path-or-url>
    
    additional_inputs:
        - name: private
          metadata: <path-or-url>
          id_field: strain
          sequences: <path-or-url>
    augur merge
       --metadata default=metadata1.tsv private=metadata2.tsv
       --metadata-id-columns default=accession private=strain
  3. Use augur merge --output-metadata-id-column to customize the output instead of always using the first file's id_field.

    augur merge
       --metadata default=metadata1.tsv private=metadata2.tsv
       --metadata-id-columns default=accession private=strain
       --output-metadata merged.tsv
       --output-metadata-id-column id

Progress

Metadata

Metadata

Assignees

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