mcpField
O
OpenReadout

OpenReadout

本地服务
openreadout.github.io科研与教育8今天更新

关于 OpenReadout

OpenReadout 面向实验室研究者和 AI Agent,可离线读取与分析多类仪器的原始文件,无需厂商软件。它支持 120 多种格式,并可作为 MCP 服务、命令行工具及 Python 或 R 包使用。

主要功能

  1. 01读取 120 多种仪器文件格式
  2. 02查看元数据、图像预览与结构化数据
  3. 03检查文件截断、缺失平面和损坏
  4. 04导出开放格式并回读验证
  5. 05分析峰值、板测定、qPCR 与电生理数据
  6. 06批量处理目录并监视采集

适用场景

  1. 01检查显微镜或质谱仪器原始文件
  2. 02将仪器数据转换为 OME-TIFF 或 mzML
  3. 03批量分析实验板数据与 qPCR 结果

MCP 相关

内置 MCP 服务通过 JSON-RPC 暴露 28 个工具,可供 MCP 客户端检查、预览、导出和分析仪器文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npmopenreadout0.4.0
cargoopenreadout0.4.0
mcpbopenreadout-mcp-aarch64-apple-darwin.mcpb
mcpbopenreadout-mcp-aarch64-unknown-linux-musl.mcpb
mcpbopenreadout-mcp-x86_64-apple-darwin.mcpb
mcpbopenreadout-mcp-x86_64-pc-windows-msvc.mcpb
mcpbopenreadout-mcp-x86_64-unknown-linux-musl.mcpb

工具

32

收录的工具列表 · 更新于 1 周前

参数类型必填说明
filestring是仪器文件或数据集目录的绝对路径或相对于工作目录的路径。
lloqnumber否定量下限(覆盖回收率规则)。
plotboolean否同时以图像内容返回包含数据点和拟合曲线的 PNG。
uloqnumber否定量上限(覆盖回收率规则)。
modelenum否曲线模型:`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_onenum否拟合每个标准品重复孔,或拟合各浓度水平的均值。默认值为 `replicates`。标准曲线的拟合对象。`replicates` = 每个标准品孔(将重复孔作为独立点);`means` = 每个标准品浓度水平的均值。replicates | means
layoutstring否板布局文件:CSV/TSV、板位图网格(其区块的角单元格命名字段:role、sample、compound、concentration、dilution),或包含 `well` 列的长表。
reduceenum否动力学读数。在终点分析(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
strictboolean否true:拒绝此文件的保证机制无法验证的值(返回 exit_code 6 错误和提示)。默认值:服务端设置(OPENREADOUT_STRICT;关闭)。
windowinteger否reduce=max-slope 时每个窗口包含的点数。
standardsstring否标准品,格式为 `WELLS=CONCENTRATION`,各项以 `;` 分隔(`A1,A2=100;B1:B2=50`);默认使用布局中的设置。
weightingenum否拟合权重。默认值为 `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
confidencenumber否置信区间的置信水平。默认值为 0.95。
blank_wellsstring否标记为空白的孔(`H1,H2`、`H1:H12`)。
plate_optionsany否很少需要的板选项。
negative_wellsstring否标记为阴性对照(无效应/载体)的孔。
positive_wellsstring否标记为阳性对照(完全效应/最大信号)的孔。

详细介绍

OpenReadout

OpenReadout 让 AI Agent 能够读取和分析显微镜、质谱仪、流式细胞仪、酶标仪和 NMR 等实验室仪器的原始文件。它无需厂商软件即可读取 120 多种格式,并可作为 MCP 服务、命令行工具、Python 包或 R 包运行。

持续集成 文档 许可证:MIT OR Apache-2.0

🧪 立即试用: 浏览器演示  |  📖 文档: openreadout.github.io/openreadout

图库

光学显微镜

果蝇卵室的三色共聚焦图像,来自 Leica LIF 文件HeLa 细胞中包含微管、细胞核和 Cajal 小体的反卷积最大投影图,来自 DeltaVision 文件铃兰根横切面的转盘共聚焦图像,来自 Imaris 文件
Leica LIF · 果蝇卵室DeltaVision · HeLa 细胞Imaris · 植物根切片
单个神经元及其树突的最大投影图,来自 Imaris 文件Yokogawa CV8000 微孔板上带有三种染色的 Cell Painting 视野睾丸的共聚焦图像,来自 Evident OIR 文件
Imaris · 单个神经元Yokogawa CellVoyager · Cell PaintingEvident OIR · 睾丸,共聚焦

电子显微镜

