1. 数据集背景
名称:Romanov 单细胞转录组数据集
来源:Romanov et al., Cell Reports, 2017
原始论文标题:
"Molecular interrogation of hypothalamic organization reveals distinct dopamine neuronal subtypes"
GEO Accession:GSE87544
物种:小鼠(Mus musculus)
组织来源:小鼠下丘脑(hypothalamus)
该研究通过对小鼠下丘脑区域的单细胞转录组进行测序,探索了多巴胺神经元的多样性,并揭示了下丘脑中不同神经元亚型的分子特征。该数据集后来被广泛用于聚类算法、图嵌入、表示学习和细胞异质性分析中。
2. 数据集内容
内容 | 描述 |
---|---|
细胞数量 | ~2,881 个单细胞 |
基因数量 | ~24,000 个基因(可变,根据处理方式不同) |
常用高变基因数量 | 约 2,000–3,000 个(用于降维、聚类) |
细胞类型标签 | 原始数据无标签,需通过聚类 + marker gene 注释获得 |
数据格式 | 常见为 .h5ad , .mat , .pkl , .csv |
表达数据类型 | 非归一化的 raw count,或对数归一化表达矩阵(log1p count) |
稀疏格式 | 支持稀疏表示,如 CSR 稀疏矩阵以节省内存 |
3. 数据特征与应用价值
✅ 数据特征:
来自 真实组织 的单细胞数据,噪声自然存在,具有代表性。
细胞类型分布自然不平衡,适合用于测试模型的 鲁棒性与泛化能力。
不同细胞之间的表达谱 高度异质性,适合图神经网络、VAE、对比学习等任务。
数据量适中,适合用于快速实验验证和算法原型设计。
📌 应用场景:
应用任务 | 描述 |
---|---|
聚类分析 | 将细胞划分为不同的亚群 |
降维可视化 | 使用 PCA, t-SNE, UMAP 等方法展示细胞异质性 |
marker gene 分析 | 比较各类细胞中高度表达的标志基因 |
表达谱重建 | 训练自编码器、图神经网络、生成模型等 |
迁移学习 | 作为源数据集迁移到其他脑区数据 |
嵌入学习 | 学习低维细胞表示用于下游任务 |
4. 数据预处理(常见步骤)
使用 scanpy
等工具对 Romanov 数据集进行预处理通常包括:
import scanpy as sc
adata = sc.read_h5ad("Romanov.h5ad")
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)
adata = adata[:, adata.var.highly_variable]
sc.pp.scale(adata)
sc.tl.pca(adata)
也可输出
.csv
、.pkl
或.mat
格式用于其他模型加载。
5. 数据来源与下载方式
✅ 官方 GEO 数据:
你可以从 GEO 下载原始 count matrix 以及元数据(meta.txt)。
✅ 第三方预处理数据:
6. 数据集在学术中的使用示例
该数据集被广泛用于下列研究中:
图神经网络在单细胞聚类中的应用(如 DGRL, scGCN, scTAG, scASDC)
表达图重构(Graph Autoencoder)
细胞表示学习(Representation Learning)
多视图融合(Multi-omics 研究)
对比学习方法验证(如 SimCLR-style 单细胞嵌入)
7. t-SNE 可视化结果
使用预训练的图嵌入模型提取表示后做 t-SNE,可观察到清晰的细胞簇群:
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
tsne = TSNE(n_components=2)
embedding_2d = tsne.fit_transform(latent_representation)
plt.scatter(embedding_2d[:, 0], embedding_2d[:, 1], c=cluster_labels, cmap='tab10')
plt.title("t-SNE on Romanov Latent Representation")
plt.show()
8. 常见问题 FAQ
问题 | 答案 |
---|---|
是否包含细胞标签? | 原始数据无标签,需根据 marker gene 或聚类结果注释 |
如何生成 .pkl 或 .mat 文件? |
使用 scanpy 或 scipy.io.savemat 可轻松转换 |
是否可用于深度学习训练? | 是,常用于图神经网络、自编码器等模型训练 |
是否可用于跨数据集迁移学习? | 是,适合作为源域数据 |