用途:AnnData 是 Python 中处理带注释数据矩阵的包,把实验测量值 X 与观测元数据 obs、变量元数据 var 以及多维注释 obsm、varm、obsp、varp、uns 一起存储,最初为单细胞基因组学设计,现可作为通用注释数据框架,也是 scverse 生态的基础数据结构。
主要能力:支持创建、读写 AnnData 对象;处理 h5ad、zarr 等原生格式及 CSV、MTX、Loom 等格式;用稀疏矩阵或 backed 模式管理大数据;沿观测或变量拼接多个数据集;子集、过滤、转置、重命名、类型转换等操作;与 scanpy、scvi-tools、Muon 等工具集成。
使用方式:需 Python 3.11+,当前稳定版 0.12.16。安装:uv pip install "anndata==0.12.16";惰性 I/O 与 dask 支持:uv pip install "anndata[dask,lazy]==0.12.16"。读写用 ad.read_h5ad、ad.read_zarr、adata.write_h5ad;非原生格式用 anndata.io 的 read_csv、read_loom、read_mtx;10X 数据建议经 scanpy 读取。拼接用 ad.concat。
限制与注意:避免已弃用 API,如 ad.read、AnnData.concatenate()、AnnData.*_keys()、anndata.version;anndata.experimental 视为可用但不稳定;外部数据需按索引对齐。官方文档 https://anndata.readthedocs.io/,GitHub https://github.com/scverse/anndata。