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
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.
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:
anndata._core.aligned_mapping.AlignedActual(201:230)anndata._core.aligned_mapping.AxisArrays(290:301)anndata._core.aligned_mapping.Layers(323:324)anndata._core.aligned_mapping.PairwiseArrays(361:372)
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:
anndata._core.views.ArrayView(105:169)anndata._core.views.DataFrameView(268:289)anndata._core.views.SparseCSRMatrixView(209:212)anndata._core.views._ViewMixin(84:99)
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.sparse_dataset.BaseCompressedSparseDatasetanndata._core.sparse_dataset._CSCDatasetanndata._core.sparse_dataset._CSRDatasetanndata._core.sparse_dataset.backed_csc_matrixanndata._core.sparse_dataset.backed_csr_matrix
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:
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: