graph LR
Molecular_Standardization_Engine["Molecular Standardization Engine"]
Structure_Validation_Service["Structure Validation Service"]
Reference_Data_Manager["Reference Data Manager"]
Exclusion_Rule_Processor["Exclusion Rule Processor"]
Automated_Test_Suite["Automated Test Suite"]
Molecular_Standardization_Engine -- "reads reference data from" --> Reference_Data_Manager
Molecular_Standardization_Engine -- "applies exclusion rules from" --> Exclusion_Rule_Processor
Molecular_Standardization_Engine -- "submits molecules for validation to" --> Structure_Validation_Service
Structure_Validation_Service -- "returns validation results to" --> Molecular_Standardization_Engine
Automated_Test_Suite -- "tests the functionality of" --> Molecular_Standardization_Engine
Automated_Test_Suite -- "tests the functionality of" --> Structure_Validation_Service
Automated_Test_Suite -- "tests the data integrity of" --> Reference_Data_Manager
Automated_Test_Suite -- "tests the rule application of" --> Exclusion_Rule_Processor
click Molecular_Standardization_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ChEMBL_Structure_Pipeline/Molecular_Standardization_Engine.md" "Details"
Component overview and relationships for the chembl_structure_pipeline project.
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)
This component provides a comprehensive suite of checks to validate the integrity and correctness of chemical structures. It identifies common issues such as illegal bond types, stereochemical errors, or the presence of problematic 3D flags. The checker.py module, with its CheckerBase and MolChecker hierarchy, exemplifies a well-defined service layer for various validation tasks.
Related Classes/Methods:
chembl_structure_pipeline.checker.CheckerBase(25:26)chembl_structure_pipeline.checker.MolChecker(29:30)
This component is responsible for managing and providing access to external chemical reference data. This includes crucial information like lists of common salts (salts.smi) and solvents (solvents.smi), which are essential for operations performed by other components, particularly during standardization (e.g., salt stripping).
Related Classes/Methods:
chembl_structure_pipeline/data/salts.smichembl_structure_pipeline/data/solvents.smi
This component implements the logic for identifying and flagging chemical structures that should be excluded from further processing based on predefined criteria. It acts as a filter, ensuring that only relevant and appropriate structures continue through the pipeline.
Related Classes/Methods:
This component encompasses all unit and integration tests for the standardization and checking functionalities. It plays a critical role in ensuring the correctness, robustness, and reliability of the pipeline's operations, verifying that chemical transformations and validations behave as expected.
Related Classes/Methods:
chembl_structure_pipeline/test/test_checker.pychembl_structure_pipeline/test/test_standardizer.pychembl_structure_pipeline/test/test_data/