Repository navigation
Releases: moonbowterfly/dsh-bio-graft
Release list
graft 0.1.9 — 候选核验链(GF-1/2/3)
新能力
- 候选身份/坐标/翻译后果核验链(GF-1/2/3):候选 sgRNA 的身份一致性、基因组坐标、翻译后果三重核验
- 脱靶事实回填与版本自报:扫描结果带事实回填;适配版本自报
npm: npm install @dsh-bio/dsh-bio-graft@0.1.9(shasum d345b9887a4b8db1441ab7819eced6954c242bed)
v0.1.8 — 公开信息审计复核修复批次
@dsh-bio/dsh-bio-graft v0.1.8
主题:公开信息审计复核修复批次(功能无变更)。
基因编辑设计专科插件:11 个语义化工具(sgRNA 候选 / 评分向量 / 脱靶扫描 / 策略评估 / 验证方案 / EditPlan 账本)。
修复与整理
文档与一致性(本批全部为文档/注释层)
- 里程碑命名统一(中英文一致;能力表与实现同步)。
- 发布史修正:
v0.1.2说明改注「历史版本(未发布到 npm)」,与 CHANGELOG / v0.1.3 说明一致。 - 契约测试注释计数同步(11 个工具)。
- 过程叙事中性化:测试与注释中的来源叙事改为行为说明,保留回归背景与断言。
安装
dsh plugin --profile web add @dsh-bio/dsh-bio-graft
# 或经 npx:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-graft桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
已知边界(诚实清单)
- Cas-OFFinder 后端仅 Windows 自动获取(v2.4.1 稳定版);其他平台手动放置。
- 无 CPU OpenCL 设备的机器上只能走 GPU(
device=auto已自动处理)。 - 编辑器几何证据状态见
docs/PROFILES-TODO.md(未核编辑器如实标注)。
v0.1.7 — 公开信息审计修复与一致性整理
@dsh-bio/dsh-bio-graft v0.1.7
主题:公开信息审计修复与文档一致性整理(功能无变更)。
基因编辑设计专科插件:11 个语义化工具(sgRNA 候选 / 评分向量 / 脱靶扫描 / 策略评估 / 验证方案 / EditPlan 账本)。
修复与整理
文档与实现一致性
- 接入状态与路线图更新:integration v2 载荷已对齐、里程碑 B–F 全部标记完成(英文 README 同步)。
- 「首个 npm 发布版本」历史修正:
0.1.3为首个 npm 发布版本。 - 第三方适配器表述澄清:FlashFry / PrimeDesign / inDelphi / CRISPResso2 永不 bundle;当前未实现任何适配器,未来若接入只以 external adapter 形式。
公开信息整理
- 移除内部设计编号引用与本地路径;批次命名统一为「里程碑」;测试断言计数改为通用表述。
安装
dsh plugin --profile web add @dsh-bio/dsh-bio-graft
# 或经 npx:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-graft桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
已知边界(诚实清单)
- Cas-OFFinder 后端仅 Windows 自动获取(v2.4.1 稳定版);其他平台手动放置。
- 无 CPU OpenCL 设备的机器上只能走 GPU(
device=auto已自动处理)。 - 编辑器几何证据状态见
docs/PROFILES-TODO.md(未核编辑器如实标注)。
v0.1.6 — 编辑设计细节修复批次
@dsh-bio/dsh-bio-graft v0.1.6
主题:编辑设计细节修复批次 + 公开文档整理。
基因编辑设计专科插件:11 个语义化工具(sgRNA 候选 / 评分向量 / 脱靶扫描 / 策略评估 / 验证方案 / EditPlan 账本)。
修复与改进
编辑设计语义
- 碱基编辑坐标语义显式化:
codon_index明确标注 0-based;新增codon_number_1based字段,消除「第几个密码子」歧义。 graft_score输出 schema 放宽;策略/评分字段补充适用性标注。
脱靶扫描(安全相关)
- 修复带返回上限的扫描把「未读取」显示成「零命中」的问题——
n_hits恒为全量计数(另附hits_truncated标志与截断列表),杜绝假「无脱靶」结论。
输入与运行环境
guide_enumerate/base_edit的sequence参数支持文件路径输入。- 工具相对路径基于会话工作区解析(python 子进程 cwd 对齐会话目录)。
- 解释器 / 后端探测语义与查找链加固。
公开文档整理
- 清理内部流程信息;英文 README 状态同步更新。
安装
dsh plugin --profile web add @dsh-bio/dsh-bio-graft
# 或经 npx:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-graft桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
已知边界(诚实清单)
- Cas-OFFinder 后端仅 Windows 自动获取(v2.4.1 稳定版);其他平台手动放置。
- 无 CPU OpenCL 设备的机器上只能走 GPU(
device=auto已自动处理)。 - 编辑器几何证据状态见
docs/PROFILES-TODO.md(未核编辑器如实标注)。
v0.1.5 补齐 /v1/capabilities 端点
补齐 /v1/capabilities 端点
G 系列跨插件契约层修复(独立包,不合并)。
新增
GET /api/dsh-bio-graft/integration/v1/capabilities:输出
{ contract_version, plugin_id, plugin_version, tool_count, tools },
工具名取自随包capabilities.json。INTEGRATION_FEATURES增加capabilities;capabilities.json补
capabilitiesPath与该 feature 声明。
背景
宿主按 status.features 是否声明 capabilities 决定是否拉取域侧工具清单。
gem 与 galatea 都提供了该端点,只有 graft 没有,导致 graft 的工具清单只能
依赖宿主侧的静态回退清单,与「能力单源」契约不一致。
测试
test/integration-contract.mjs 新增 10 条(26 → 36 条):载荷形状、清单与
实际注册工具一致、端点注册在声明路径、health/status 回显 feature,以及安全
项——非 loopback GET 拒绝、POST 拒绝。
验证
变异:向capabilities.json 注入一个不存在的工具名 → integration-contract
报 34 passed, 1 failed、exit 1;还原 → exit 0(确认非「只打印不失败」)。
dsh-bio-graft v0.1.3 — 首个发布(基因编辑设计域插件)
@dsh-bio/dsh-bio-graft v0.1.3
首个 npm 发布版本 —— 0.1.0–0.1.2 未发布到 npm,本版涵盖全部改动(含 0.1.2 的所有内容与 0.1.3 审计修复轮)。
基因编辑设计域插件:dsh-bio 家族第三个成员(genie = 宿主 / gem = 代谢模型 / graft = 序列编辑)。
亮点
11 个语义化工具(其中 10 个纯标准库 Python,装完即用;脱靶扫描需 Cas-OFFinder 外部二进制,可自动获取)
| 工具 | 一句话 |
|---|---|
graft_profiles |
编辑酶注册表(PAM/spacer/几何 + 证据分级)与碱基编辑器(五层 profile,窗口带文献与计数约定) |
graft_design |
PAM 双向扫描 → 候选 + 评分向量 + 切割位点(含口径与 verified) |
graft_score |
候选评分向量(不打综合分) |
graft_rank |
声明式排名:pareto / 字典序 / 显式加权;policy_id+policy_digest 随结果进账本 |
graft_offtarget |
Cas-OFFinder 脱靶扫描 → 结构化命中 + search_completeness(枚举没搜的维度)+ per_guide 汇总 |
graft_base_edit |
碱基编辑设计(BE3/BE4max/ABE7.10):窗口内可编辑碱基 + bystander + 密码子后果 + 链语义三件套 |
graft_strategy |
多 guide 策略:deletion_pair 预测缺失区间/连接点/移码;paired_nickase 配对;每对附 pairwise 脱靶组合(风险不相加);未实现策略显式拒绝 |
graft_validation_plan |
验证方案:按模态+宿主分档(required 不可删)+ 指标带分子/分母/assay + cannot_conclude;植物加嵌合/合子性/可遗传 |
graft_backend_status |
后端探测 / OpenCL 设备列表 / 自动安装 |
graft_plan_save / graft_plan_load |
EditPlan 可审计账本(append-only runs,run 号单调只增) |
0.1.3 审计修复轮(本版新增)
graft_rank目标轴缺失 fail-closed:未分析指标不再以零成本参与排序(weighted 下不再"缺失者排第一";pareto dominance 增加"任一轴不可比较即不得支配"兜底);三种策略口径一致,缺失原因随 excluded 写明。graft_base_editstrand:'-'修复:此前只扫正链再过滤成空结果,现在真正枚举反链;返回体新增strand_requested自证。graft_strategysingle_cut支持单候选(最低候选数按策略分支)。graft_rankhomopolymer_max扁平形态回退 + 契约单一来源rank-contract.json(schema/帮助/Python/测试同源防漂移)。- 测试门禁加固:harness 对子进程非零退出 fail-closed、Cas-OFFinder 发现链三路径覆盖、缺后端显著 SKIP。
npm test204 断言全绿。
计算结果可信度是产品的一部分
- 脱靶结论永不说「安全」:结构化
assessment.safety_conclusion恒为not_supported,0 命中给排查提示;search_completeness明确列出没搜的维度。 - 不打综合分:只给评分向量 + 声明式策略;
weighted必须显式给权重且带 disclaimer。 - 负证据语义:
0/null/not_searched严格区分;数据缺失硬过滤剔除并说明。 - 几何 ≠ 效率:窗口内只推「几何兼容」;编辑器几何未核一手文献的(Cas12b/Cas13a)如实标注
verified=false。
引擎兼容(2026-09-19):经 dsh 0.1.5-rc.2 走廊逐卡走查(55 张变更卡:零适配命中)与实机验证(工具注册 / 域面板 / Cas-OFFinder 就绪)。
安装
dsh plugin --profile web add @dsh-bio/dsh-bio-graft
# 或:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-graft- 安装后重启 dsh web。
- 脱靶扫描后端:
graft_backend_status(action="ensure")自动获取(仅 Windows);其他平台手动放置或设GRAFT_CAS_OFFINDER环境变量;无后端时扫描相关测试/工具显式标记不可用(绝不静默冒充已验证)。 - 与宿主
dsh-bio-genie同实例共存;BioGenie 设置面板「基因编辑设计」分页显示本插件运行时状态(需宿主 ≥0.6.24)。
验证口径
npm test204 断言全绿(8 套件:工具契约/黄金 op/脱靶扫描/排名/碱基编辑/策略/验证方案/集成契约)。- 实机 E2E:全新 dsh 环境安装 → 11 工具注册 → graft_profiles/graft_design/graft_plan_save 真实会话链路 → 面板「已安装 · 协议就绪」。
已知边界(诚实清单)
- 脱靶扫描依赖 Cas-OFFinder(外部二进制 + OpenCL):无可用后端时相关能力显式不可用(含 install_hint)。
- prime_edit / HDR / multiplex 等策略未实现——被问及时显式拒绝并给出可行替代,不产出假设计。
- 评分向量不含效率预测;活性/效率一律 external provider。
- EditPlan 为本地 append-only 文件账本(
~/.dsh/dsh-bio-graft/plans/),非数据库。