H5ADMatrixSeed-class {HDF5Array} | R Documentation

## H5ADMatrixSeed objects

### Description

H5ADMatrixSeed is a low-level helper class used to represent a pointer to the central matrix stored of an `h5ad` file, or to one of the matrices in the `/layers` group.

It is a virtual class with three concrete subclasses: Dense_H5ADMatrixSeed, CSC_H5ADMatrixSeed, and CSR_H5ADMatrixSeed:

- The Dense_H5ADMatrixSeed class is used when the matrix is stored as a conventional HDF5 dataset in the `h5ad` file. It is a direct entension of the HDF5ArraySeed class.

- The CSC_H5ADMatrixSeed or CSR_H5ADMatrixSeed classes is used when the matrix is stored in the Compressed Sparse Column or Compressed Sparse Row format in the `h5ad` file. CSC_H5ADMatrixSeed is a direct entension of CSC_H5SparseMatrixSeed, and CSR_H5ADMatrixSeed a direct entension of CSR_H5SparseMatrixSeed.

Note that an H5ADMatrixSeed derivative is not intended to be used directly. Most end users will typically create and manipulate a higher-level H5ADMatrix object instead. See `?H5ADMatrix` for more information.

### Usage

    ## Constructor function:
    H5ADMatrixSeed(filepath, layer=NULL)

### Arguments

`filepath, layer` | See `?H5ADMatrix` for a description of these arguments.

### Details

Dense_H5ADMatrixSeed objects support the same limited set of methods as HDF5ArraySeed objects, and CSC_H5ADMatrixSeed and CSR_H5ADMatrixSeed objects support the same limited set of methods as H5SparseMatrixSeed objects. See `?HDF5ArraySeed` and `?H5SparseMatrixSeed` for the details.

### Value

`H5ADMatrixSeed()` returns an H5ADMatrixSeed derivative (Dense_H5ADMatrixSeed or CSC_H5ADMatrixSeed or CSR_H5ADMatrixSeed) of shape #variables x #observations.

### H5ADMatrixSeed vs H5ADMatrix objects

In order to have access to the full set of operations that are available for DelayedMatrix objects, an H5ADMatrixSeed derivative first needs to be wrapped in a DelayedMatrix object, typically by calling the `DelayedArray()` constructor on it.

This is what the `H5ADMatrix()` constructor function does.

Note that the result of this wrapping is an H5ADMatrix object, which is just an H5ADMatrixSeed derivative wrapped in a DelayedMatrix object.

### References

https://anndata.readthedocs.io/ for AnnData Python objects and the `h5ad` format.

### See Also

- H5ADMatrix objects.

- HDF5ArraySeed and H5SparseMatrixSeed objects.

- `readH5AD` and `writeH5AD` in the zellkonverter package for importing/exporting an `h5ad` file as/from a SingleCellExperiment object.

### Examples

    library(zellkonverter)
    h5ad_file <- system.file("extdata", "krumsiek11.h5ad",
                             package="zellkonverter")
    seed <- H5ADMatrixSeed(h5ad_file)
    seed
    path(seed)
    dim(seed)
    is_sparse(seed)

    DelayedArray(seed)
    stopifnot(class(DelayedArray(seed)) == "H5ADMatrix")

[Package HDF5Array version 1.22.1 Index]