FlowKit 用于流式细胞术数据分析,适合构建或应用门控策略、批量分析 FCS 样本,以及复现受支持的 FlowJo 工作区分析。它支持 GatingML 2.0 和部分 FlowJo 10 特性;注意导入成功并不代表与 FlowJo 结果一致。
安装(使用独立环境,FlowKit 1.3.2 需要 NumPy >2、pandas <3): uv venv --python 3.13 .venv-flowkit uv pip install --python .venv-flowkit/bin/python "flowkit==1.3.2" .venv-flowkit/bin/python -c "import flowkit; print(flowkit.version)"
主要能力包括:溢出补偿、logicle 和双指数变换、层级门控、Session 程序化策略与 Workspace 的 FlowJo 样本级门控/补偿/变换,并可导出 GatingML。
使用步骤:先确定分析定义(Session 或 Workspace);检查样本与通道标识(匹配检测器/PnN 标签、补偿矩阵与门控维度,PnS 标记名可能为空或重复);确认坐标系与是否已补偿,补偿应先于非线性变换;检查层级,保留父门与完整门路径;分析全部事件并做门控叠加与样本级 QC,注意绘图子样本并非总体分母;导出时保留分母与溯源(门路径、样本 ID、总事件数、输入哈希、包版本、分析定义)。
应用已有策略示例:
FLOWKIT_SKILL_DIR="skills/flowkit"
uv run --no-project --python 3.13 --with "flowkit==1.3.2"
python "$FLOWKIT_SKILL_DIR/scripts/analyze_gates.py"
--gatingml gates.xml --fcs sample.fcs --output-dir results-gatingml
FlowJo 工作区需提供所选组的全部 FCS 文件(--workspace study.wsp --group "Study")。辅助脚本输出 gate_report.csv 和 provenance.json,拒绝重复样本 ID、组内缺失/多余样本、零事件样本及无门控策略。大研究应通过 Python API 分批处理。
限制:示例与辅助脚本针对 FlowKit 1.3.2、Python 3.13 测试,仅用合成 FCS 数据,不构成生物学验证;不支持多进程或变换后事件缓存,每个样本仍载入内存;GatingML 默认导出模板,样本级自定义门控需用 session.export_gml(handle, sample_id=sample.id)。