augur.export_v2

Export version 2 JSON schema for visualization with Auspice

class augur.export_v2.CustomOrderedDict(*args)

Bases: OrderedDict

Similar to OrderedDict but will convert dictionaries (and dictionaries of dictionaries) into (nested) CustomOrderedDicts. Encountered lists of dicts will be converted to lists of CustomOrderedDict but we will not recursively explore nested lists. Tuples and other iterators are not explored.

move_to_end_if_present(key, **kwargs)
set_order(*order)

changes the order of keys to match those specified in order as much as possible. Missing keys are ignored. Extra keys will come after those specified in order.

exception augur.export_v2.InvalidOption

Bases: Exception

augur.export_v2.are_clades_defined(node_attrs)
augur.export_v2.are_dates_defined(node_attrs)
augur.export_v2.are_mutations_defined(node_attrs)
augur.export_v2.configure_warnings()
augur.export_v2.convert_tree_to_json_structure(node, metadata, div=0)

converts the Biopython tree structure to a dictionary that can be written to file as a json. This is called recursively. Creates the name property & divergence on each node

input

node – node for which top level dict is produced. div – cumulative divergence (root = 0). False β†’ divergence won’t be exported.

returns

tree in JSON structure list of strains

augur.export_v2.counter_to_disambiguation_suffix(count)

Given a numeric count of author papers, return a distinct alphabetical disambiguation suffix.

>>> counter_to_disambiguation_suffix(0)
'A'
>>> counter_to_disambiguation_suffix(25)
'Z'
>>> counter_to_disambiguation_suffix(26)
'AA'
>>> counter_to_disambiguation_suffix(51)
'AZ'
>>> counter_to_disambiguation_suffix(52)
'BA'
augur.export_v2.create_author_data(node_attrs)

Gather the authors which appear in the metadata and create the author info structure with unique keys

augur.export_v2.deprecated(message)
augur.export_v2.fatal(message)
augur.export_v2.get_config(args)
augur.export_v2.get_config_colorings_as_dict(config)
augur.export_v2.get_values_across_nodes(node_attrs, key)
augur.export_v2.is_valid(value)
augur.export_v2.node_data_prop_is_normal_trait(name)
augur.export_v2.orderKeys(data)

converts the data dict (where keys are inherently unordered) into an OrderedDict where keys are nicely ordered for human eyes to scan the data when written to JSON. The ordering (mostly) mirrors the schema.

augur.export_v2.parse_node_data_and_metadata(T, node_data, metadata)
augur.export_v2.register_parser(parent_subparsers)
augur.export_v2.run(args)
augur.export_v2.set_annotations(data_json, node_data)
augur.export_v2.set_build_url(data_json, config, cmd_line_build_url)
augur.export_v2.set_colorings(data_json, config, command_line_colorings, metadata_names, node_data_colorings, provided_colors, node_attrs)
augur.export_v2.set_data_provenance(data_json, config)

Set the data provenance from the given config file to the given data JSON.

Parameters:
  • data_json (dict) – auspice JSON to be updated

  • config (dict) – config JSON with an expected data_provenance key

>>> config = {"data_provenance": [{"name": "GISAID"}, {"name": "INSDC"}]}
>>> data_json = {"meta": {}}
>>> set_data_provenance(data_json, config)
>>> data_json["meta"]["data_provenance"][0]["name"]
'GISAID'
augur.export_v2.set_description(data_json, cmd_line_description_file)

Read Markdown file provided by cmd_line_description_file and set meta.description in data_json to the text provided.

augur.export_v2.set_display_defaults(data_json, config)
augur.export_v2.set_filters(data_json, config)
augur.export_v2.set_geo_resolutions(data_json, config, command_line_traits, lat_long_mapping, node_attrs)

appropriately combine provided geo resolutions from command line & config files and associate with lat/longs.

augur.export_v2.set_maintainers(data_json, config, cmd_line_maintainers)
augur.export_v2.set_node_attrs_on_tree(data_json, node_attrs)

Assign desired colorings, metadata etc to the tree structure

Parameters:
  • data_json (dict) –

  • node_attrs (dict) – keys: strain names. values: dict with keys -> all available metadata (even β€œexcluded” keys), values -> data (string / numeric / bool)

augur.export_v2.set_panels(data_json, config, cmd_line_panels)
augur.export_v2.set_title(data_json, config, cmd_line_title)
augur.export_v2.update_deprecated_names(name)
augur.export_v2.validate_data_json(filename, validation_mode=ValidationMode.ERROR)
augur.export_v2.validation_failure(mode: ValidationMode)
augur.export_v2.warning(message)