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