Skip to main content
Glama

Protein Lab — 本地优先的蛋白研究流程平台

本地运行的蛋白质实验管理系统:从蛋白建库、浓度计算、BLI 梯度、酶活分析到实验归档,一条链管理湿实验里真正会用到的数据。Flask + 纯 SQLite,无需网络,数据完全本地。

给实验室自己用的数据管理——不追求通用,只覆盖你做实验那天真的需要的东西。

Protein Lab 概览

它解决什么问题

数据散落在各处是湿实验最常见的隐性成本:浓度算在 Excel、酶活画在临时脚本、结果记在笔记里,下次要用找不回。Protein Lab 把这条链收拢进一个本地应用,每个环节的结果都能一键存档、随时回溯。

核心场景

你得到

蛋白库存

蛋白库 + FASTA 批量导入 + 搜索 / 标签筛选 / 批量改标签;MW、消光系数自动计算(ProtParam,与 Expasy 一致);表头排序

自动化分析

TECAN Spark xlsx 一键解析 → 96 孔板 → 动力学拟合(ΔOD/min、R²)→ Michaelis-Menten → 阴性扣除 → 作图 Excel(每孔独立时间/OD 列对宽格式,Origin/Prism 直接可用)

实验记录

一键归档 + 自动命名({日期}_{类型}_{序号})+ 详情页 + Excel 导出 + 撤销;从历史实验一键复制回填到工具

AI 集成

MCP 服务器 8 个工具:读蛋白库 / 算浓度 / 稀释规划 / 单位换算 / 存实验,Claude 等 AI 可直接操作你的数据

Related MCP server: ChEMBL MCP Server

功能

  • 蛋白库 — 手动添加 / FASTA 批量导入 / 搜索匹配 / 标签筛选与编辑 / 批量改标签(选中多条添加/移除标签)/ 点击表头按 MW、消光系数排序

  • 计算工具(7 个标签页):

    • 蛋白浓度 — Beer-Lambert 计算(Biopython ProtParam 消光系数,与 Expasy 一致);浓度单位切换(M/uM/nM/mg/mL/ug/mL/ng/uL)

    • BLI 浓度梯度 — 递推稀释 + 统一体积 + 整百微升取整;单位切换

    • BLI 分析(v0.0.8)— 上传 ForteBio CSV:传感器图(SG 平滑 + 拟合虚线 + 每样本出图)+ 5 方法 KD 拟合 + 保存为实验(原始曲线落 experiment_raw 快照 + results 带分析版本)

    • AKTA 峰图(v0.0.9)— 上传 AKTA Unicorn zip 原生解析(无 pycorn 依赖):通道列表 + Fraction 事件 → 峰检测/标注 + 峰表 Excel 导出 → 保存为实验(原始曲线落快照

    • Weblogo — 勾选蛋白生成序列标识图;长序列自动分块换行(每块 50 位,编号连续);可选位点区间多聚体裁剪结果服务端缓存 + 切页自动恢复

    • 酶活计算 — TECAN Spark xlsx 解析 + 96 孔板 UI + 动力学拟合(ΔOD/min、R²)+ Michaelis-Menten + 阴性扣除(信号级归零 + 速率级校正)+ 时间点筛选 + 一键导出作图 Excel

    • 从实验复制 — 卡片式浏览历史实验,按类型过滤/搜索,一键加载到对应工具

  • BLI 模块(v0.0.5)— ForteBio CSV 解析 + 传感器图(Savitzky-Golay 平滑 + 拟合虚线)+ 五方法 KD 拟合内核(standard / split / joint / steady / mixed,含死曲线过滤与 NS 扣除)

  • BLI 原始数据拟合(v0.0.8)— 上传 ForteBio CSV 一键分析:传感器图 / 5 方法 KD / 保存为实验(原始曲线落 experiment_raw 快照 + results 带分析版本)

  • AKTA 峰图整理(v0.0.9)— 上传 AKTA Unicorn zip 原生解析(无 pycorn 依赖,标准库实现):通道列表(UV/Cond/压力…)+ Fraction 事件 → 峰检测/标注/峰表导出 Excel → 保存为实验(原始曲线落快照)

  • 实验自动命名{日期}_{实验类型}_{序号},同一天同类型自动递增;导出文件也遵循命名

  • 实验归档 — 一键保存 / Excel 导出 / 详情页 / 批量删除 + 撤销;启动自动备份数据库(保留最近 10 份)

  • MCP 服务器 — 8 个工具,供 Claude 等 AI 通过 MCP 协议调用

  • 测试test_models.py(14 节:JSON 往返 / 迁移框架 / 原始数据不可变 / MCP 读写契约)+ test_bli.py(BLI 解析/绘图/KD 拟合 + 酶活绘图 + BLI 分析 API)+ test_akta.pyAKTA 原生解析/峰检测/峰图 + API,用真实样例 zip);CI 每次构建前自动运行

