Current Behaviour
For the entropy panel to be displayed in auspice we have three requirements:
JSON.panels includes "entropy"
JSON.meta.genome_annotations exists and includes at least a {nuc: {start: INT, end: INT}} object.
- Some mutations to be annotated on branches in the tree.
These typically come from an augur workflow with steps:
(i) augur ancestral (does not create a nodeDataJSON.annotations object)
(ii) augur translate (creates a nodeDataJSON.annotations object)
(iii) augur export (takes care of requirement 1 unless you opt-out, and converts the nodeDataJSON.annotations object to JSON.meta.genome_annotations).
However if you choose not to translate mutations (step ii) then no annotations object is available for export, and thus requirement 2 is not met and the entropy panel is not displayed.
Expected behavior
A pipeline using steps (i, iii) should be valid. In other words, translating mutations should be optional.
Possible solution
The solution is not as simple as just adding an annotations block to the node-data JSON produced by augur ancestral, as augur export v2 assumes that there will only be one of these blocks.
The most consistent would be for
augur ancestral creates a nodeDataJSON.annotations object with nuc information
augur translate creates a nodeDataJSON.annotations object with per-gene information
augur export v2 accepts multiple annotations blocks and combines them, accepting identical duplicate elements and exiting if there are conflicts.
Current Behaviour
For the entropy panel to be displayed in auspice we have three requirements:
JSON.panelsincludes"entropy"JSON.meta.genome_annotationsexists and includes at least a{nuc: {start: INT, end: INT}}object.These typically come from an augur workflow with steps:
(i)
augur ancestral(does not create anodeDataJSON.annotationsobject)(ii)
augur translate(creates anodeDataJSON.annotationsobject)(iii)
augur export(takes care of requirement 1 unless you opt-out, and converts thenodeDataJSON.annotationsobject toJSON.meta.genome_annotations).However if you choose not to translate mutations (step ii) then no
annotationsobject is available for export, and thus requirement 2 is not met and the entropy panel is not displayed.Expected behavior
A pipeline using steps (i, iii) should be valid. In other words, translating mutations should be optional.
Possible solution
The solution is not as simple as just adding an annotations block to the node-data JSON produced by
augur ancestral, asaugur export v2assumes that there will only be one of these blocks.The most consistent would be for
augur ancestralcreates anodeDataJSON.annotationsobject withnucinformationaugur translatecreates anodeDataJSON.annotationsobject with per-gene informationaugur export v2accepts multiple annotations blocks and combines them, accepting identical duplicate elements and exiting if there are conflicts.