graph LR
Tree_Export_Orchestrator["Tree Export Orchestrator"]
Input_Data_and_Configuration_Loader["Input Data and Configuration Loader"]
Tree_Data_Transformer["Tree Data Transformer"]
Visualization_Configuration_Processor["Visualization Configuration Processor"]
Output_Schema_Validator["Output Schema Validator"]
Tree_Export_Orchestrator -- "initiates calls to" --> Input_Data_and_Configuration_Loader
Tree_Export_Orchestrator -- "invokes" --> Tree_Data_Transformer
Tree_Export_Orchestrator -- "calls" --> Visualization_Configuration_Processor
Tree_Export_Orchestrator -- "passes data to" --> Output_Schema_Validator
Input_Data_and_Configuration_Loader -- "provides data to" --> Tree_Export_Orchestrator
Input_Data_and_Configuration_Loader -- "provides data to" --> Tree_Data_Transformer
Tree_Data_Transformer -- "outputs data to" --> Tree_Export_Orchestrator
Output_Schema_Validator -- "provides status to" --> Tree_Export_Orchestrator
The Data Export & Visualization Preparation component is a critical part of the bioinformatics pipeline, responsible for transforming processed phylogenetic data into standardized JSON formats suitable for external visualization platforms like Auspice. This component adheres to the project's architectural patterns by being modular, data-centric, and part of a larger pipeline. This component is dedicated to formatting and serializing all processed bioinformatics data, particularly phylogenetic trees and their associated node data and metadata, into standardized JSON formats. These outputs are specifically designed for seamless integration with external visualization platforms, such as Auspice, enabling interactive exploration of the analysis results.
This component serves as the primary entry point for the data export process, coordinating the entire workflow for different Auspice schema versions (v1 and v2). It orchestrates the loading of input data, the transformation and enrichment of phylogenetic tree data, the application of visualization-specific configurations, and the final serialization and validation of the output JSON. It acts as the central control unit for the export pipeline, embodying the "Pipeline/Workflow Architecture" pattern.
Related Classes/Methods:
Responsible for reading, parsing, and preparing all necessary input data, including phylogenetic tree files, associated metadata (TSVs), and configuration files. It ensures that the raw data is correctly interpreted and made available for subsequent processing steps in the export pipeline. This component handles the initial data ingestion and setup, aligning with a "Data-Centric Architecture" by focusing on robust data input.
Related Classes/Methods:
augur.export_v1.ensure_config_is_v1augur.export_v2.parse_node_data_and_metadataaugur.export_v2.get_additional_metadata_columnsaugur.export_v2.get_config_colorings_as_dict
This component handles the core transformation of the phylogenetic tree object into a JSON-compatible structure. It recursively traverses the tree, converting nodes and branches, and enriches them with various biological and epidemiological attributes derived from input metadata, ancestral reconstructions, and trait inferences. This includes adding details like dates, geographic information, and confidence scores, forming the foundational tree representation. This component is central to the "Data Models and Schemas" aspect, as it shapes the primary data structure for export.
Related Classes/Methods:
augur.export_v1.convert_tree_to_json_structureaugur.export_v2.convert_tree_to_json_structureaugur.export_v1.add_tsv_metadata_to_nodesaugur.export_v2.set_node_attrs_on_treeaugur.export_v2.set_branch_attrs_on_treeaugur.export_v2.create_author_dataaugur.export_v2.attr_confidence
Manages the definition and application of visual colorings, data filters, and geographic resolutions based on specific traits or metadata properties. This component prepares the processed tree data for interactive visualization in platforms like Auspice, enabling users to highlight and explore specific aspects of the phylogenetic analysis results. It ensures the data is visually ready for display, directly supporting the "Data-Centric Architecture" by preparing data for its final consumption.
Related Classes/Methods:
augur.export_v1.process_coloringsaugur.export_v2.set_coloringsaugur.export_v2.set_filtersaugur.export_v1.process_geographic_infoaugur.export_v2.set_geo_resolutions
Ensures that the final generated JSON output conforms strictly to the specified Auspice schema (v1 or v2). This validation step is critical for guaranteeing compatibility and seamless integration with external visualization platforms, preventing malformed data from being passed downstream. It acts as a quality gate for the exported data, aligning with the "Data Models and Schemas" pattern by enforcing data integrity.
Related Classes/Methods: