Skip to content

Releases

gem 0.1.19 — 链霉菌权威模型目录 gem_models

Choose a tag to compare

@moonbowterfly moonbowterfly released this 23 Oct 07:56

新能力

  • gem_models 权威模型目录(Sco-GEM / Salb-GEM / iJV1220):list / install / verify 全链支持,SHA256 逐字节校验,面向链霉菌研究场景开箱即用
  • G0–G6 七关验证链落地(含 G6 ATP 泄露哨兵);模型卡声明审计 v3;账本/构建/指纹改进

质量

  • 4 项定向测试入链;npm test 全绿(计数门 11 pass / 0 fail)

npm: npm install @dsh-bio/dsh-bio-gem@0.1.19(shasum 2a819d0c7ac25381b6839c0486df606519d02e4b)

v0.1.18 — 公开信息审计复核修复批次(含小型行为修复)

Choose a tag to compare

@moonbowterfly moonbowterfly released this 04 Oct 22:06

@dsh-bio/dsh-bio-gem v0.1.18

主题:公开信息审计复核修复批次(含小型行为修复)。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。

修复与改进

行为修复

  • BiGG 模型下载的代理回退:显式将 ALL_PROXY 映射到 http/https(此前仅声明支持、实际未生效);直连失败时按系统/环境代理重试。
  • 白名单构建入口守卫:GEM_GAPSEQ_DB 未配置或无效时在任何文件操作前给出可操作错误(生产调用链同样受控,不再隐式使用相对目录)。
  • 回归脚本解释器默认值沿用 DSH_HOME(与生产解析规则一致;显式 GEM_PYTHON 仍最高优先)。

文档与一致性

  • 架构文档:去内部阶段代号与决策史;工具契约表补 gem_quality / gem_sample(23 工具 / 23 op);生长/通量单位口径统一(归一化 biomass 为 1/h;一般通量为 mmol/gDW/h)。
  • 计数一致性:README 英文段 22 工具(除 build 外);中文标题 23。
  • 过程叙事中性化:代码注释与工具返回文案中的开发阶段标签、调用经历记录全部清除(保留判据依据与错误条件)。

安装

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

桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。

已知边界(诚实清单)

  • gem_build 的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。
  • 其余边界见 v0.1.12 清单。

v0.1.17 — 公开信息审计修复与默认值通用化

Choose a tag to compare

@moonbowterfly moonbowterfly released this 04 Oct 21:24

@dsh-bio/dsh-bio-gem v0.1.17

主题:默认值通用化与公开信息审计修复。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。

修复与改进

默认值通用化(面向所有用户)

  • 资源路径默认值不再绑定开发机目录:解释器/工具与参考资源改为插件数据目录 + 环境变量优先
    (GEM_GAPSEQ_DB / GEM_DIAMOND / GEM_WHITELIST_DB_DIR / GEM_UNIVERSAL_MODEL / GEM_INX_MODEL),
    缺失时给出可操作提示而非静默失败。
  • BiGG 模型下载的代理回退改为读取环境变量代理(HTTP_PROXY / HTTPS_PROXY / ALL_PROXY),
    不再固定本机端口;描述与实现一致。

测试与文档

  • 回归脚本资产配置显式化:--assets-root 或 DSH_BIO_GEM_ASSETS 指定模型资产;缺资产时相关检查 SKIP(不误报为回归失败)。
  • 文档一致性:生长值单位口径说明(归一化 biomass 为 1/h;一般反应通量为 mmol/gDW/h)、工具计数、
    架构文档状态与内部代号清理、基准报告路径通用化。

安装

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

桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。

已知边界(诚实清单)

  • gem_build 的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。
  • 其余边界见 v0.1.12 清单。

v0.1.16 — 导出与工作区修复批次

Choose a tag to compare

@moonbowterfly moonbowterfly released this 04 Oct 20:26

@dsh-bio/dsh-bio-gem v0.1.16

主题:导出与工作区修复批次 + 公开文档整理。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。

修复与改进

导出产物规范化

  • CSV 导出保持纯数据表(标准表头 + 行);声明/参数/免责信息移入旁车文件 <path>.meta.json(返回体附 export_csv_meta 路径)——标准解析器(pandas 等)可直接读取。
  • 导出路径父目录不存在时自动创建(mkdir -p 语义),不再报 FileNotFoundError。

