graph LR
CLI_Workflow_Orchestrator["CLI Workflow Orchestrator"]
Data_I_O_Layer["Data I/O Layer"]
Core_Molecular_Model["Core Molecular Model"]
Molecular_Processing_Analysis_Services["Molecular Processing & Analysis Services"]
External_Data_Integration["External Data Integration"]
Unclassified["Unclassified"]
CLI_Workflow_Orchestrator -- "Initiates Read/Write Operations" --> Data_I_O_Layer
Data_I_O_Layer -- "Populates Chemical Component Data" --> Core_Molecular_Model
Core_Molecular_Model -- "Provides Molecular Data for Analysis" --> Molecular_Processing_Analysis_Services
Molecular_Processing_Analysis_Services -- "Updates with Processed Molecular Data" --> Core_Molecular_Model
Core_Molecular_Model -- "Requests External Mappings/Templates" --> External_Data_Integration
External_Data_Integration -- "Supplies External Chemical Data" --> Core_Molecular_Model
External_Data_Integration -- "Provides Depiction Templates" --> Molecular_Processing_Analysis_Services
click CLI_Workflow_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ccdutils/CLI_Workflow_Orchestrator.md" "Details"
click Data_I_O_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ccdutils/Data_I_O_Layer.md" "Details"
The ccdutils project is structured around a core molecular model, providing services for processing and analyzing chemical components. The system is initiated through CLI workflows, which interact with a dedicated Data I/O Layer to manage the reading and writing of various chemical data formats. The Core Molecular Model serves as the central data representation, enriched and manipulated by the Molecular Processing & Analysis Services. These services perform complex computations, such as 2D depiction generation, bound molecule inference, and fragment library searches. Additionally, the system integrates with external data sources through the External Data Integration component to retrieve supplementary chemical information. This modular design ensures clear separation of concerns, facilitating maintainability and extensibility, and is optimized for generating clear data flow diagrams.
CLI Workflow Orchestrator [Expand]
The user-facing interface for initiating and managing chemical component processing workflows. It orchestrates the reading of input data, execution of various molecular processing steps, and the final output generation.
Related Classes/Methods:
pdbeccdutils.scripts.process_components_cif_cli.PDBeChemManagerpdbeccdutils.scripts.boundmolecule_cli.PDBeBmManager
Data I/O Layer [Expand]
Responsible for all data persistence and retrieval, handling various chemical data formats (CCD, CLC, PRD) from/to CIF, PDB, SDF, XML, JSON, CML, and XYZ files. It acts as the gateway for raw and processed chemical data.
Related Classes/Methods:
pdbeccdutils.core.ccd_readerpdbeccdutils.core.clc_readerpdbeccdutils.core.prd_readerpdbeccdutils.core.ccd_writerpdbeccdutils.core.clc_writerpdbeccdutils.core.prd_writer
The central data structure representing a chemical component, encapsulating its molecular structure, physicochemical properties, and managing 2D/3D conformers. It serves as the canonical representation throughout the processing pipeline.
Related Classes/Methods:
A suite of services dedicated to advanced molecular computations and analyses. This includes generating 2D depictions, inferring and processing bound molecules, searching fragment libraries, performing molecular comparisons, and general molecular utility functions.
Related Classes/Methods:
pdbeccdutils.core.depictions.DepictionManagerpdbeccdutils.helpers.drawingpdbeccdutils.core.boundmoleculepdbeccdutils.core.fragment_library.FragmentLibrarypdbeccdutils.computations.parity_methodpdbeccdutils.helpers.mol_tools
Manages interactions with external web services and data sources (e.g., UniChem, PubChem) to retrieve chemical mappings, templates, and other supplementary information.
Related Classes/Methods:
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None