Anndata常见字段和方法

你执行的 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]          # 表达矩阵预览

posted @ 2025-05-20 09:45  tomorgen  阅读(82)  评论(0)    收藏  举报