graph LR
API_Gateway_Orchestrator["API Gateway / Orchestrator"]
Molecular_I_O_Utility["Molecular I/O Utility"]
Molecular_Standardization_Engine["Molecular Standardization Engine"]
Molecular_Validation_Engine["Molecular Validation Engine"]
Reference_Data_Store["Reference Data Store"]
Exclusion_Rule_Service["Exclusion Rule Service"]
API_Gateway_Orchestrator -- "calls" --> Molecular_I_O_Utility
API_Gateway_Orchestrator -- "orchestrates" --> Molecular_Standardization_Engine
API_Gateway_Orchestrator -- "orchestrates" --> Molecular_Validation_Engine
Molecular_I_O_Utility -- "provides input to" --> Molecular_Standardization_Engine
Molecular_Standardization_Engine -- "returns to" --> API_Gateway_Orchestrator
Molecular_Standardization_Engine -- "utilizes" --> Reference_Data_Store
Molecular_Standardization_Engine -- "utilizes" --> Exclusion_Rule_Service
Molecular_Validation_Engine -- "returns reports to" --> API_Gateway_Orchestrator
Molecular_Validation_Engine -- "utilizes" --> Reference_Data_Store
Reference_Data_Store -- "supplies data to" --> Molecular_Standardization_Engine
Reference_Data_Store -- "supplies data to" --> Molecular_Validation_Engine
Exclusion_Rule_Service -- "applies rules to" --> Molecular_Standardization_Engine
click API_Gateway_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/API_Gateway_Orchestrator.md" "Details"
click Molecular_I_O_Utility href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/Molecular_I_O_Utility.md" "Details"
click Molecular_Standardization_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/Molecular_Standardization_Engine.md" "Details"
click Molecular_Validation_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/Molecular_Validation_Engine.md" "Details"
click Reference_Data_Store href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/Reference_Data_Store.md" "Details"
Abstract components and their relationships for a chemical structure standardization and validation library.
API Gateway / Orchestrator [Expand]
Serves as the primary public interface for the library, exposing high-level functions for chemical structure standardization and validation. It orchestrates the workflow by coordinating calls to the underlying processing engines and managing the overall pipeline execution.
Related Classes/Methods:
chembl_structure_pipeline.standardizer:standardize_molblock(508:513)chembl_structure_pipeline.checker:check_molblock(486:509)
Molecular I/O Utility [Expand]
Responsible for handling the conversion of chemical structure data between external formats (e.g., molblocks) and the internal RDKit Mol object representation. It ensures consistent data ingestion and preparation for subsequent processing, primarily for the standardization process.
Related Classes/Methods:
Molecular Standardization Engine [Expand]
The core processing unit for chemical structure normalization. It applies a series of predefined transformations (e.g., charge neutralization, fragment removal, tautomer standardization, drawing cleanup) to ensure consistency and adherence to chemical rules. It also incorporates exclusion rules during certain standardization steps.
Related Classes/Methods:
chembl_structure_pipeline.standardizer:standardize_mol(455:472)chembl_structure_pipeline.standardizer:get_parent_mol(438:443)chembl_structure_pipeline.standardizer:cleanup_drawing_mol(252:266)chembl_structure_pipeline.standardizer:get_fragment_parent_mol(290:427)
Molecular Validation Engine [Expand]
Assesses the quality, integrity, and adherence to specific chemical properties of molecular structures. It orchestrates various specialized checks (e.g., InChI, stereochemistry, atom counts, bond types) to identify potential issues. It performs its own internal molblock parsing.
Related Classes/Methods:
chembl_structure_pipeline.checker:InchiChecker(58:117)chembl_structure_pipeline.checker:StereoChecker(120:199)chembl_structure_pipeline.checker:check_molblock(486:509)
Reference Data Store [Expand]
A passive component that serves as a centralized repository for static chemical data essential for standardization processes. This includes lists of common salts and solvents, which are read directly from data files.
Related Classes/Methods:
chembl_structure_pipeline.standardizer:_solvents_file(287:287)chembl_structure_pipeline.standardizer:_salts_file(288:288)chembl_structure_pipeline.standardizer:get_fragment_parent_mol(290:427)
Implements specific logic and rules to identify and flag chemical structures that should be excluded from further processing or analysis based on predefined criteria. This service is primarily utilized during the molecular standardization process.
Related Classes/Methods: