anndata.io.sparse_dataset

anndata.io.sparse_dataset#

anndata.io.sparse_dataset(group)[source]#

生成一个与备份模式兼容的稀疏数据集类。

Parameters:
group Group | Group

后备组存储。

Return type:

CSRDataset | CSCDataset

Returns:

稀疏数据集类。

示例

首先,我们需要一个存储的数据集:

>>> import scanpy as sc
>>> import h5py
>>> from anndata.io import sparse_dataset
>>> from anndata.io import read_elem
>>> sc.datasets.pbmc68k_reduced().raw.to_adata().write_h5ad("pbmc.h5ad")

从存储初始化稀疏数据集

>>> f = h5py.File("pbmc.h5ad")
>>> X = sparse_dataset(f["X"])
>>> X
CSRDataset: backend hdf5, shape (700, 765), data_dtype float32

索引返回稀疏矩阵

>>> X[100:200]  
<...sparse matrix of...float32...with 25003 stored elements...>

这些也可以在AnnData对象内部使用,无需后端模式

>>> from anndata import AnnData
>>> adata = AnnData(
...     layers={"backed": X}, obs=read_elem(f["obs"]), var=read_elem(f["var"])
... )
>>> adata.layers["backed"]
CSRDataset: backend hdf5, shape (700, 765), data_dtype float32

索引访问(即,从视图)将选择加载到内存中

>>> adata[adata.obs["bulk_labels"] == "CD56+ NK"].layers[
...     "backed"
... ]  
<...sparse matrix of...float32...with 7340 stored elements...>