flowio

解析FCS(流式细胞术标准)文件版本2.0至3.1。提取事件数据为NumPy数组,读取元数据/通道信息,转换为CSV/DataFrame格式,用于流式细胞术数据预处理。

安装

热度:44

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-flowio&locale=zh&source=copy

FlowIO:轻量级 FCS 流式细胞术文件解析库

技能概述

FlowIO 是一个专为解析 FCS(Flow Cytometry Standard)文件设计的 Python 库,支持 FCS 2.0 至 3.1 版本,可快速提取事件数据为 NumPy 数组、读取元数据和通道信息,或将数据转换导出为 CSV/DataFrame 格式。

适用场景

1. FCS 文件解析与数据提取

当你需要从流式细胞仪导出的 FCS 文件中提取事件数据时,FlowIO 提供了简洁的 API。只需几行代码即可读取文件、获取事件数量、通道信息,并将数据转换为 NumPy 数组进行后续分析。特别适合需要快速访问文件元数据而无需加载全部事件的场景。

2. 流式细胞数据格式转换

需要将 FCS 文件转换为 CSV、DataFrame 或其他格式时,FlowIO 可以直接输出 NumPy 数组,轻松集成到 Pandas 工作流中。支持保留原始数据或应用预处理(如增益缩放、对数变换),适用于数据预处理管道或与其他分析工具的对接。

3. 批量处理与数据管道

在后端服务或自动化脚本中处理大量 FCS 文件时,FlowIO 的轻量级设计和高内存效率(支持仅读取元数据模式)使其成为理想选择。可快速验证文件、提取摘要信息、过滤事件并重新导出,适合构建数据处理管道或实验室信息系统。

核心功能

1. FCS 文件读写

FlowIO 提供完整的 FCS 文件读写能力。通过 FlowData 类读取文件并访问版本信息、事件计数、通道标签等;使用 create_fcs() 函数从 NumPy 数组创建符合 FCS 3.1 标准的新文件,支持自定义通道名称和元数据。

2. 元数据与通道信息提取

自动解析 FCS 文件的 TEXT 段,提取仪器名称、采集日期、数据类型等关键元数据。智能识别通道类型(散射光、荧光、时间),提供通道标签、描述名称和范围值,方便了解文件结构而无需加载事件数据。

3. 多数据集与容错处理

支持处理包含多个数据集的 FCS 文件,提供 read_multiple_data_sets() 函数一次性读取所有数据集。针对常见的偏移量不匹配或文件损坏问题,提供 ignore_offset_discrepancyuse_header_offsets 等参数增强鲁棒性。

常见问题

FlowIO 支持哪些 FCS 文件版本?

FlowIO 支持 FCS 2.0、3.0 和 3.1 版本。读取文件时可通过 flow.version 属性查看具体版本号。导出新文件时默认使用 FCS 3.1 格式和单精度浮点数据类型。

如何用 FlowIO 将 FCS 转换为 CSV?

使用 FlowData 读取文件后,调用 as_array() 获取 NumPy 数组,再结合 Pandas 转换为 DataFrame 并导出:

from flowio import FlowData
import pandas as pd

flow = FlowData('sample.fcs')
df = pd.DataFrame(flow.as_array(), columns=flow.pnn_labels)
df.to_csv('output.csv', index=False)

FlowIO 和 FlowKit 有什么区别?

FlowIO 专注于基础的 FCS 文件解析、元数据提取和文件创建,依赖少、速度快。FlowKit 基于 FlowIO 构建,增加了补偿矩阵、门控分析、Flow/GatingML 支持等高级分析功能。如果只需要文件读写和简单预处理,FlowIO 已足够;如需复杂分析,可配合 FlowKit 使用。