Skip to content
Agentmart
Submit a tool

alterlab-flowio

Parse and write FCS (Flow Cytometry Standard) files v2.0-3.1 with FlowIO — extract event data as NumPy arrays, read $-keyword metadata and channel/parameter…

Skill by AlterLab-IEU

IndexedMIT★ 78
Write a review

Chalk Labs

Need help deploying alterlab-flowio?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/alterlab-ieu-alterlab-flowio

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Parse and write FCS (Flow Cytometry Standard) files v2.0-3.1 with FlowIO — extract event data as NumPy arrays, read $-keyword metadata and channel/parameter definitions, and convert events to CSV or pandas DataFrame. Use when loading raw .fcs flow-cytometry files, inspecting channels and metadata, or preprocessing cytometry data for downstream gating and analysis. Part of the AlterLab Academic Skills suite.

Use cases: spreadsheets, data, writing, research

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/alterlab-flowio

Tools it pre-approves 5

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read
  • Write
  • Edit
  • Bash(python:*)
  • Bash(uv:*)

What's inside

Skill name
alterlab-flowio
Description
Parse and write FCS (Flow Cytometry Standard) files v2.0-3.1 with FlowIO — extract event data as NumPy arrays, read $-keyword metadata and channel/parameter definitions, and convert events to CSV or pandas DataFrame. Use when loading raw .fcs flow-cytometry files, inspecting channels and metadata, or preprocessing cytometry data for downstream gating and analysis. Part of the AlterLab Academic Skills suite.
License
MIT
Compatibility
Self-contained — runs under `uv run python` with `flowio` installed (1.4.0 as of 2026-09; Python 3.9+, NumPy is the only dependency). No API key or account required.
Allowed tools
Read, Write, Edit, Bash(python:*), Bash(uv:*)
Metadata
version: 1.0.1 · last_updated: 2026-09-23 · skill-author: AlterLab
Instructions
122 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (6)

  • SKILL.md
  • evals.json · evals/
  • api_reference.md · references/
  • error-handling-and-troubleshooting.md · references/
  • recipes.md · references/
  • workflows.md · references/

SKILL.md (first lines)

# FlowIO: Flow Cytometry Standard File Handler

## Overview

FlowIO is a lightweight Python library for reading and writing Flow Cytometry
Standard (FCS) files. Parse FCS metadata, extract event data, and create new FCS
files with minimal dependencies. Supports FCS versions 2.0, 3.0, and 3.1 —
ideal for backend services, data pipelines, and basic cytometry file operations.

## When to Use This Skill

Use this skill when:

- FCS files require parsing or metadata extraction
- Flow cytometry data needs conversion to NumPy arrays
- Event data requires export to FCS format
- Multi-dataset FCS files need separation
- Channel information (scatter, fluorescence, time) must be extracted
- Cytometry files need validation or inspection
- Pre-processing is needed before advanced analysis

**Related tool:** For advanced analysis (compensation, transformation, gating,
FlowJo 10 workspace import), recommend the **FlowKit** library (1.3.2 as of 2026-09),
which is built on FlowIO by the same author.

### Does NOT Trigger

| Scenario | Use Instead |
|----------|-------------|
| Compensation, transforms, gating, or FlowJo/GatingML workspaces | FlowKit (companion library, not a skill in this suite) |
| Clustering / dimensionality reduction of cytometry events | `alterlab-scanpy`, `alterlab-umap` |
| Statistical comparison of populations across samples | `alterlab-statistical-analysis` |
| Mass-cytometry or imaging-based spatial single-cell data | `alterlab-squidpy-spatial` |
| Registering and versioning the FCS files themselves | `alterlab-lamindb` |

## Installation

```bash
uv pip install flowio     # 1.4.0 as of 2026-09
```

Requires Python 3.9 or later; NumPy is the only runtime dependency.

## Quick Start

```python
from flowio import FlowData

# Read FCS file and inspect
flow = FlowData('experiment.fcs')
print(f"FCS Version: {flow.version}")
print(f"Events: {flow.event_count}")
print(f"Channels: {flow.pnn_labels}")

# Get event data as NumPy array, shape (events, channels)
events = flow.as_array()
```

```python
import numpy as np
from flowio import create_fcs

# Write a new FCS file from a NumPy array.
# Gotcha: create_fcs takes a WRITABLE BINARY FILE HANDLE (not a path) and a
# FLATTENED 1-D event array — pass data.flatten(), not the 2-D matrix.
data = np.array([[100, 200, 50], [150, 180, 60]], dtype='float32')  # 2 events, 3 channels
with open('output.fcs', 'wb') as fh:
    create_fcs(fh, data.flatten(), ['FSC-A', 'SSC-A', 'FL1-A'])
```

## Core Workflow

1. **Read** — Construct a `FlowData('file.fcs')` instance. Use `only_text=True`
   for metadata-only (memory-efficient) reads; pass offset/null-channel flags
   for problematic files.
2. **Inspect** — Read `flow.version`, `flow.event_count`, `flow.pnn_labels`,
   `flow.pns_labels`, channel-type indices, and the `flow.text` metadata dict.
3. **Extract** — Get a NumPy array via `flow.as_array()` (preprocessed) or
   `flow.as_array(preprocess=False)` (raw). Slice by channel type as needed.
4. **Transform / export** — Convert to a pandas DataFrame or CSV; or write a new
   FCS file with `flow.write_fcs(path, ...)` (takes a path) or `create_fcs(fh,
   data.flatten(), ...)` (takes a binary file handle + flattened events). Output
   is always FCS 3.1, single-precision float.
5. **Multi-dataset** — If a file holds multiple datasets, use
   `read_multiple_data_sets()` instead of the constructor.

## Routing Guidance

- **Need exact signatures, attributes, exceptions, or FCS keyword definitions?**
  Read `references/api_reference.md`.
- **Doing one of the core operations (read/parse, metadata, create, export,
  multi-dataset, preprocessing)?** Read `references/workflows.md` for full code.
- **Need a task recipe (inspect a file, batch a directory, FCS→CSV, filter
  events, extract channels)?** Read `references/recipes.md`.
- **Hitting an error, or want best practices / file-structure / troubleshooting?**
  Read `references/error-handling-and-troubleshooting.md`.

## References

- `references/api_reference.md` — Complete `FlowData` class, utility functions
  (`read_multiple_data_sets`, `create_fcs`), exception classes, FCS file
  structure, common TEXT-segment keywords, channel types, and example workflows.
- `references/workflows.md` — Full code for the core operations: reading/parsing,
  metadata & channel extraction, creating files, exporting/modifying,
  multi-dataset handling, and data preprocessing.
- `references/recipes.md` — Worked examples: inspecting contents, batch
  processing a directory, FCS→CSV conversion, event filtering & re-export, and
  channel extraction with statistics.
- `references/error-handling-and-troubleshooting.md` — Exception-handling
  patterns, best practices, FCS file-structure notes, a troubleshooting table,
  and integration notes (NumPy, pandas, FlowKit, web apps).

## Summary

FlowIO provides essential FCS file handling for flow cytometry workflows — use
it for parsing, metadata extraction, and file creation. For simple file
operations and data extraction, FlowIO alone is sufficient; for complex analysis
(compensation, gating), integrate with FlowKit or other specialized tools.

From AlterLab-IEU/AlterLab-Academic-Skills, MIT.

More from AlterLab-IEU/AlterLab-Academic-Skills

Signals

Stars
78
Forks
16
Open issues
1
Last commit (this folder)
Sep 23, 2026 (1 month ago)
Last release
Sep 23, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0.1
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from AlterLab-IEU

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get alterlab-flowio running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying alterlab-flowio?

CallGet help
Cite this page

alterlab-flowio skill. Agent Mart. https://agentmart.dev/skills/alterlab-ieu-alterlab-flowio (last updated 2026-10-24)