graph LR
Data_I_O_Layer_Core_["Data I/O Layer (Core)"]
Molecular_Model_Layer["Molecular Model Layer"]
External_Libraries_RDKit_GEMMI_["External Libraries (RDKit, GEMMI)"]
Utility_Functions_pdbeccdutils_helpers_pdbeccdutils_utils_["Utility Functions (pdbeccdutils.helpers, pdbeccdutils.utils)"]
Unclassified["Unclassified"]
Data_I_O_Layer_Core_ -- "parses data into" --> Molecular_Model_Layer
Data_I_O_Layer_Core_ -- "serializes data from" --> Molecular_Model_Layer
Data_I_O_Layer_Core_ -- "delegates low-level parsing/writing tasks to" --> External_Libraries_RDKit_GEMMI_
Data_I_O_Layer_Core_ -- "leverages helper functions from" --> Utility_Functions_pdbeccdutils_helpers_pdbeccdutils_utils_
The pdbeccdutils project is structured around a core Molecular Model Layer that provides an in-memory representation of chemical components. The Data I/O Layer (Core) handles the crucial tasks of parsing various chemical data formats into this molecular model and serializing the model back into external file formats. This layer leverages External Libraries (RDKit, GEMMI) for complex, low-level chemical data manipulation and relies on Utility Functions (pdbeccdutils.helpers, pdbeccdutils.utils) for common helper operations. This architecture ensures a clear separation of concerns, with dedicated components for data representation, input/output operations, and external library integration.
This component is responsible for the direct parsing of various chemical data formats (CIF, PDB, SDF, XML, JSON, CML, XYZ) into the internal molecular model and the serialization of these models back into external file formats. It encapsulates the logic for handling different chemical component definition types (CCD, CLC, PRD).
Related Classes/Methods:
pdbeccdutils.core.ccd_reader.CCDReader:56-75pdbeccdutils.core.clc_reader.CLCReaderpdbeccdutils.core.prd_reader.PRDReaderpdbeccdutils.core.ccd_writer.CCDWriterpdbeccdutils.core.clc_writer.CLCWriterpdbeccdutils.core.prd_writer.PRDWriter
This component provides the standardized, in-memory representation of chemical components. It serves as the target for data parsed by the Data I/O Layer and the source for data written by it. It defines the data structures that hold the chemical information.
Related Classes/Methods:
These are third-party scientific computing libraries that provide low-level functionalities for chemical data manipulation, including advanced parsing, structural validation, and writing of specific chemical file formats. The Data I/O Layer delegates complex format-specific tasks to these libraries.
Related Classes/Methods:
rdkit:222-236gemmi
This component provides common helper functions that support the Data I/O Layer's operations. This might include file path manipulation, basic data transformations, or other general-purpose utilities that simplify the reading and writing processes.
Related Classes/Methods:
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None