graph LR
CLI_Entry_Point["CLI Entry Point"]
Workflow_Orchestrator["Workflow Orchestrator"]
Input_Parser["Input Parser"]
MMPDB_Helper_Processor["MMPDB Helper/Processor"]
Nonadditivity_Core_Logic["Nonadditivity Core Logic"]
Classification_Module["Classification Module"]
Output_Generator["Output Generator"]
Utility_Logging["Utility - Logging"]
Utility_Commandline["Utility - Commandline"]
CLI_Entry_Point -- "initiates" --> Workflow_Orchestrator
CLI_Entry_Point -- "utilizes" --> Utility_Commandline
CLI_Entry_Point -- "utilizes" --> Utility_Logging
Workflow_Orchestrator -- "calls" --> Input_Parser
Workflow_Orchestrator -- "calls" --> MMPDB_Helper_Processor
Workflow_Orchestrator -- "calls" --> Nonadditivity_Core_Logic
Workflow_Orchestrator -- "calls" --> Classification_Module
Workflow_Orchestrator -- "calls" --> Output_Generator
Workflow_Orchestrator -- "receives input from" --> Utility_Commandline
Input_Parser -- "provides data to" --> Workflow_Orchestrator
MMPDB_Helper_Processor -- "provides data to" --> Workflow_Orchestrator
Nonadditivity_Core_Logic -- "provides data to" --> Workflow_Orchestrator
Classification_Module -- "processes data from" --> Workflow_Orchestrator
Output_Generator -- "receives data from" --> Workflow_Orchestrator
Utility_Logging -- "utilized by" --> CLI_Entry_Point
Utility_Logging -- "utilized by" --> Workflow_Orchestrator
Utility_Commandline -- "provides input to" --> CLI_Entry_Point
Utility_Commandline -- "provides input to" --> Workflow_Orchestrator
click Workflow_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/NonadditivityAnalysis/Workflow_Orchestrator.md" "Details"
The Workflow Orchestrator is the central coordinating component of the nonadditivity analysis application. It embodies the pipeline/workflow architectural pattern, ensuring the sequential and correct execution of various sub-processes from data ingestion to final output. Its fundamental role is to manage the data flow and delegate specific tasks to specialized modules, acting as the backbone of the application's analytical process.
The primary interface for users to interact with the nonadditivity analysis tool. It parses command-line arguments and initiates the main workflow.
Related Classes/Methods:
Workflow Orchestrator [Expand]
Manages the overall execution flow of the nonadditivity analysis, coordinating the sequence of operations from input processing through core logic to final output generation. It acts as the central coordinator, delegating tasks to specialized modules.
Related Classes/Methods:
Responsible for reading, validating, and pre-processing the raw input data (e.g., SMILES, properties) required for the nonadditivity analysis.
Related Classes/Methods:
Handles the generation and processing of Matched Molecular Pairs (MMPs) using the mmpdb library, which are crucial for the nonadditivity analysis.
Related Classes/Methods:
Encapsulates the primary algorithms for calculating nonadditivity and identifying double-transformation cycles based on the processed MMPs.
Related Classes/Methods:
Applies classification rules or models to categorize the nonadditivity analysis results, providing insights into the nature of the observed nonadditivity.
Related Classes/Methods:
Formats and writes the final results of the nonadditivity analysis, including raw data, processed MMPs, and nonadditivity scores, to specified output files.
Related Classes/Methods:
Provides a centralized logging mechanism for the application, enabling tracking of execution progress, debugging, and error reporting.
Related Classes/Methods:
Contains helper functions and data structures for parsing and managing command-line arguments and options, ensuring consistent input handling across the application.
Related Classes/Methods: