Skip to content

Latest commit

 

History

History
83 lines (52 loc) · 6.89 KB

File metadata and controls

83 lines (52 loc) · 6.89 KB
graph LR
    Core_Aligned_Data_Structures["Core Aligned Data Structures"]
    Data_Views_Accessors["Data Views & Accessors"]
    Sparse_Data_Storage_Backing["Sparse Data Storage & Backing"]
    AnnData_Core_Data_Model["AnnData Core Data Model"]
    File_Backing_I_O_Management["File Backing & I/O Management"]
    AnnData_Core_Data_Model -- "uses" --> Core_Aligned_Data_Structures
    AnnData_Core_Data_Model -- "provides access to" --> Data_Views_Accessors
    AnnData_Core_Data_Model -- "manages" --> Sparse_Data_Storage_Backing
    AnnData_Core_Data_Model -- "interacts with" --> File_Backing_I_O_Management
    Data_Views_Accessors -- "provides interface to" --> Core_Aligned_Data_Structures
    Data_Views_Accessors -- "provides interface to" --> Sparse_Data_Storage_Backing
    Sparse_Data_Storage_Backing -- "utilizes" --> File_Backing_I_O_Management
    File_Backing_I_O_Management -- "supports" --> AnnData_Core_Data_Model
    File_Backing_I_O_Management -- "supports" --> Sparse_Data_Storage_Backing
Loading

CodeBoardingDemoContact

Details

This component is fundamental to anndata's "Data-Centric Architecture" and "Modular Design," providing the core mechanisms for efficient data representation, storage, and access. It ensures data integrity and optimizes memory usage, which is crucial for handling large-scale biological datasets.

Core Aligned Data Structures

This component provides the foundational data structures (AlignedActual, AxisArrays, Layers, PairwiseArrays) for organizing and aligning various data matrices within the AnnData object. It ensures consistent indexing across different data components (e.g., observations, variables, layers, embeddings), which is central to maintaining data integrity and facilitating integrated analysis.

Related Classes/Methods:

Data Views & Accessors

This component offers read-only or controlled access mechanisms (ArrayView, DataFrameView, SparseCSRMatrixView, _ViewMixin) to the underlying data arrays and dataframes. It optimizes memory usage by avoiding unnecessary data copies and ensures data integrity by providing controlled, immutable access, aligning with the "Proxy Pattern."

Related Classes/Methods:

Sparse Data Storage & Backing

This component manages the efficient storage and retrieval of sparse matrices (BaseCompressedSparseDataset, _CSCDataset, _CSRDataset, backed_csc_matrix, backed_csr_matrix), including mechanisms for backed (out-of-core) access from disk. This is vital for handling the large, sparse datasets common in single-cell genomics, directly supporting the "Data Storage/Persistence" and "Data Access/Manipulation" patterns.

Related Classes/Methods:

AnnData Core Data Model

The central data model (AnnData class) that encapsulates and orchestrates all other data structures and views, providing a unified, high-level interface for single-cell omics data. It integrates the aligned mappings, sparse datasets, and views into a cohesive, user-friendly object, acting as the "Core Data Model" and "Facade" for the library.

Related Classes/Methods:

File Backing & I/O Management

This component handles the persistence and lazy loading of AnnData objects to and from disk, primarily using HDF5 and Zarr formats. It manages file handles and ensures efficient out-of-core I/O operations for large datasets, directly implementing the "Data Storage/Persistence (I/O)" layer.

Related Classes/Methods: