用途:ov.datasets 是 OmicVerse 的内置数据集模块,用于教程、演示、流程测试和基因集分析,替代手动下载文件或依赖 scanpy.datasets。
主要能力:提供 30+ 数据集,覆盖单细胞(pbmc3k、pbmc8k、paul15、bone_marrow 等)、RNA 速率与轨迹(dentate_gyrus、zebrafish、pancreas_cellrank 等)、空间与多组学(seqfish、multi_brain_5k)、bulk RNA-seq 与解卷积,以及合成数据(create_mock_dataset、blobs)。create_mock_dataset() 可配置细胞数、基因数、细胞类型数,并用负二项分布生成表达;with_clustering=True 会附加标准化、HVG、缩放、PCA、UMAP、leiden。predefined_signatures 提供细胞周期、性别、线粒体、核糖体、凋亡及组织特异等 GMT 基因集,可用 load_signatures_from_file 读取为 dict。加载后自动调用 var_names_make_unique()。
使用方式:如 adata = ov.datasets.pbmc3k(),预处理版用 pbmc3k(processed=True);模拟数据用 ov.datasets.create_mock_dataset(n_cells=500, n_genes=200);基因集用 from omicverse.datasets import predefined_signatures, load_signatures_from_file。默认缓存目录为工作目录下的 ./data/,已存在则跳过下载,多镜像回退,多数函数下载失败会生成模拟数据。
限制:multi_brain_5k() 返回 MuData,需先 pip install muon;dentate_gyrus 的 loom 文件约 200MB,下载慢,可用 dentate_gyrus_scvelo() 小数据集替代;模拟数据不含 .raw 或 counts 层,需手动补充。依赖 omicverse、scanpy、anndata、numpy、pandas,下载用 tqdm、requests。