dsh-bio-gem:在 DSH 里从细菌基因组构建并交付 GEM(SBML + 模型卡)

前言

在 DeepSeek Harness(DSH)里做代谢建模,常见路径是:先把全基因组注释成蛋白序列,再调用 CarveMe 或 gapseq 等外部流水线建 GEM,接着用 COBRApy 做一致性检查、补洞和 FBA。这些步骤分散在多个脚本和环境中,智能体很难稳定串成一条可复现的工作流。

@dsh-bio/dsh-bio-gem(社区仓库 moonbowterfly/dsh-bio-gem)把「构建 → 验证 → 补洞 → 出报告」收进 DSH 插件形态:输入细菌全基因组(蛋白 FASTA,支持多质粒/多染色体;裸 .fna 可走自动注释兜底),产出标准 SBML 与模型卡,并归入 dsh-bio-genie 生态,便于后续 FBA、基因必需性、生产包络线等消费工具直接加载。维护者为 moonbowterfly,在 SkillHub 目录中分类为工作流。

这是什么

一句话定位:基因组进、经校验的 SBML 出(Genome-scale metabolic model builder for dsh: genome in, validated SBML out)。

插件以 npm 包 @dsh-bio/dsh-bio-gem 发布(纯 ESM,MIT 许可证),当前资料所示版本为 0.1.19。除 gem_build 外,README 说明另有 23 个依赖 Python cobra 的分析/验证/补洞/账本/基准/导出类工具;构建侧则单独依赖 CarveMe(及 diamond)或可选的 WSL2 + gapseq。

核心功能

下面按 README 已写明的职责归纳,不展开未在资料中出现的接口细节。

建模流水线

  1. 输入:细菌全基因组;蛋白 FASTA 为主路径。若输入为裸基因组(.fna),可选依赖 pyrodigal 做自动注释兜底(gem_annotate 相关能力)。
  2. 构建(gem_build):默认引擎为 CarveMe(独立 venv,需 carve.exe 与同目录的 diamond.exe);可选 engine=gapseq,经 WSL2 桥接,README 标注为实验性、单模型约 30–60 分钟,非必需。
  3. 验证与补洞:除构建外的大多数 gem_* 工具在装了 cobra 的 Python 环境中运行。
  4. 交付物:标准 SBML 与模型卡;运行时模型、账本、任务等落在 ~/.dsh/dsh-bio-gem/(models/、ledger/、jobs/ 等)。

与 dsh-bio-genie 的分工

插件 职责
dsh-bio-gem 造模型:基因组 → 构建 → 验证 → 补洞 → 模型卡
dsh-bio-genie 用模型:FBA、基因必需性、生产包络线、模型管理面板及更广生信工具

两者可同时安装;README 称 genie 的 agent persona 已内置 GEM 能力域路由,「建模型 / 建模 / 补洞」类需求会转给 gem_* 工具。

托管集成(v0.1.11+,与 genie 同实例时)

gem 提供两个只读、loopback-only 的 HTTP 端点,供 genie 面板探测状态(gem 本身不注册独立设置页):

GET /api/dsh-bio-gem/integration/health
GET /api/dsh-bio-gem/integration/v1/status

非本机或 Origin/Host 不一致的请求返回 403;端点不暴露 token 或任意命令。

安装与启用

环境要求(摘要)

组件 要求
dsh 引擎 0.1.x(npx -y @deepseek-ai/dsh --version)
Node.js ≥ 22.19 或 ≥ 24(见包内 engines)
Python 3.10+ 且可 import cobra(分析侧;已装 genie 时可复用其自举环境)
CarveMe + diamond 独立 venv ~/.dsh/dsh-bio-gem/venv-carveme(仅 gem_build carveme 路径)
WSL2 + gapseq 可选,仅 gem_build 的 gapseq 引擎

Python 解释器探测顺序(v0.1.4 起):GEM_PYTHON → dsh-bio-genie 自举环境 → CONDA_PREFIX → PATH 中的 python,且逐个验证能否 import cobra。

安装插件

Web 端推荐从 npm 安装(--profile 必填):

npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem

也可从 GitHub 源或本地目录安装(命令以 README 为准):

npx -y @deepseek-ai/dsh plugin --profile web add github:moonbowterfly/dsh-bio-gem

npx -y @deepseek-ai/dsh plugin --profile web add ./dsh-bio-gem

dsh 桌面端 0.2.0+ 可使用内置 CLI,--profile desktop 安装同一包名;安装后需重启对应 profile 的 dsh。若遇 npm 404,README 建议等待数分钟或追加 --registry https://registry.npmjs.org/。

