用途:AnnData 是 Python 包,用于处理带注释的数据矩阵,把实验测量值(X)与观测元数据(obs)、变量元数据(var)以及多维注释(obsm、varm、obsp、varp、uns)一起存储。最初为单细胞基因组学(配合 Scanpy)设计,现可作为通用注释数据框架。
主要能力:支持创建、读写 AnnData 对象;处理 h5ad、zarr、CSV、MTX、Loom、10X、Excel 等格式;支持压缩、backed 模式与云存储;沿观测或变量拼接多个对象(inner/outer join、多种 merge 策略、AnnCollection 惰性拼接);子集、过滤、转置、复制与视图、重命名、类型转换、增删组件、重排序等操作;与 scanpy、scvi-tools、muon、PyTorch(AnnLoader)等 scverse 生态集成。
使用方式:安装命令为 uv pip install anndata,可选依赖 uv pip install anndata[dev,test,doc]。常用读取 ad.read_h5ad('data.h5ad')、ad.read_10x_h5('filtered_feature_bc_matrix.h5'),写入 adata.write_h5ad('output.h5ad', compression='gzip')、adata.write_zarr('output.zarr')。大文件可用 backed='r' 打开,再对子集调用 to_memory()。拼接示例:ad.concat([adata1, adata2], axis=0, join='inner', label='batch', keys=[...])。
适用场景:单细胞 RNA-seq 分析、多批次数据整合、多模态数据、大规模数据集处理、与 scverse 工具链协作。
限制:资料未提供具体性能基准、收费或平台支持范围;内存不足时可改用 backed 模式或稀疏矩阵,索引对齐需按索引匹配外部数据。