数据完整性(v0.0.7)

湿实验数据丢了就再也补不回来。数据层围绕 8 条完整性规则设计:

能力

说明

版本化 schema 迁移

PRAGMA user_version + 有序迁移列表,应用启动即自动升级;老库非破坏升级,数据原样不动

原始数据不可变

experiment_raw只写一次、从不覆盖(新分析=新快照行);删除实验不删原始数据(FK ON DELETE SET NULL

迁移前自动备份

每次 schema 升级前快照 pre-migration_*.db(保留 5 份);启动例行备份保留 10 份

MCP 读写契约

唯一写工具 save_experiment,读工具零写库——由测试逐工具断言强制,不是口头约定

架构分层

models(数据+序列化)→ services(统一写入入口)→ calculators(纯函数,可单测)→ app(编排渲染);速率校正等计算后端单写,消灭前后端双写漂移

运行方式

方式一:源码 + venv(开发 / 无打包需求)

  • Windows 双击 启动.bat,macOS 双击 启动.command,浏览器自动打开 http://127.0.0.1:5000

  • 首次运行自动创建 .venv 并安装依赖。关闭窗口即停止服务。

  • 启动时自动备份数据库到 backups/(保留最近 10 份)。

方式二:打包版(v0.0.5,无需 Python)

  • 从 GitHub Release 下载 protein-lab-windows.zipprotein-lab-macos.zip,解压后进入 protein_lab/ 目录,双击 protein_lab.exe(Windows)/ 运行 protein_lab(macOS)即可。放在可写目录(如桌面/下载,不要放 C:\Program Files)。

  • 打包采用 onedir 目录形态(非单文件):免启动解压、秒开、杀毒误报低

  • 后端用生产 WSGI 服务器(waitress):启动无"开发服务器"警告、不刷访问日志,控制台只显示产品 banner。

  • 默认端口 5000,被占用时自动顺延(5001、5002…)不冲突;需固定端口用 --port

    protein_lab.exe --port 8080
  • 数据库 protein_lab.dbbackups/ 自动创建在程序同目录。首次运行是空库,想带现有数据,用 --import-db

    protein_lab.exe --import-db <旧 protein_lab.db 路径>
  • macOS 首次打开如提示"无法验证开发者":右键 → 打开;或终端执行 xattr -d com.apple.quarantine /路径/protein_lab/protein_lab

打包与发布

  • 本地构建(Windows):.venv\Scripts\pip install -r requirements-build.txt.venv\Scripts\pyinstaller protein_lab.spec --noconfirm → 产物在 dist/protein_lab/ 目录。

  • CI 自动构建:推送 v* tag 时,GitHub Actions 在 windows-latest + macos-latest 分别构建 Windows / macOS 的 onedir 目录,压缩为 protein-lab-windows.zip / protein-lab-macos.zip 自动附加到该 tag 的 Release。无需自购 Mac。

  • macOS 构建产物在 Mac 上运行,Mac 的 .venv/bin/python 同理(路径不同)。

配置 MCP(可选)

方式 A(推荐,打包版) — 直接用二进制 + --mcp

{
  "mcpServers": {
    "protein-lab": {
      "type": "stdio",
      "command": "C:/路径/protein_lab/protein_lab.exe",
      "args": ["--mcp"]
    }
  }
}

macOS 把 command 换成二进制路径(如 /Applications/protein_lab/protein_lab)。

方式 B(源码 + venv) — 注意用 venv 的 python(MCP 需要 biopython):

{
  "mcpServers": {
    "protein-lab": {
      "type": "stdio",
      "command": "/路径/protein_lab/.venv/Scripts/python.exe",
      "args": ["/路径/protein_lab/mcp_server.py"]
    }
  }
}

macOS 下 venv 路径为 .venv/bin/python

目录结构

protein_lab/
├── app.py              Flask 主应用(含 --mcp / --import-db 入口分发)
├── calculators.py      计算核心纯函数(MW / ε / 浓度 / 稀释 / 酶活拟合)
├── bli.py              BLI 内核(ForteBio 解析 / 传感器图 / 五方法 KD 拟合)
├── akta.py             AKTA 内核(Unicorn zip 原生解析 / 峰检测 / 峰图 / 峰表,v0.0.9)
├── models.py           SQLite 模型:CRUD + JSON 往返 + schema 迁移框架 + experiment_raw
├── services.py         统一实验写入入口(自动命名 / 校验 / 未来 audit·lineage 插桩点)
├── mcp_server.py       MCP stdio 服务器(读写契约:唯一写工具 save_experiment)
├── paths.py            路径解析(PyInstaller 打包与 dev 双模式)
├── fonts.py            CJK 字体解析 + matplotlib 中文配置
├── protein_lab.spec    PyInstaller 打包配置
├── requirements.txt    运行时依赖
├── requirements-build.txt  打包依赖(pyinstaller)
├── 启动.bat            一键启动(Windows)
├── 启动.command        一键启动(macOS)
├── templates/          Jinja2 页面模板
├── static/             JS + CSS
├── fonts/              Noto Sans SC(OFL,打包进二进制)
├── fixtures/           AKTA 测试样例 zip(git 跟踪,CI 用)
├── .github/workflows/  CI 双平台构建 + 测试步
├── backups/            数据库自动备份(例行 10 份 + 迁移前 pre-migration 5 份)
└── protein_lab.db     自动生成,首次运行创建

版本历史

版本

内容

v0.0.1

基础蛋白库 / 浓度 + BLI 梯度 / 实验归档 / MCP

v0.0.2

Weblogo / 撤销 / ProtParam / 酶活计算 / 启动自动备份

v0.0.3

批量改标签 / 表头排序 / Weblogo 换行 + 区间 + 多聚体

v0.0.4

PyInstaller onedir 打包 / GitHub Actions 双平台构建 / macOS 兼容 / waitress / --mcp / --import-db

v0.0.5

浓度单位管理 / 酶活增强(时间点筛选、阴性扣除、速率校正)/ BLI 模块(ForteBio 解析 + 五方法 KD)

架构升级(2026-08)

统一写入入口 / 计算纯函数化 / 反序列化收归 models / 校正后端单写 / 实验类型单一来源

v0.0.7

数据存储地基:schema 迁移框架 / experiment_raw 不可变快照 / 迁移前自动备份 / MCP 读写契约 / CI 测试步

v0.0.8

BLI 原始数据拟合 UI:ForteBio CSV 上传分析(传感器图 / 5 方法 KD 拟合)/ 保存为实验(raw→experiment_raw bli_curves,results 带 BLI_ANALYSIS_VERSION)/ 详情页原始快照展示

v0.0.9

AKTA 峰图整理akta.py 标准库原生解析 Unicorn zip(无 pycorn 依赖)/ 峰检测标注 / 峰表 Excel 导出 / 保存为实验(raw→experiment_raw akta_traces,results 带 AKTA_ANALYSIS_VERSION);BLI 分析增强(曲线勾选入样 / 单样本拟合 / 默认截去结合起点前基线 / 相界对齐 REF 脚本);AKTA 复制恢复 + 参数回填 + Sheet3 多样品作图导出 + 峰图 PNG 下载

v0.0.10(当前)

酶活孔分组 + 作图 Excel 宽格式:同组孔逐时间点均值曲线 + 误差棒(SD/SEM,图例带 (n=N));「组」输入框带 datalist 可选已有组 + 多选批量应用;批量命名同名孔自动加 _1/_2/_3;作图 Excel 每孔独立时间/OD 两列(BLI/AKTA/酶活统一宽格式);评审修复(undo peek 成功才 pop / renderBliKd 落 DOM / exp_update 列表序列化 / BLI 空窗口守卫)

F
license - not found
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
10Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/QINGMINGMIKU/protein-lab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server