graph LR
Mathematical_Utilities["Mathematical Utilities"]
Logging_Utilities["Logging Utilities"]
Error_Handling_Utilities["Error Handling Utilities"]
Type_Definitions_and_Validation_Utilities["Type Definitions and Validation Utilities"]
Command_Line_Utilities["Command Line Utilities"]
Classification_Helper_Utilities["Classification Helper Utilities"]
Nonadditivity_Core_Logic -- "uses" --> Mathematical_Utilities
Output_Generation -- "uses" --> Mathematical_Utilities
CLI_Entry_Point -- "uses" --> Logging_Utilities
Workflow_Orchestrator -- "uses" --> Logging_Utilities
MMPDB_Helper -- "uses" --> Error_Handling_Utilities
Classification_Classes -- "uses" --> Type_Definitions_and_Validation_Utilities
R_Group_Distance_Calculation -- "uses" --> Type_Definitions_and_Validation_Utilities
CLI_Entry_Point -- "uses" --> Command_Line_Utilities
Workflow_Orchestrator -- "uses" --> Command_Line_Utilities
Circle_Classification -- "uses" --> Classification_Helper_Utilities
Compound_Classification -- "uses" --> Classification_Helper_Utilities
The Shared Utilities component serves as a foundational layer within the nonadditivity project, providing a centralized collection of reusable helper functions and common functionalities. It encapsulates various cross-cutting concerns, including mathematical operations, logging, error handling, type definitions, command-line interface helpers, and specific utilities for the classification workflow. This modular design promotes code reusability, maintainability, and a clear separation of concerns, aligning with the project's emphasis on a highly modular and cohesive architecture. By abstracting these common functionalities, the core business logic remains cleaner and more focused.
Provides a collection of common mathematical functions and statistical operations. These are fundamental for numerical computations across various parts of the application, especially for calculating non-additivity metrics and statistical properties in the core logic and output generation.
Related Classes/Methods:
Handles all logging functionalities within the application, providing a centralized and consistent way to record events, debug information, warnings, and errors. This is crucial for monitoring application execution and troubleshooting.
Related Classes/Methods:
Defines custom exception types and provides helper functions for robust error management. This ensures that specific errors can be caught and handled gracefully, improving the application's resilience and user feedback.
Related Classes/Methods:
Contains custom data types, enums, and validation functions used throughout the application to ensure data consistency and integrity. This promotes type safety and helps prevent common data-related bugs.
Related Classes/Methods:
Provides helper functions specifically designed to assist with command-line interface operations, such as argument parsing, progress bar management, or other CLI-specific interactions.
Related Classes/Methods:
Offers utility functions specifically tailored for the classification workflow, including general data manipulation, validation checks for atom indices and matches, and cheminformatics-specific conversions like SMARTS to SMILES. These functions support the various classification modules by providing common, reusable logic.
Related Classes/Methods: