Source code for cellflow.datasets
from typing import Any
import anndata as ad
from huggingface_hub import hf_hub_download
__all__ = [
"ineurons",
"pbmc_cytokines",
]
_HF_REPO = "theislab/cellflow-datasets"
[docs]
def ineurons(
force_download: bool = False,
**kwargs: Any,
) -> ad.AnnData:
"""Preprocessed and extracted data as provided in :cite:`lin2023human`.
The :attr:`anndata.AnnData.X` is based on reprocessing of the counts data using
:func:`scanpy.pp.normalize_total` and :func:`scanpy.pp.log1p`.
Parameters
----------
force_download
Whether to force-download the data.
kwargs
Keyword arguments for :func:`anndata.read_h5ad`.
Returns
-------
Annotated data object.
"""
return _load_dataset(
filename="ineurons.h5ad",
force_download=force_download,
**kwargs,
)
[docs]
def pbmc_cytokines(
force_download: bool = False,
**kwargs: Any,
) -> ad.AnnData:
"""PBMC samples from 12 donors treated with 90 cytokines.
Processed data from https://www.parsebiosciences.com/datasets/10-million-human-pbmcs-in-a-single-experiment/,
subset to 2000 highly varibale genes, containing embeddings for
donors and cytokines.
Parameters
----------
force_download
Whether to force-download the data.
kwargs
Keyword arguments for :func:`anndata.read_h5ad`.
Returns
-------
Annotated data object.
"""
return _load_dataset(
filename="pbmc_parse.h5ad",
force_download=force_download,
**kwargs,
)
def zesta(
force_download: bool = False,
**kwargs: Any,
) -> ad.AnnData:
"""Developing zebrafish with genetic perturbations.
Dataset published in :cite:`saunders2023embryo` containing single-cell
RNA-seq readouts of the embryonic zebrafish at 5 time points with up
to 23 different genetic perturbations.
Parameters
----------
force_download
Whether to force-download the data.
kwargs
Keyword arguments for :func:`anndata.read_h5ad`.
Returns
-------
Annotated data object.
"""
return _load_dataset(
filename="zesta.h5ad",
force_download=force_download,
**kwargs,
)
def _load_dataset(
filename: str,
*,
repo_id: str = _HF_REPO,
force_download: bool = False,
**kwargs: Any,
) -> ad.AnnData:
fpath = hf_hub_download(
repo_id=repo_id,
filename=filename,
repo_type="dataset",
force_download=force_download,
)
return ad.read_h5ad(fpath, **kwargs)