用途:AnnData 为 scverse 生态提供单细胞基因组学的标准数据结构,把表达矩阵与细胞/基因元数据、多层数据、降维嵌入和图结构统一存放在一个对象中。
主要能力:核心槽位包括 X(观测×变量矩阵)、obs 与 var(细胞/基因元数据)、layers(与 X 同形的替代表示,如原始计数、归一化、标准化)、obsm/varm(每观测/每变量的嵌入与载荷)、obsp/varp(成对图)与 uns(非结构化元数据)。支持稀疏矩阵,支持 H5AD 与 Zarr 读写、backed 模式懒加载、按元数据子集与视图、ad.concat 沿观测或变量合并、AnnCollection 惰性拼接及 concat_on_disk 磁盘拼接。
使用方式:安装 pip install "anndata>=0.10",完整生态可用 pip install anndata scanpy zarr。常见用法为用 ad.AnnData(X=..., obs=..., var=...) 构建对象,用 ad.read_h5ad / write_h5ad 进行 H5AD 读写,用 read_10x_h5 读取 10X 数据,用 read_zarr/write_zarr 处理 Zarr。大文件可用 ad.read_h5ad("large_data.h5ad", backed="r") 懒加载,再对元数据过滤后 to_memory() 载入子集。合并多批次可用 ad.concat([...], axis=0, join="inner", label="batch", keys=[...])。
适用场景:从原始计数构建注释矩阵、读写 .h5ad/.zarr、按质控指标或元数据子集、合并多个实验批次、在单一对象中保存多层数据、超出内存的大数据集处理,以及为 Scanpy 或 scvi-tools 流程准备数据。
限制与注意:子集操作返回视图,修改前须调用 .copy(),否则可能触发 ImplicitModificationWarning。聚类、差异表达与可视化应改用 scanpy;概率模型应改用 scvi-tools。CSV 格式不支持稀疏与元数据。Loom 已被 H5AD 取代。Zarr 不支持 backed 模式。资料未提供具体收费、价格与性能指标。