工作区与运行环境

  • 工具相对路径基于会话工作区解析(python 子进程 cwd 对齐会话目录)。
  • gapseq 能力探针改为只读检查本地序列库元数据,不再依赖在线检查(离线环境不再误报)。

公开文档整理

  • 清理内部流程信息;架构文档措辞规范化。

安装

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

桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。

已知边界(诚实清单)

  • gem_build 的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。
  • 其余边界见 v0.1.12 清单。

v0.1.15 gapseq 探测中不再被报成不可用

Choose a tag to compare

@moonbowterfly moonbowterfly released this 02 Oct 11:45

gapseq 探测中不再被报成不可用

G 系列跨插件契约层修复(独立包,不合并)。

修复

  • capabilities 依赖状态折叠:buildCapabilitiesReport 原把所有非 ok
    的状态都算进 missingDeps。runtime.gapseq 在 WSL 冷启动期间按契约就是
    warn(null = 尚未探测),于是「还在探测」被对外报成「gapseq 不可用」——
    冷启动期面板给出错误结论。现区分三态:missing 才算 unavailable;
    warn(探测未完成或进行中)与 check 缺席都归unknown,一并写进
    unknown_dependencies 供前端提示「待确认」。
  • 依赖检查漏项:requires 映射用的判断在某个依赖 id 没出现在 checks
    里时返回 false,即「未观测到」被当成「已满足」。collectChecks() 目前固定
    产出全部 check id,该分支在生产路径不可达,但 buildCapabilitiesReport
    是导出函数,测试或后续裁剪 check 集都会踩到。

测试

  • test/capabilities-warn-state.mjs 新增 5 项。
  • test/check-counts.mjs 对 gem-expert.md 的检查从「文档里是否有 N个语义化
    工具这句计数」改为「skill 出现的 gem_* 工具名与 manifest 双向一致」。
    该skill 逐名列工具、无总数声明,旧检查项因此长期 WARN;新检查项同时能发现
    缺失与过时两种漂移。

验证

变异:把 warn 折回 missingDeps → actual: 'unavailable', expected: 'unknown',exit 1;还原 → exit 0。npm test exit 0,计数门 9 pass / 0 fail /
0 warn(基线为 8 pass / 1 warn)。

v0.1.14 版本号单一真值源修复

Choose a tag to compare

@moonbowterfly moonbowterfly released this 01 Oct 15:02

fix: /health 自报版本号与磁盘不一致(潜在)

问题

src/integration.js 的 PLUGIN_VERSION = '0.1.13' 是硬编码字面量。本次未触发显示错误(版本恰好一致),但与 galatea 同型缺陷 —— bump 时漏改即导致自报旧版本。

改动

改为从 package.json 实时读取,消除第二真值源。

新增门禁

test/check-version-source.mjs(与 galatea 同款),接入 npm test。变异实验已验证门禁有效。

已知既有问题(与本次改动无关,经 git stash 判定)

smoke 的「benchmark 自检: 蔗糖条件生长差已知方向」在改动前即失败(37 通过 / 1 失败 / 4 跳过)。

dsh-bio-gem v0.1.12 — 审计修复 + 引擎兼容声明

Choose a tag to compare

@moonbowterfly moonbowterfly released this 19 Sep 16:22

@dsh-bio/dsh-bio-gem v0.1.12

跨版本说明:npm 上此前 latest 为 0.1.3,本版为 0.1.4–0.1.12 的累积发布(GEM 全链能力 + 一轮审计修复)。
基因组尺度代谢模型(GEM)域插件:全基因组 → 自动构建 → 验证 → 补洞 → 出报告(SBML + 模型卡),供 dsh-bio-genie 宿主消费。

亮点

21 个 gem_* 语义化工具(累积):构建(gem_build/gem_gapseq/gem_annotate)、验证与修复(gem_validate/gem_gapfind/gem_gapfill/gem_phenotype/gem_l3_fix)、分析(gem_biomass/gem_fluxscan/gem_sensitivity/gem_essentiality/gem_double_knockout/gem_enrichment/gem_secretion/gem_precursor_scan/gem_targets)、资产与账本(gem_media_resolve/gem_ledger/gem_benchmark/gem_report)。

