关于 OpenReadout
OpenReadout 面向实验室研究者和 AI Agent,可离线读取与分析多类仪器的原始文件,无需厂商软件。它支持 120 多种格式,并可作为 MCP 服务、命令行工具及 Python 或 R 包使用。
主要功能
- 01读取 120 多种仪器文件格式
- 02查看元数据、图像预览与结构化数据
- 03检查文件截断、缺失平面和损坏
- 04导出开放格式并回读验证
- 05分析峰值、板测定、qPCR 与电生理数据
- 06批量处理目录并监视采集
适用场景
- 01检查显微镜或质谱仪器原始文件
- 02将仪器数据转换为 OME-TIFF 或 mzML
- 03批量分析实验板数据与 qPCR 结果
MCP 相关
内置 MCP 服务通过 JSON-RPC 暴露 28 个工具,可供 MCP 客户端检查、预览、导出和分析仪器文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
32收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | string | 是 | 仪器文件或数据集目录的绝对路径或相对于工作目录的路径。 |
| lloq | number | 否 | 定量下限(覆盖回收率规则)。 |
| plot | boolean | 否 | 同时以图像内容返回包含数据点和拟合曲线的 PNG。 |
| uloq | number | 否 | 定量上限(覆盖回收率规则)。 |
| model | enum | 否 | 曲线模型:`linear`、`4pl`、`5pl`。默认值为 `4pl`。曲线模型。`linear` = y = slope · x + intercept;`4pl` = 四参数逻辑模型:y = d + (a − d) / (1 + (x/c)^b);`5pl` = 五参数逻辑模型:y = d + (a − d) / (1 + (x/c)^b)^g。linear | 4pl | 5pl |
| fit_on | enum | 否 | 拟合每个标准品重复孔,或拟合各浓度水平的均值。默认值为 `replicates`。标准曲线的拟合对象。`replicates` = 每个标准品孔(将重复孔作为独立点);`means` = 每个标准品浓度水平的均值。replicates | means |
| layout | string | 否 | 板布局文件:CSV/TSV、板位图网格(其区块的角单元格命名字段:role、sample、compound、concentration、dilution),或包含 `well` 列的长表。 |
| reduce | enum | 否 | 动力学读数。在终点分析(wells、curve、dose-response、qc)中,将动力学读数转换为每孔一个值的方式。`first` = 第一个时间点;`last` = 最后一个时间点;`max` = 最大值;`min` = 最小值;`mean` = 所有时间点的均值;`max-slope` = 每分钟跨 `window` 个点的最大斜率;`mean-slope` = 所有时间点的最小二乘斜率(每分钟);`auc` = 曲线下面积(值 × s)。first | last | max | min | mean | max-slope | mean-slope | auc |
| strict | boolean | 否 | true:拒绝此文件的保证机制无法验证的值(返回 exit_code 6 错误和提示)。默认值:服务端设置(OPENREADOUT_STRICT;关闭)。 |
| window | integer | 否 | reduce=max-slope 时每个窗口包含的点数。 |
| standards | string | 否 | 标准品,格式为 `WELLS=CONCENTRATION`,各项以 `;` 分隔(`A1,A2=100;B1:B2=50`);默认使用布局中的设置。 |
| weighting | enum | 否 | 拟合权重。默认值为 `none`。基于观测值的最小二乘拟合权重。`none` = 每个点的权重为 1(普通最小二乘);`1/y` = w = 1/|y|;`1/y2` = w = 1/y²;`1/x` = w = 1/x(x > 0);`1/x2` = w = 1/x²(x > 0)。none | 1/y | 1/y2 | 1/x | 1/x2 |
| confidence | number | 否 | 置信区间的置信水平。默认值为 0.95。 |
| blank_wells | string | 否 | 标记为空白的孔(`H1,H2`、`H1:H12`)。 |
| plate_options | any | 否 | 很少需要的板选项。 |
| negative_wells | string | 否 | 标记为阴性对照(无效应/载体)的孔。 |
| positive_wells | string | 否 | 标记为阳性对照(完全效应/最大信号)的孔。 |
详细介绍
OpenReadout
OpenReadout 让 AI Agent 能够读取和分析显微镜、质谱仪、流式细胞仪、酶标仪和 NMR 等实验室仪器的原始文件。它无需厂商软件即可读取 120 多种格式,并可作为 MCP 服务、命令行工具、Python 包或 R 包运行。
🧪 立即试用: 浏览器演示 | 📖 文档: openreadout.github.io/openreadout
图库
光学显微镜
![]() | ![]() | ![]() |
| Leica LIF · 果蝇卵室 | DeltaVision · HeLa 细胞 | Imaris · 植物根切片 |
![]() | ![]() | ![]() |
| Imaris · 单个神经元 | Yokogawa CellVoyager · Cell Painting | Evident OIR · 睾丸,共聚焦 |
电子显微镜
![]() | ![]() | ![]() |
| EMDB MRC · 病毒衣壳 | Gatan DM3 · 叠层成像原子图 | Gatan DM4 · ZnO 纳米棒 |
![]() | ![]() | ![]() |
| Gatan DM4 · 电子衍射 | Velox EMD · STEM HAADF | FEI SER · 二氧化硅颗粒 |
图示
![]() | ![]() | ![]() |
| ABI .ab1 · Sanger 读段 | WITec · 石墨烯拉曼光谱 | MicroCal ITC · 滴定 |
![]() | ![]() | ![]() |
| BD FCS + FlowJo · 圈选的 T 细胞 | SoftMax .pda · 96 条生长曲线 | Bruker TopSpin · 从 FID 得到的 NMR |
![]() | ![]() | ![]() |
| Bruker EPR · 功率系列 | ABI .fsa · 片段定长 | mzML · TIC 和光谱 |
![]() | ![]() | ![]() |
| Axon ABF · 放电与电流的关系 | Gamry · 循环伏安图 | Applied Biosystems .eds · qPCR |
所有数据均直接从原始文件读取。更多内容请见图库,图片来源见 CREDITS.md。
开始使用
安装后,将其连接到你的 Agent:
brew install openreadout/tap/openreadout # other ways under Installation below
openreadout mcp --install claude-desktop # or claude, codex, cursor, vscode, gemini
然后询问你的 Agent 某个文件的内容,例如“cells.czi 里有什么?”在 Claude Code 中,也可以将其作为插件安装(参见AI 集成)。
也可以试试浏览器演示,无需安装。你的文件不会离开你的电脑。
与 Agent 搭配使用
Claude 在 3.7 GB 的切片扫描图中找到小脑,并标注其各层。
https://github.com/user-attachments/assets/7ee0f9fe-e6e0-4378-a46d-5cdc04d57151
数据:Zenodo 10577621(CC BY 4.0)。
Claude 使用来自五种仪器的文件检查基因敲除。
https://github.com/user-attachments/assets/658d300b-dc9d-4164-af84-bb48261fd33f
数据:Edyanto 等人,figshare(CC BY 4.0)。
## 功能- 检查图像、通道、迹线、光谱、表格和元数据,支持纯文本或结构化 JSON
- 验证文件是否被截断、是否缺少平面或结构是否受损;文件损坏时返回退出码 4
- 导出为 OME-TIFF、OME-Zarr、mzML、NWB、CSV、Parquet、Arrow、JCAMP-DX、Allotrope ASM 和 RDML,并回读每个导出文件进行验证
- 预览图像平面、迹线、光谱和板热图,并输出为 PNG
- 分析色谱峰、板测定(IC50、标准曲线)、qPCR(Cq、ΔΔCq)、NMR 峰、膜片钳特征、尖峰和流式细胞术门控,并提供有据可查的方法
- 批量处理整个目录、为实验室共享目录建立索引,并监视正在运行的数据采集
命令行用法
# Install (macOS / Linux; other ways under Installation)
curl -fsSL https://raw.githubusercontent.com/openreadout/openreadout/main/scripts/install.sh | sh
# What is in the file?
openreadout info cells.lif
# → format: Leica LIF (lif) v2 size: 16.0 MiB images: 1 planes: 2
# → [0] PEI_laminin_35k 2048x2048 z=1 c=2 t=1 uint16 px=0.3250 µm
# → objective: HC PL FLUOTAR L 20x/0.40 DRY
# Is it complete?
openreadout check partial-copy.lif
# → error truncated block chain runs past end of file
# → error missing_planes geometry needs 16777216 bytes but only 8969789 are stored
# Integrate the peaks of a chromatogram
openreadout analyze peaks gc-run.ch --min-height 1
# → 4 peaks, area in pA·min
# → 1 4.852 min area 0.2779 25.08 %
# → ...
# Structured JSON for scripts and agents
openreadout info cells.lif --json
{
"ok": true,
"schema_version": "2",
"data": {
"format": { "id": "lif", "name": "Leica LIF", "vendor": "Leica Microsystems" },
"images": [
{
"size_x": 2048, "size_y": 2048, "size_c": 2,
"pixel_type": "uint16",
"physical_size": { "x": 0.325, "y": 0.325, "unit": "µm" }
}
]
}
}
格式
| 领域 | 格式 | 导出为 |
|---|---|---|
| 光学显微镜 | Zeiss CZI、Nikon ND2、Leica LIF、Olympus OIR/VSI/OIB、Imaris、OME-TIFF 及其他 TIFF 变体、OME-Zarr、全切片图像(包括 Philips iSyntax、Hamamatsu VMS 和 MIRAX) | OME-TIFF、OME-Zarr |
| 高内涵筛选 | Harmony(Opera Phenix、Operetta)、ImageXpress、CellVoyager | OME-Zarr plate、OME-TIFF |
| 电子显微镜 | MRC、Gatan DM3/DM4、FEI SER/EMI、Velox EMD、EER 电影、SerialEM mdoc | OME-TIFF、OME-Zarr、MRC |
| 结构生物学 | CBF/miniCBF、SMV、EIGER NeXus(NXmx)衍射图像 | MRC、OME-TIFF |
| 医学成像 | DICOM(文件、序列、研究、DICOMDIR)、NIfTI、Analyze、Bruker ParaVision | NIfTI、OME-TIFF |
| 质谱 | Thermo RAW、Bruker timsTOF 和 BAF、Agilent MassHunter、Waters MassLynx、Sciex WIFF、mzML | mzML、Parquet、Arrow |
| 色谱 | Agilent ChemStation 和 OpenLab、Shimadzu、Chromeleon、AIA/ANDI | CSV、JCAMP-DX、Parquet |
| 电生理学 | Axon ABF、Intan、SpikeGLX、Open Ephys、Neuralynx、Blackrock、Plexon、HEKA、Spike2、TDT、Axona、NWB | NWB、CSV、Parquet |
| NMR 和光谱学 | Bruker TopSpin 和 OPUS、Varian、JEOL、Thermo OMNIC、Renishaw、JCAMP-DX、SPC | JCAMP-DX、CSV |
| 流式细胞术 | FCS、FlowJo 工作区、Gating-ML | CSV、Parquet、Arrow |
| 酶标仪和 qPCR | 酶标仪导出文件、RDML、Applied Biosystems、LightCycler、Rotor-Gene | Allotrope ASM、RDML、CSV |
| DNA 测序和电泳 | Illumina 运行文件夹、Oxford Nanopore POD5 和 FAST5、FASTQ、BAM、ABIF Sanger 和片段分析文件、Agilent Bioanalyzer 和 TapeStation | FASTQ、CSV、Parquet |
| 其他 | NanoDrop、Qubit、Incucyte、凝胶和印迹成像仪、ÄKTA、ITC、Biacore、Seahorse、Octet、Zetasizer、XRD、EPR、电化学、热分析 | CSV、Parquet |
格式列表列出了 OpenReadout 可读取的所有格式及其已知限制。
安装
以单个独立二进制文件的形式提供。无需 Java、Python 或厂商 DLL,也无需安装其他组件。
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/openreadout/openreadout/main/scripts/install.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/openreadout/openreadout/main/scripts/install.ps1 | iex
# Homebrew (macOS / Linux)
brew install openreadout/tap/openreadout
# npm (all platforms; installs the native binary for your platform as a dependency)
npm install -g openreadout
# Rust toolchain
cargo install openreadout --locked
Docker、Nix、cargo-binstall 和其他安装渠道请见安装页面。
验证安装:openreadout --version
AI 集成
MCP 服务
内置 MCP 服务 — 只需一条命令即可注册:
openreadout mcp --install claude # Claude Code
openreadout mcp --install claude-desktop # Claude Desktop
openreadout mcp --install codex # OpenAI Codex
openreadout mcp --install cursor # Cursor
openreadout mcp --install vscode # VS Code / Copilot
openreadout mcp --install gemini # Gemini CLI
同时支持 Windsurf、Zed、Continue 和 Cline。该服务通过 JSON-RPC 提供 28 个工具(openreadout_info、openreadout_check、openreadout_preview、openreadout_export、openreadout_peaks 等),因此客户端无需访问 shell。
Claude Code 插件
一并安装 MCP 服务和技能:
/plugin marketplace add openreadout/agent-plugins
/plugin install openreadout@openreadout
Gemini CLI 扩展
gemini extensions install https://github.com/openreadout/agent-plugins
Codex 插件
codex plugin marketplace add openreadout/agent-plugins
codex plugin add openreadout@openreadout
这些配置都会添加来自 openreadout/agent-plugins 仓库的技能和 MCP 服务。该服务会运行 PATH 中的 openreadout 二进制文件,因此请先安装。
Agent 技能
openreadout self skill --install claude # ~/.claude/skills/openreadout
openreadout self skill --install agents # ~/.agents/skills/openreadout (Codex, Cursor, Copilot, Gemini CLI)
技能源代码位于 skills/openreadout。
为 Agent 而构建
- 每条命令都提供 JSON 输出,并附有已发布的架构。
- 固定退出代码:
0表示正常,1表示错误,2表示用法错误,3表示未知格式,4表示文件损坏,5表示 I/O 错误,6表示不支持。 - 错误信息附带提示,说明下一步可以尝试什么。
- 每个结果都提供可靠性信息: 说明此类文件是否经过其他读取器的交叉验证。
--strict会拒绝未经验证的文件。 - 提供 Agent 可查看的 PNG 预览。
plot提供 图表:板孔网格、剂量反应拟合、门控点图等,支持 PNG、SVG 或 PDF 格式。- 快速读取元数据:
info只读取文件头,因此读取 100 GB 文件与读取小文件一样快。 - 只读且可离线使用。
Python 和 R
Python — pip install openreadout 会将元数据作为字典返回,并将像素作为 NumPy、dask 或 xarray 数组返回,还提供适用于 bioio 和 napari 的插件。请参阅 Python 指南。
import openreadout
with openreadout.File("cells.lif") as f:
f.images[0]["channels"] # same keys as `info --json`
stack = f.to_xarray(0) # labelled with channel names and µm
f.preview(composite=True) # shows itself in Jupyter
openreadout.plot(data={"file": "growth.pda"}, facet="plate").save("plate.pdf")
R — R 包会返回数组和数据框,并生成相同的预览和图表。请参阅 R 指南。
对比
| OpenReadout | Bio-Formats | bioio | czifile / nd2 / liffile | msconvert | |
|---|---|---|---|---|---|
| 开源且免费 | ✓(MIT / Apache-2.0) | ✓(GPL) | ✓(因插件而异) | ✓(BSD) | ✓(厂商 DLL 除外) |
| 面向 AI 的 CLI + JSON + MCP | ✓ | ✗ | ✗ | ✗ | ✗ |
| 零安装(单个二进制文件) | ✓ | ✗(JVM) | ✗(Python) | ✗(Python) | ✗ |
| 不依赖厂商 DLL | ✓ | ✓ | ✓ | ✓ | ✗ |
| 完整性检查 | ✓ | ✗ | ✗ | ✗ | ✗ |
| 显微成像 | ✓ | ✓ | ✓ | ✓(每种格式各一个) | ✗ |
| 质谱 | ✓ | ✗ | ✗ | ✗ | ✓ |
| 电生理、流式细胞术、核磁共振、色谱、微孔板、qPCR | ✓ | ✗ | ✗ | ✗ | ✗ |
| 跨平台 | ✓ | ✓ | ✓ | ✓ | Windows(或 Wine) |
验证
每种读取器都会使用公开的仪器文件与其他读取器进行测试。请参阅我们的验证方法。
这些读取器基于公开文件、已发布的规范和宽松许可的读取器编写(已在 NOTICE 中致谢),不使用厂商 SDK 或 DLL。像 Bio-Formats 这样的 GPL 读取器只会在测试中作为黑盒运行。请参阅洁净室政策和各格式的来源记录。
文档
文档提供了每条命令和每种格式的指南:
- 入门: 安装 | 你的第一个文件 | 阅读 JSON 输出
- 参考: 命令 | MCP 工具 | 格式
- 示例库: 来自公开文件的预览和图表
- 指南: AI Agent | Python | R | 示例方案 | 批量表格
- 无法正常处理的文件: 运行
openreadout report FILE,并将生成的文件包附加到新格式问题中。文件包不包含数据值、样本名称或路径。
隐私
OpenReadout 在你的计算机上运行,不建立网络连接,也不发送遥测数据。详见 PRIVACY.md。
许可证
你可以选择依据 Apache License 2.0 或 MIT license 获得许可。OpenReadout 与任何仪器供应商均无关联;详见 TRADEMARKS.md。
欢迎通过 GitHub Issues 报告错误并贡献代码。请参阅 CONTRIBUTING.md,在开始处理读取器前阅读洁净室政策。
演示文件和 README 图片来自公开测试语料库(corpus/manifest.toml),使用时遵循相应许可,并在 .github/assets/gallery/CREDITS.md 中列出来源。运行 demo.tape 可重新生成终端演示。
如果你觉得 OpenReadout 有用,请在 GitHub 上为它点星——这有助于其他人发现这个项目。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。