病毒衣壳密度图的投影,来自 MRC 文件通过电子叠层成像拍摄的 HfZrO2 原子柱,来自 Gatan DM3 文件氧化石墨烯上的 ZnO 纳米棒,来自 Gatan DM4 文件
EMDB MRC · 病毒衣壳Gatan DM3 · 叠层成像原子图Gatan DM4 · ZnO 纳米棒
带有束挡的单晶电子衍射斑点,来自 Gatan DM4 文件支撑膜上的纳米颗粒,来自 Velox EMD 文件的 STEM HAADF 图像TEM 中的二氧化硅颗粒链,来自 FEI SER 文件
Gatan DM4 · 电子衍射Velox EMD · STEM HAADFFEI SER · 二氧化硅颗粒

图示

带碱基判读和质量条的 Sanger 测序迹线单层至三层石墨烯的堆叠拉曼光谱包含 39 次注射的等温滴定量热热谱图
ABI .ab1 · Sanger 读段WITec · 石墨烯拉曼光谱MicroCal ITC · 滴定
从 FlowJo 工作区中圈选出的 CD4 和 CD8 T 细胞群按孔板位置绘制的 96 条生长曲线从原始 FID 处理得到的蔗糖质子 NMR 光谱
BD FCS + FlowJo · 圈选的 T 细胞SoftMax .pda · 96 条生长曲线Bruker TopSpin · 从 FID 得到的 NMR
14 种微波功率下的 BDPA EPR 光谱以 LIZ 梯度为参照测定大小的片段分析峰总离子流及其峰顶处的质谱
Bruker EPR · 功率系列ABI .fsa · 片段定长mzML · TIC 和光谱
注入电流与放电频率的关系,附示例扫描循环伏安图,第 1 和第 4 个循环对数坐标轴上的 qPCR 扩增曲线
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" }
      }
    ]
  }
}

终端会话:openreadout info 描述一个 Leica LIF 文件;check 报告一个被截断的副本不完整,并以退出码 4 退出;export 写入一个经过验证的 OME-TIFF;analyze peaks 列出 GC 色谱图中的四个峰;将 info --json 的输出通过管道传给 jq,打印像素大小。

格式

领域格式导出为
光学显微镜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、CellVoyagerOME-Zarr plate、OME-TIFF
电子显微镜MRC、Gatan DM3/DM4、FEI SER/EMI、Velox EMD、EER 电影、SerialEM mdocOME-TIFF、OME-Zarr、MRC
结构生物学CBF/miniCBF、SMV、EIGER NeXus(NXmx)衍射图像MRC、OME-TIFF
医学成像DICOM(文件、序列、研究、DICOMDIR)、NIfTI、Analyze、Bruker ParaVisionNIfTI、OME-TIFF
质谱Thermo RAW、Bruker timsTOF 和 BAF、Agilent MassHunter、Waters MassLynx、Sciex WIFF、mzMLmzML、Parquet、Arrow
色谱Agilent ChemStation 和 OpenLab、Shimadzu、Chromeleon、AIA/ANDICSV、JCAMP-DX、Parquet
电生理学Axon ABF、Intan、SpikeGLX、Open Ephys、Neuralynx、Blackrock、Plexon、HEKA、Spike2、TDT、Axona、NWBNWB、CSV、Parquet
NMR 和光谱学Bruker TopSpin 和 OPUS、Varian、JEOL、Thermo OMNIC、Renishaw、JCAMP-DX、SPCJCAMP-DX、CSV
流式细胞术FCS、FlowJo 工作区、Gating-MLCSV、Parquet、Arrow
酶标仪和 qPCR酶标仪导出文件、RDML、Applied Biosystems、LightCycler、Rotor-GeneAllotrope ASM、RDML、CSV
DNA 测序和电泳Illumina 运行文件夹、Oxford Nanopore POD5 和 FAST5、FASTQ、BAM、ABIF Sanger 和片段分析文件、Agilent Bioanalyzer 和 TapeStationFASTQ、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 指南。

对比

OpenReadoutBio-Formatsbioioczifile / nd2 / liffilemsconvert
开源且免费✓(MIT / Apache-2.0)✓(GPL)✓(因插件而异)✓(BSD)✓(厂商 DLL 除外)
面向 AI 的 CLI + JSON + MCP✓✗✗✗✗
零安装(单个二进制文件)✓✗(JVM)✗(Python)✗(Python)✗
不依赖厂商 DLL✓✓✓✓✗
完整性检查✓✗✗✗✗
显微成像✓✓✓✓(每种格式各一个)✗
质谱✓✗✗✗✓
电生理、流式细胞术、核磁共振、色谱、微孔板、qPCR✓✗✗✗✗
跨平台✓✓✓✓Windows(或 Wine)

验证

每种读取器都会使用公开的仪器文件与其他读取器进行测试。请参阅我们的验证方法。

这些读取器基于公开文件、已发布的规范和宽松许可的读取器编写(已在 NOTICE 中致谢),不使用厂商 SDK 或 DLL。像 Bio-Formats 这样的 GPL 读取器只会在测试中作为黑盒运行。请参阅洁净室政策和各格式的来源记录。

文档

文档提供了每条命令和每种格式的指南:

隐私

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 上为它点星——这有助于其他人发现这个项目。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。