[ PROMPT_NODE_26588 ]
flowio
[ SKILL_DOCUMENTATION ]
# FlowIO: 流式细胞术标准文件处理器
## 概述
FlowIO 是一个轻量级的 Python 库,用于读取和写入流式细胞术标准 (FCS) 文件。解析 FCS 元数据,提取事件数据,并以最少的依赖创建新的 FCS 文件。该库支持 FCS 2.0、3.0 和 3.1 版本,非常适合后端服务、数据工作流和基础细胞术文件操作。
## 何时使用此技能
当遇到以下情况时,应使用此技能:
- 需要解析或提取元数据的 FCS 文件
- 需要将流式细胞术数据转换为 NumPy 数组
- 需要将事件数据导出为 FCS 格式
- 需要分离多数据集 FCS 文件
- 需要提取通道信息(散射光、荧光、时间)
- 需要进行细胞术文件验证或检查
- 在高级分析前进行预处理工作流
**相关工具:** 对于包括补偿、门控和 FlowJo/GatingML 支持在内的高级流式细胞术分析,建议将 FlowKit 库作为 FlowIO 的配套工具。
## 安装
bash
uv pip install flowio
需要 Python 3.9 或更高版本。
## 快速入门
### 基础文件读取
python
from flowio import FlowData
# 读取 FCS 文件
flow_data = FlowData('experiment.fcs')
# 访问基础信息
print(f"FCS 版本: {flow_data.version}")
print(f"事件数: {flow_data.event_count}")
print(f"通道: {flow_data.pnn_labels}")
# 获取 NumPy 数组格式的事件数据
events = flow_data.as_array() # 形状: (事件数, 通道数)
### 创建 FCS 文件
python
import numpy as np
from flowio import create_fcs
# 准备数据
data = np.array([[100, 200, 50], [150, 180, 60]]) # 2 个事件, 3 个通道
channels = ['FSC-A', 'SSC-A', 'FL1-A']
# 创建 FCS 文件
create_fcs('output.fcs', data, channels)
## 核心工作流
### 读取和解析 FCS 文件
FlowData 类提供了读取 FCS 文件的主要接口。
**标准读取:**
python
from flowio import FlowData
# 基础读取
flow = FlowData('sample.fcs')
# 访问属性
version = flow.version # '3.0', '3.1' 等
event_count = flow.event_count # 事件数量
channel_count = flow.channel_count # 通道数量
pnn_labels = flow.pnn_labels # 短通道名称
pns_labels = flow.pns_labels # 描述性染色名称
# 获取事件数据
events = flow.as_array() # 预处理后(应用了增益、对数缩放)
raw_events = flow.as_array(preprocess=False) # 原始数据
**内存高效的元数据读取:**
当仅需要元数据时