OpenReadout について
OpenReadoutは、研究者やAIエージェントがベンダー製ソフトなしで実験機器の生ファイルをオフラインで読み取り、分析するためのツールです。120種類以上の形式に対応し、MCPサーバー、CLI、PythonまたはRパッケージとして利用できます。
主な機能
- 01120種類以上の機器ファイル形式の読み取り
- 02メタデータ、プレビュー、構造化データの確認
- 03切断、欠落プレーン、破損の検査
- 04オープン形式へのエクスポートと再読み込み検証
- 05ピーク、プレート測定、qPCR、電気生理の分析
- 06ディレクトリの一括処理と測定の監視
活用シーン
- 01顕微鏡や質量分析の生ファイル確認
- 02機器データのOME-TIFFまたはmzMLへの変換
- 03プレート測定やqPCR結果の一括分析
MCP 対応
組み込みのMCPサーバーは28個のJSON-RPCツールを公開し、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` = 4 パラメータロジスティック:y = d + (a − d) / (1 + (x/c)^b);`5pl` = 5 パラメータロジスティック: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)で、キネティック測定値をウェルごとに 1 つの値に変換する方法。`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 エージェントは顕微鏡、質量分析計、フローサイトメーター、プレートリーダー、NMRなどの実験装置が出力する生データファイルを読み取り、解析できます。ベンダー製ソフトウェアを使わずに120種類以上の形式を読み取れ、MCP サーバー、CLI、PythonまたはRのパッケージとして実行できます。
🧪 お試しください: ブラウザー版デモ | 📖 ドキュメント: openreadout.github.io/openreadout
ギャラリー
光学顕微鏡
![]() | ![]() | ![]() |
| Leica LIF · ショウジョウバエの卵室 | DeltaVision · HeLa細胞 | Imaris · 植物の根の断面 |
![]() | ![]() | ![]() |
| Imaris · 1つのニューロン | Yokogawa CellVoyager · Cell Painting | Evident OIR · 精巣、共焦点 |
電子顕微鏡
![]() | ![]() | ![]() |
| EMDB MRC · ウイルスカプシド | Gatan DM3 · プチコグラフィーによる原子像 | Gatan DM4 · ZnOナノロッド |
![]() | ![]() | ![]() |
| Gatan DM4 · 電子回折 | Velox EMD · STEM HAADF | FEI SER · シリカ粒子 |
図
![]() | ![]() | ![]() |
| ABI .ab1 · サンガーリード | 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に記載しています。
はじめる
インストールして、エージェントに接続します。
brew install openreadout/tap/openreadout # other ways under Installation below
openreadout mcp --install claude-desktop # or claude, codex, cursor, vscode, gemini
次に、「cells.czi には何が含まれていますか?」のように、ファイルについてエージェントに質問してください。Claude Code では、代わりにプラグインとしてインストールできます(AI 連携を参照)。
または、インストール不要のブラウザデモをお試しください。ファイルがコンピューターの外に送信されることはありません。
エージェントとの使用
Claude が3.7 GBのスライドスキャン画像から小脳を見つけ、各層にラベルを付けます。
https://github.com/user-attachments/assets/7ee0f9fe-e6e0-4378-a46d-5cdc04d57151
データ:Zenodo 10577621(CC BY 4.0)。
Claude が5種類の機器のファイルを使って、遺伝子ノックアウトを確認します。
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 サーバーです。1 つのコマンドで登録できます。
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、...)を公開するため、クライアントにシェルアクセスは不要です。
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 バイナリを実行するため、先にインストールしてください。
エージェントスキル
openreadout self skill --install claude # ~/.claude/skills/openreadout
openreadout self skill --install agents # ~/.agents/skills/openreadout (Codex, Cursor, Copilot, Gemini CLI)
スキルのソースは skills/openreadout にあります。
エージェント向けに構築
- すべてのコマンドで JSON 出力し、公開済みスキーマを提供します。
- 固定の終了コード:
0正常、1エラー、2使用方法、3不明な形式、4破損、5I/O、6未対応。 - 次に何を試すべきかを示すヒント付きのエラー。
- すべての結果に保証情報を付与: その種類のファイルが別のリーダーと照合されたかどうかを示します。
--strictを指定すると、照合されていないファイルは拒否されます。 - エージェントが確認できる PNG 形式のプレビュー。
plotによる 図: プレートグリッド、用量反応フィット、ゲート付きドットプロットなどを PNG、SVG、PDF 形式で出力します。- 高速なメタデータ取得:
infoはヘッダーのみを読み取るため、100 GB のファイルも小さなファイルと同じくらい高速に処理できます。 - 読み取り専用かつオフライン。
Python と R
Python — pip install openreadout を実行すると、メタデータが dict として、ピクセルデータが 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 不要 | ✓ | ✓ | ✓ | ✓ | ✗ |
| 整合性チェック | ✓ | ✗ | ✗ | ✗ | ✗ |
| 顕微鏡 | ✓ | ✓ | ✓ | ✓(各形式に 1 つ) | ✗ |
| 質量分析 | ✓ | ✗ | ✗ | ✗ | ✓ |
| 電気生理、フローサイトメトリー、NMR、クロマトグラフィー、プレート、qPCR | ✓ | ✗ | ✗ | ✗ | ✗ |
| クロスプラットフォーム | ✓ | ✓ | ✓ | ✓ | Windows(または Wine) |
検証
各リーダーは、公開されている機器ファイルを使って他のリーダーと照合するテストを行っています。検証方法を参照してください。
リーダーは、公開ファイル、公開された仕様、および寛容なライセンスのリーダー(NOTICE にクレジットを記載)をもとに、ベンダー SDK や DLL を使わずに作成しました。Bio-Formats などの GPL リーダーは、テストでブラックボックスとしてのみ実行しています。クリーンルームポリシーと、形式ごとの来歴ログを参照してください。
ドキュメント
ドキュメントには、すべてのコマンドと形式に関するガイドがあります。
- はじめに: インストール | 最初のファイル | JSON 出力の読み方
- リファレンス: コマンド | MCP ツール | 形式
- ギャラリー: 公開ファイルから作成したプレビューと図
- ガイド: AI エージェント | Python | R | レシピ | バッチテーブル
- 動作しないファイル:
openreadout report FILEを実行し、バンドルを新しいバリアントの issueに添付してください。バンドルにはデータ値、サンプル名、パスは含まれません。
プライバシー
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。























