你执行的 dir(adata1)
显示了 AnnData
对象(多用于单细胞转录组分析,来自 scanpy
库)的全部属性和方法。
为了方便你理解和日后查阅,下面是对 AnnData
中常见字段和方法的中文解释与归类整理:
✅ AnnData
(如 adata1
)对象常用属性及方法详解(中文注释版)
📦 数据核心结构
属性/方法 |
说明 |
adata.X |
主表达矩阵(稀疏矩阵或 ndarray ) |
adata.obs |
每个细胞的元信息(DataFrame) |
adata.var |
每个基因的元信息(DataFrame) |
adata.obsm |
存储降维后的数据,如 PCA/UMAP 坐标 |
adata.varm |
每个基因的额外降维数据(如特征) |
adata.uns |
未结构化数据,用于保存分析中间结果(字典) |
adata.raw |
保存归一化前的表达数据副本 |
adata.shape |
数据维度(细胞数, 基因数) |
adata.layers |
表达矩阵的多个版本(如归一化后、log1p 后) |
📊 降维 / 聚类相关键(常在 .obsm
和 .uns
)
位置 |
内容示例 |
adata.obsm['X_pca'] |
PCA 坐标矩阵 |
adata.obsm['X_umap'] |
UMAP 坐标矩阵 |
adata.obs['louvain'] |
聚类结果标签 |
adata.uns['pca'] |
PCA 降维参数 |
adata.uns['neighbors'] |
邻接图构建信息 |
adata.uns['rank_genes_groups'] |
差异表达分析结果 |
🛠 常用方法(推荐)
方法 |
功能 |
adata.obs_names_make_unique() |
保证细胞名唯一 |
adata.var_names_make_unique() |
保证基因名唯一 |
adata.to_df() |
转为 DataFrame 格式 |
adata.write('xx.h5ad') |
保存为 h5ad 文件 |
adata.copy() |
深拷贝对象 |
adata.concatenate() |
多个样本合并 |
adata.raw.to_adata() |
将 raw 转换回主矩阵(如需后续分析) |
📚 属性键名访问器(方便调试)
方法 |
说明 |
adata.obs_keys() |
返回 obs 所有列名 |
adata.var_keys() |
返回 var 所有列名 |
adata.obsm_keys() |
返回 obsm 所有降维方式键名 |
adata.varm_keys() |
返回 varm 所有键名 |
adata.uns_keys() |
返回 uns 中存储的所有键 |
🧪 检查和状态相关
属性 |
说明 |
adata.is_view / adata.isview() |
是否是视图(避免直接修改) |
adata.n_obs / adata.n_vars |
返回细胞数 / 基因数 |
adata.filename |
文件来源路径(如果是从文件加载) |
🧩 其他常见内部方法(了解即可)
方法 |
说明 |
_normalize_indices |
索引预处理 |
_set_backed() |
设置为 backed 模式(磁盘读取) |
write_csvs() |
分批保存为多个 CSV 文件 |
write_zarr() |
写为 Zarr 格式(高性能) |
🧠 快速查看 AnnData 核心内容(建议你记住)
print(adata) # 显示对象结构
adata.shape # 维度
adata.obs.head() # 查看细胞信息
adata.var.head() # 查看基因信息
adata.obsm.keys() # 降维坐标列表
adata.uns.keys() # 分析中间结果的 key
adata.X[:5, :5] # 表达矩阵预览