确认插件已注册(无需启动服务):

npx -y @deepseek-ai/dsh --profile web --dump-config | grep dsh-bio-gem

未装 genie 时:自备 cobra Python

已安装 @dsh-bio/dsh-bio-genie 可跳过;否则示例用 uv 建 venv 并设置 GEM_PYTHON(须在启动 dsh 之前):

uv venv --python 3.11 "$HOME/.dsh/dsh-bio-gem/venv"
uv pip install --python "$HOME/.dsh/dsh-bio-gem/venv/Scripts/python.exe" cobra pyrodigal
setx GEM_PYTHON "$env:USERPROFILE\.dsh\dsh-bio-gem\venv\Scripts\python.exe"

准备 CarveMe 构建引擎

构建侧使用独立 venv,不要并入 genie 或系统 Python:

uv venv --python 3.11 "$HOME/.dsh/dsh-bio-gem/venv-carveme"
uv pip install --python "$HOME/.dsh/dsh-bio-gem/venv-carveme/Scripts/python.exe" carveme
curl -L -o diamond.zip https://github.com/bbuchfink/diamond/releases/latest/download/diamond-windows.zip
unzip -o diamond.zip diamond.exe -d "$HOME/.dsh/dsh-bio-gem/venv-carveme/Scripts/"

README 强调:可执行文件名是 carve 而非 carveme;缺少 diamond 时可能仅一行提示且退出码为 0、输出目录为空,排查构建失败时应先确认 diamond.exe 与 carve.exe 同目录。

典型用法

在 DSH 对话中驱动工作流

安装并完成上述环境后,在 DSH Web 或桌面端重启插件生效。若同时安装 dsh-bio-genie,可直接用自然语言描述「从某基因组构建 GEM、验证、补洞、导出 SBML」等需求;genie 会将建模类意图路由到本插件的 gem_* 工具链,产出写入 ~/.dsh/dsh-bio-gem/models/ 等目录,再由 genie 的 FBA 等工具加载。

未装 genie 时,仍可通过 DSH 注册的同批 gem_* 工具完成构建与分析,但需自行保证 GEM_PYTHON 与 CarveMe venv 就绪。

仓库内冒烟与集成自检

维护者在源码目录提供不依赖 dsh 服务进程的检测命令(资产目录需 --assets-root 或 DSH_BIO_GEM_ASSETS,缺资产时部分检查 SKIP):

GEM_PYTHON=<你的-cobra-python> node test/smoke.js --skip-build
GEM_PYTHON=<你的-cobra-python> node test/smoke.js
node test/integration.js

与 genie 同机时的状态探测

在本地 loopback 访问(示例,具体 Host 以你的 dsh 实例为准):

GET http://127.0.0.1:<port>/api/dsh-bio-gem/integration/health
GET http://127.0.0.1:<port>/api/dsh-bio-gem/integration/v1/status

BioGenie 面板据此显示 ready / degraded 等五态;state 仅为 ready 或 degraded。

适用场景与注意

适合谁:需要在 DSH 智能体工作流里,把细菌 GEM 从基因组到可验证 SBML 串成一条链路的研究或工程场景;并与 dsh-bio-genie 联用做下游代谢分析。

权限与安全:插件以当前 dsh 进程的用户权限读写本地目录、调用 Python 与 CarveMe/gapseq 子进程。安装前应阅读 GitHub 源码 与 MIT 许可证,确认工具行为符合你的数据与合规要求。集成端点仅 loopback,但建模仍会写盘到 ~/.dsh/dsh-bio-gem/。

卸载:npx -y @deepseek-ai/dsh plugin --profile web remove dsh-bio-gem 不会删除上述运行时目录,需手动清理。

引擎兼容:README 记载 dsh 0.1.x 经 0.1.5-rc.2 核验;0.2.0+ 桌面端于 2026-10-01 实测工具注册与 gem_media_resolve 执行。gapseq 路径依赖固定 WSL2/conda 拓扑,换机器常需改 python/gapseq_wsl.py 中的路径常量。

结尾

dsh-bio-gem 把 GEM 构建、验证、补洞和 SBML/模型卡交付封装为 DSH 工作流插件,并与 dsh-bio-genie 的「用模型」能力衔接。目录页:SkillHub — moonbowterfly/dsh-bio-gem;源码与安装说明:github.com/moonbowterfly/dsh-bio-gem。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye