Skip to content

augur clades inheritance doesn't enforce inheritance #1837

@jameshadfield

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions