【数据集】 PBMC(Peripheral Blood Mononuclear Cells)数据集
🧬 一、PBMC 数据集简介
内容 | 描述 |
---|---|
名称 | Peripheral Blood Mononuclear Cells(外周血单个核细胞) |
细胞类型 | 包括 B 细胞、T 细胞、NK 细胞、单核细胞等 |
技术平台 | 通常由 10x Genomics 提供(例如 3k、4k、6k、10k 版本) |
数据类型 | 单细胞 RNA-seq(scRNA-seq)可扩展为 RNA + ATAC (scMultiome) |
应用场景 | 细胞类型识别、聚类分析、GNN建模、多模态学习、图嵌入等 |
📥 二、数据集下载方式(官方来源)
可以直接从 10x Genomics 官网下载:
🔗 PBMC 3k 示例数据(h5 和 mtx 格式):
Datasets - 10x Genomics
例如:
-
PBMC 3k
-
PBMC 10k
也可以使用 Python 工具(如 scanpy
或 anndata
) 直接加载。
🧪 三、Python 中使用示例(以 Scanpy 为例)
安装 Scanpy:
pip install scanpy
加载 PBMC 数据(h5 格式):
import scanpy as sc
# 下载后的文件路径
file_path = "pbmc_3k_filtered_feature_bc_matrix.h5"
# 读取
adata = sc.read_10x_h5(file_path)
# 基本预处理
sc.pp.filter_cells(adata, min_genes=200)
sc.pp.filter_genes(adata, min_cells=3)
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata, n_top_genes=2000, subset=True)
🔧 四、构建图用于图神经网络(GNN / GCN / scGCN 等)
使用 scanpy
的 k-NN 构图功能:
# PCA 降维
sc.pp.pca(adata, n_comps=50)
# 构建 k 近邻图
sc.pp.neighbors(adata, n_neighbors=15, n_pcs=40)
# 导出邻接图(scGCN 常用)
adj_matrix = adata.obsp['connectivities']
然后可以将邻接矩阵 + 表达矩阵输入到 PyTorch Geometric、DGL、scGCN、scMGCA、scTAG 等模型中。
🔍 五、可视化与聚类(UMAP/tSNE)
sc.tl.umap(adata)
sc.tl.leiden(adata) # 聚类标签
sc.pl.umap(adata, color=["leiden"])
📊 六、数据格式说明(解读)
在 Scanpy 中读取后的 adata
是 AnnData
类型,主要组成:
-
adata.X
: 表达矩阵(细胞 × 基因) -
adata.obs
: 每个细胞的注释信息(聚类、细胞类型) -
adata.var
: 每个基因的信息 -
adata.obsp["connectivities"]
: 邻接图稀疏矩阵
📂 七、PBMC 变种数据(适合做多模态)
数据名称 | 模态类型 | 下载链接 |
---|---|---|
PBMC Multiome | RNA + ATAC | Datasets - 10x Genomics |
SNARE-seq PBMC | RNA + ATAC | 可在 GEO/Zenodo 上查找 |
Multi-omics PBMC from Seurat | RNA + CITE-seq(蛋白) | Seurat Vignette |
📷 八、配图:PBMC 聚类图(UMAP)
根据 PBMC 数据做了个 UMAP 可视化图:
✅ 总结
PBMC 数据集是:
-
适合 单细胞聚类、分类、多模态学习 的标准测试集
-
可用于 图神经网络(scGCN、scTAG、scMGCA、scGCOT) 等模型评估
-
有多种公开来源和变种(RNA-only、RNA+ATAC、RNA+Protein)
-
在 Python 中可通过 Scanpy 高效加载、预处理、可视化、构图