Skip to content

Latest commit

 

History

History
86 lines (50 loc) · 5.14 KB

File metadata and controls

86 lines (50 loc) · 5.14 KB
graph LR
    I_O_Registry["I/O Registry"]
    H5AD_Format_Handler["H5AD Format Handler"]
    Zarr_Format_Handler["Zarr Format Handler"]
    Read_Operations["Read Operations"]
    Write_Operations["Write Operations"]
    I_O_Utilities["I/O Utilities"]
    I_O_Registry -- "registers and dispatches to" --> H5AD_Format_Handler
    I_O_Registry -- "registers and dispatches to" --> Zarr_Format_Handler
    Read_Operations -- "utilizes" --> I_O_Registry
    Write_Operations -- "utilizes" --> I_O_Registry
    H5AD_Format_Handler -- "depends on" --> I_O_Utilities
    Zarr_Format_Handler -- "depends on" --> I_O_Utilities
    AnnData_Core_Data_Model -- "initiates calls to and constructs objects from" --> Read_Operations
    AnnData_Core_Data_Model -- "initiates calls to and constructs objects from" --> Write_Operations
    Experimental_Features_Module -- "can extend or utilize" --> I_O_Registry
Loading

CodeBoardingDemoContact

Details

The I/O Management component in anndata is crucial for data persistence and interoperability within the scientific data management library. It adheres to the "Data Storage/Persistence" architectural pattern by providing a flexible and extensible framework for handling various data formats.

I/O Registry

This component acts as the central hub for registering and managing read and write methods for different data formats. It uses a registry pattern to allow for dynamic dispatch of I/O operations, making the system highly extensible. It includes IORegistry, Reader, Writer, and LazyReader classes.

Related Classes/Methods:

H5AD Format Handler

This component is responsible for the serialization and deserialization of AnnData objects to and from the H5AD format, which is a specialized HDF5-based format for single-cell data. It handles the intricacies of mapping AnnData's internal structure to HDF5 groups and datasets.

Related Classes/Methods:

Zarr Format Handler

This component provides support for reading and writing AnnData objects using the Zarr format. Zarr is a cloud-friendly, chunked, and compressed array format, enabling efficient out-of-core computation and distributed data handling.

Related Classes/Methods:

Read Operations

This component provides high-level functions for reading AnnData objects from various file formats. It leverages the IORegistry to dispatch to the appropriate format-specific reader (e.g., H5AD, Zarr, CSV, Loom) based on the file extension or explicit format specification.

Related Classes/Methods:

Write Operations

Similar to read operations, this component offers high-level functions for writing AnnData objects to different file formats. It interacts with the IORegistry to select and execute the correct writer for the specified format.

Related Classes/Methods:

I/O Utilities

This component contains helper functions and utilities used across different I/O operations. This might include functions for path handling, data type conversions, or other common tasks that support the reading and writing processes.

Related Classes/Methods: