用途:FlowIO 用于解析和写入流式细胞术标准(FCS)文件,支持 FCS 2.0、3.0、3.1 版本,适合后端服务、数据管道和基础细胞术文件操作。
主要能力:读取 FCS 文件并获取版本、事件数、通道标签(pnn_labels、pns_labels)、通道类型索引及 text 元数据字典;通过 as_array() 将事件数据提取为形状为(事件数,通道数)的 NumPy 数组,可用 preprocess=False 获取原始数据;支持将 NumPy 数组导出为 FCS 文件;支持多数据集文件分离;可进行文件校验与检查,以及高级分析前的预处理。
使用方式:安装命令为 uv pip install flowio(截至 2026-09 为 1.4.0),需要 Python 3.9 或更高版本,NumPy 是唯一运行时依赖。读取时构造 FlowData('experiment.fcs'),可用 only_text=True 仅读元数据以节省内存。写入时注意 create_fcs 接收可写二进制文件句柄(不是路径)和一维展平的事件数组,需传入 data.flatten();flow.write_fcs(path, ...) 则接收路径。输出始终为 FCS 3.1、单精度浮点。多数据集文件使用 read_multiple_data_sets()。
适用场景:FCS 文件解析或元数据提取、流式数据转 NumPy 数组、事件数据导出为 FCS、多数据集分离、通道信息(散射、荧光、时间)提取、文件验证或检查,以及高级分析前的预处理。
限制:不适用于补偿、变换、门控或 FlowJo/GatingML 工作区(建议使用 FlowKit,截至 2026-09 为 1.3.2,由同一作者基于 FlowIO 构建);不用于细胞术事件的聚类或降维(可参考 alterlab-scanpy、alterlab-umap);不用于跨样本群体的统计比较(可参考 alterlab-statistical-analysis);不用于质谱细胞术或成像空间单细胞数据(可参考 alterlab-squidpy-spatial);不用于 FCS 文件本身的注册与版本管理(可参考 alterlab-lamindb)。