graph LR
MultiQC_Core["MultiQC Core"]
Module_Data_Processing_System["Module & Data Processing System"]
Report_Visualization_Engine["Report & Visualization Engine"]
Configuration_Validation_System["Configuration & Validation System"]
System_Infrastructure_Interfaces["System Infrastructure & Interfaces"]
MultiQC_Core -- "orchestrates" --> Module_Data_Processing_System
MultiQC_Core -- "orchestrates" --> Report_Visualization_Engine
MultiQC_Core -- "configures with" --> Configuration_Validation_System
MultiQC_Core -- "relies on" --> System_Infrastructure_Interfaces
Module_Data_Processing_System -- "provides data to" --> Report_Visualization_Engine
Module_Data_Processing_System -- "configures with" --> Configuration_Validation_System
Report_Visualization_Engine -- "consumes data from" --> Module_Data_Processing_System
Report_Visualization_Engine -- "configures with" --> Configuration_Validation_System
Report_Visualization_Engine -- "utilizes" --> System_Infrastructure_Interfaces
Configuration_Validation_System -- "provides settings to" --> MultiQC_Core
Configuration_Validation_System -- "provides settings to" --> Module_Data_Processing_System
Configuration_Validation_System -- "provides settings to" --> Report_Visualization_Engine
System_Infrastructure_Interfaces -- "supports" --> MultiQC_Core
System_Infrastructure_Interfaces -- "supports" --> Report_Visualization_Engine
click MultiQC_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/MultiQC/MultiQC_Core.md" "Details"
click Module_Data_Processing_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/MultiQC/Module_Data_Processing_System.md" "Details"
click Report_Visualization_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/MultiQC/Report_Visualization_Engine.md" "Details"
click Configuration_Validation_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/MultiQC/Configuration_Validation_System.md" "Details"
click System_Infrastructure_Interfaces href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/MultiQC/System_Infrastructure_Interfaces.md" "Details"
Final Abstract Components Overview for MultiQC
MultiQC Core [Expand]
The central orchestrator of the MultiQC application. It handles command-line argument parsing, initializes the overall workflow, and coordinates the main stages of execution, including module execution and report generation.
Related Classes/Methods:
multiqc/multiqc.py(0:0)multiqc/__main__.py(0:0)multiqc/core/update_config.py(0:0)multiqc/core/file_search.py(0:0)multiqc/core/exec_modules.py(0:0)multiqc/core/order_modules_and_sections.py(0:0)multiqc/core/write_results.py(0:0)
Module & Data Processing System [Expand]
Responsible for parsing raw bioinformatics tool output, extracting relevant data, and preparing it for reporting and visualization. This includes the foundational module framework, tool-specific data parsers, and utilities for efficient data storage and software version tracking.
Related Classes/Methods:
multiqc/base_module.py(0:0)multiqc/modules/*/*.py(0:0)multiqc/core/plot_data_store.py(0:0)multiqc/core/software_versions.py(0:0)multiqc/utils/util_functions.py(0:0)multiqc/utils/mqc_colour.py(0:0)multiqc/utils/config_schema.py(0:0)
Report & Visualization Engine [Expand]
Generates the final interactive HTML report. It integrates processed data, various interactive plots (bar graphs, line graphs, heatmaps, etc.), and AI-generated interpretive summaries into a cohesive and user-friendly web page.
Related Classes/Methods:
multiqc/report.py(0:0)multiqc/plots/*.py(0:0)multiqc/core/ai.py(0:0)
Configuration & Validation System [Expand]
Manages all application configuration settings. It handles loading default settings, merging user-defined YAML files, and applying command-line overrides. It also provides mechanisms for validating configuration settings and data structures against predefined schemas.
Related Classes/Methods:
multiqc/config.py(0:0)multiqc/config_defaults.yaml(0:0)multiqc/validation.py(0:0)
System Infrastructure & Interfaces [Expand]
Provides foundational cross-cutting services such as robust logging, temporary file management, and a flexible plugin system for extensibility. It also offers an interactive API for programmatic interaction with MultiQC, enabling use in environments like Jupyter notebooks.
Related Classes/Methods: