Skip to content

Latest commit

 

History

History
85 lines (54 loc) · 7.98 KB

File metadata and controls

85 lines (54 loc) · 7.98 KB
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
Loading

CodeBoardingDemoContact

Details

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.

Tree Export Orchestrator

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:

Input Data and Configuration Loader

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:

Tree Data Transformer

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:

Visualization Configuration Processor

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:

Output Schema Validator

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: