Skip to content

augur clades inheritance doesn't enforce inheritance #1837

Description

@jameshadfield

In the mutation-definition TSV supplied to augur clades we can define a clade as inherited from another clade. For instance, the TSV line

Y	clade	X

means that clade Y inherits from clade X. Intuitively, I think that clade Y in the tree must be a descendant of clade X (or perhaps equal to it). The current implementation instead simply copies the clade-X defining mutations and adds them to the list of mutations used for clade Y. PR #1836 adds a (failing) test to demonstrate this, which I'll use here:

We have a very simple tree with mutations labelled on 3 branches:

Image

and the following clades.tsv:

clade	gene	site	alt
# There's two options for clade X - each of the root's children
# match this. The upper clade "wins" as it has more descendants
X	nuc	1	T
# Clade Y "inherits" from clade X with an additional mutation.
# Intuitively, this means Y must be a descendent of X, however
# this isn't the way `augur clades` is currently implemented
Y	clade	X
Y	nuc	2	T

The resulting clades chosen are, IMO, wrong:

Image

Here's what I think is correct:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions