用途:把各空间转录组平台的输出目录解析为统一对象,供后续质控、分析或可视化使用。
主要能力:
- 成像/原位平台(Xenium、MERSCOPE/MERFISH、CosMx、seqFISH):spatialdata_io.{xenium,merscope,cosmx} 返回 SpatialData,含逐转录本分子表(sdata.points,保存全部 Q 值)与由分割派生的逐细胞矩阵(sdata.tables,通常已按 Q>=20 过滤)。分子表是可重新分割、回收未分配分子的源头数据。
- 测序/捕获平台(Visium、Visium HD、Slide-seq/Curio、Stereo-seq):squidpy.read.visium 或 spatialdata_io.{visium,visium_hd,curio,stereoseq} 返回 spot/bin 矩阵与坐标、图像,无分子表。
使用方式: import spatialdata_io as sdio sdata = sdio.xenium('xenium_out/') transcripts = sdata.points['transcripts'] adata = sdata.tables['table'] Visium 可用: import squidpy as sq adata = sq.read.visium('spaceranger_out/') 坐标位于 obsm['spatial'](全分辨率像素),图像与 scalefactors 在 uns['spatial'][library_id]。 可用 spatialdata.transformations.get_transformation 查看元素坐标变换,区分像素与微米框架。可将表转为 AnnData;如需落盘,sdata.write 生成的是 .zarr 目录,应写入临时路径,勿提交到仓库。
限制与注意: squidpy.read 只有 visium、vizgen、nanostring,无 xenium、slideseq 读取器,这些平台改用 spatialdata_io;无 merfish 读取器,用 merscope 替代;scanpy.read_visium 自 1.11 起弃用。Visium HD 的 tissue_positions 为 parquet;Xenium 需 experiment.xenium 清单;CosMx 纯蛋白面板没有 tx_file;成像细胞矩阵继承分割误差,不应视为金标准。参考示例基于 spatialdata 0.2+、spatialdata-io 0.1.5+、squidpy 1.4+、scanpy 1.10+、anndata 0.10+,版本不符时应先检查签名再调整调用。