Source code for pyroma.datasets
"""Dataset loading utilities for pyroma."""
from pathlib import Path
import scanpy as sc
import anndata as ad
def _get_data_path(filename: str) -> str:
"""Get path to a dataset file with backward compatibility."""
try:
# Python 3.9+ style
from importlib.resources import files
path = files(__package__).joinpath(filename)
return str(path)
except (ImportError, AttributeError, TypeError):
# Python 3.7-3.8 fallback
try:
import pkg_resources
return pkg_resources.resource_filename(__package__, filename)
except Exception:
# Last resort: relative to this file
return str(Path(__file__).parent / filename)
[docs]
def pbmc3k() -> ad.AnnData:
"""
10X peripheral blood mononuclear cells (PBMCs).
Loads single-cell RNA-seq data of peripheral blood mononuclear
cells (PBMCs) from a healthy donor.
Returns
-------
adata : AnnData
Annotated data matrix.
Example
-------
>>> import pyroma
>>> adata = pyroma.datasets.pbmc3k()
>>> print(adata)
"""
data_path = _get_data_path("rna_10xpmbc3k.h5ad")
adata = sc.read_h5ad(data_path)
return adata
[docs]
def pbmc_ifnb() -> ad.AnnData:
"""
10X peripheral blood mononuclear cells (PBMCs) + IFNb stimulation.
Data from Kang et al. 2018.
Loads single-cell RNA-seq data of peripheral blood mononuclear
cells (PBMCs) from healthy and stimulated samples.
Returns
-------
adata : AnnData
Annotated data matrix.
Example
-------
>>> import pyroma
>>> adata = pyroma.datasets.pbmc_ifnb()
>>> print(adata)
"""
data_path = _get_data_path("kang_tutorial.h5ad")
adata = sc.read_h5ad(data_path)
return adata
__all__ = ['pbmc3k', 'pbmc_ifnb']