能力要点

  • 预测账本:一个模型一个账本(~/.dsh/dsh-bio-gem/ledger/<模型>.jsonl),登记/幂等/坏行容错;退化模型(生长为 0)显式拒绝登记预测。
  • 介质两级策略:内置完整成分(含金属离子)预设 + 跨引擎解析护栏。
  • 可分泌谱 / 双敲 / 靶点导出:带边界声明与计数闭合校验(closure),不伪造通路。
  • 域面板:BioGenie 设置面板「代谢建模」分页(六态 + 修复指引,由宿主托管)。

0.1.12 审计修复轮(本版新增)

  • test/smoke.js 重构:模型资产多候选解析(--assets-root / DSH_BIO_GEM_ASSETS / 新旧位置)——资产迁移后不再硬编码路径崩溃;缺资产 / 缺账本标记 SKIP 而非失败(--require-assets 供 CI 严格模式);CarveMe 跳过判断移至调用前;子进程非零退出 fail-closed。
  • npm test 接线:smoke + integration + optional-injection(真注册验证,此前未纳入任何 npm 入口)。

引擎兼容(2026-09-19):经 dsh 0.1.5-rc.2 走廊逐卡走查(55 张变更卡:零适配命中)与实机验证(工具注册 / 代谢建模面板 / 账本与模型数据)。

安装

dsh plugin --profile web add @dsh-bio/dsh-bio-gem
# 或:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem
  • 安装后重启 dsh web。
  • Python 环境:解释器探测顺序 = GEM_PYTHON → 宿主 dsh-bio-genie 自举环境 → CONDA_PREFIX → PATH。分析/验证类工具随装随用。
  • ⚠️ 构建侧重依赖(gem_build 才需要,不与 genie 共享):CarveMe 独立 venv(~/.dsh/dsh-bio-gem/venv-carveme)必须另放 diamond.exe(缺它 carve 不报错、退出码 0、输出为空——README 第 3 节有完整步骤与实测坑);gapseq 引擎走 WSL2 桥(可选,实验性)。
  • Smoke 说明:npm run smoke 的 C58 回归断言需要模型资产与账本——缺失时对应检查显式 SKIP 并打印原因(新机器不会误报失败)。

验证口径

  • npm test 全链通过:smoke(45 项,0 失败 0 跳过)/ integration(10 项)/ optional-injection(21 工具真注册)。
  • 回归锚点:C58 模型 1084 基因 / 2492 反应;AB 介质生长 0.519981;账本 522 条闭合导出。

已知边界(诚实清单)

  • gem_build 的 gapseq 引擎为实验性(WSL2 本机拓扑绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。
  • CarveMe 运行时需手动准备一次(README 第 3 节)——「装完插件」不等于「构建可用」,分析/验证类能力不受影响。
  • 注释依赖 SBML groups(gapseq 系模型自带);无注释模型按契约返回 annotation_unavailable 兜底,不伪造通路。

dsh-bio-gem v0.1.3 — G6 ATP 解析跨 ID 体系修复

Choose a tag to compare

@moonbowterfly moonbowterfly released this 10 Sep 16:21

G6 ATP 解析跨 ID 体系修复

gem_validate 的 G6(ATP 泄漏检测) 此前只按固定的 id 模式匹配 ATP 代谢物,对 MetaCyc / BioCyc 导出模型(ATP 的 id 为 M00002_c、name 为 ATP)匹配失败并误判为 SKIP——该关卡在这类模型上实际从未执行。

现改为三级解析:

  1. id 模式(补 MetaCyc m00002 系列)
  2. name 匹配(跨 ID 体系最稳的信号,排除 dATP 等衍生物)
  3. 分子式匹配(含去质子化变体)

返回值新增 atp_resolved_by 标明实际命中的解析路径,SKIP 时的提示同步更新。

实机验证

同一模型(MetaCyc 风格 id 的 GEM)G6 由 SKIP 转为 PASS:

atp_metabolite_found: M00002_c
atp_resolved_by:      id_pattern
atp_leak_flux:        0.0