dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
面向 DeepSeek Harness 的零依赖分子生物学研究插件:序列分析、引物自动设计与检查、限制性酶切模拟、GenBank 解析与质粒图谱、qPCR 分析、文献助手与实验台计算。除文献检索与存储外全部为确定性纯计算;插件由纯 .mjs 文件构成,可随 agent preset 目录整体复制分发。
| 工具 | 功能 |
|---|---|
molbio_reverse_complement |
反向互补 / 互补链(IUPAC 简并码,自动忽略空白与数字) |
molbio_gc_content |
整体 GC 含量 + 可选分窗口 GC 百分比 |
molbio_translate |
1/2/3/-1/-2/-3 或六框翻译(3 套密码子表),ORF 查找 |
molbio_restriction_sites |
内置 90+ 限制酶(v10 起含 IIS 型:BsaI/BsmBI/BbsI/BspQI/SapI/PaqCI/AarI/BtgZI/BsmFI/FokI 等,切点在识别位点外,显示标准 (N₁/N₂) 记法)位点搜索与酶切片段计算(线性/环状) |
| 工具 | 功能 |
|---|---|
molbio_design_primers |
自动设计 PCR 引物对:Tm(SantaLucia 1998 NN,50 mM Na⁺/1.5 mM Mg²⁺/200 nM)、GC、GC clamp、run/发夹/自互补/二聚体约束,按 amplicon 窗口配对并排序 |
molbio_design_intron_primers |
跨内含子 qPCR 引物(v10):给定基因组序列 + 外显子坐标,正向引物跨外显子-外显子连接点(两侧各 ≥ min_junction_bases),反向引物位于另一外显子,基因组 DNA 无法扩增;min_genomic_span 强制最小基因组间距;输出剪接坐标 + 基因组坐标双套位置 |
molbio_primer_tm |
单条引物 Tm 估算(Na⁺/Mg²⁺/dNTP 盐校正,von Ahsen 2001) |
molbio_primer_check |
引物结构筛查:重复序列、自互补(3' 端加权)、发夹、引物对二聚体 |
| 工具 | 功能 |
|---|---|
molbio_parse_snapgene |
SnapGene .dna 文件解析(研究者最常用的格式):图谱名称、拓扑(环状/线形)、注释特征(类型/区段/链向/标签,支持多段 join 与 HTML 文本清洗)、序列、描述、accession、已保存引物 |
molbio_plasmid_map_file |
一步成图:直接读 .dna(SnapGene)或 .gb/.gbk(GenBank)文件,把 SVG 图谱写入工作区文件并返回 svg_path(默认 <名称>.svg,可用 output_path 指定) |
molbio_parse_genbank |
GenBank flatfile 文本解析(complement/join 定位、/gene、/product 等) |
molbio_plasmid_map |
从序列 + 特征数组渲染并直接写入 SVG 文件(环形默认/线形可选):特征分道、链向箭头、酶切标记、bp 刻度;同样返回 svg_path |
| 工具 | 功能 |
|---|---|
molbio_unique_cutters |
克隆选酶:载体单切 + 插入零切的"理想酶"列表(可限定 MCS 区间)、区间双切酶(片段切出)、排除切插入的酶 |
molbio_clone_simulate |
酶切-连接(1-2 酶,orientation=auto 默认自动反向互补方向写反的插入片段)与 Gibson 组装(自动生成同源臂和 insert-to-order)模拟:输出最终质粒序列、特征坐标平移、连接点序列、验证酶切预测(对比空载体,单酶时含反向连接预测);save_path 存 FASTA、map_path 一步写出新质粒图谱 SVG(含平移后的特征与验证酶标记) |
molbio_clone_primers |
扩增引物加尾:酶切位点 + 保护碱基(内置推荐表)或 Gibson 同源臂;自动复检全长 Tm(NN 估算)/GC/二聚体,并警告"酶也切模板内部" |
molbio_mutagenesis_primers |
QuickChange 式定点突变引物:支持 A123G/123A>G/123_125del/after123insGCT,突变居中、G/C 端、Tm/GC/结构复检,报告氨基酸变化(frame 1 假设) |
| 工具 | 功能 |
|---|---|
molbio_verify_sanger |
读 .ab1(ABIF 二进制:碱基 + 质量值)或 .seq/.txt/.fasta 测序文件 → 与参考质粒比对(环状感知,跨 origin 的读段也能对齐)→ 错配/缺失/插入报告(含质量标注)、同一性、CDS 内氨基酸后果(错义/沉默/移码) |
| 工具 | 功能 |
|---|---|
molbio_qpcr_analysis |
ΔΔCt 法:各组均值/SD、ΔCt、ΔΔCt、fold change(可设扩增效率) |
molbio_qpcr_efficiency |
稀释系列 → 标准曲线:斜率/截距/R²、扩增效率 E=10^(−1/slope)−1;plot_path 直接写出带拟合线的 SVG 标准曲线 |
molbio_plot |
通用 SVG 图表:柱状图(均值±SD 误差棒)与散点图(可选最小二乘拟合线),写成工作区文件 |
molbio_lab_math |
稀释计算(C₁V₁=C₂V₂)、摩尔浓度、DNA 拷贝数 |
| 工具 | 功能 |
|---|---|
molbio_protein_props |
MW(平均残基质量)、等电点(Bjellqvist 1993 pK)、A280 消光系数(还原/全二硫键两种)、A280(0.1%)、GRAVY(Kyte-Doolittle)、脂肪族指数(Ikai 1980)——均为估算 |
molbio_peptide_digest |
质谱用酶切模拟:trypsin/chymotrypsin/LysC/GluC(P 前不切规则)、漏切 0-3、单同位素/平均 [M+H]+ 质量、质量范围过滤 |
molbio_codon_optimize |
E. coli/酵母/人宿主密码子优化(公开发表的高频密码子表,启发式);avoid_enzymes 通过同义替换尽量避开指定酶切位点 |
| 工具 | 功能 |
|---|---|
molbio_align |
Smith-Waterman 局部比对:可读的比对线( |
molbio_fasta_fastq |
工作区 FASTA/FASTQ 处理:条目统计(长度/GC)、按 id 提取(可写 FASTA)、FASTQ→FASTA 转换、FASTQ QC(Phred 均值/低质量比例/位点质量分布) |
molbio_extract_region |
从质粒文件按特征名(如 "AmpR"、"MCS")或坐标提取子序列,可选反向互补与 FASTA 保存——克隆/设计的下游输入 |
molbio_plasmid_map / molbio_plasmid_map_file 新增 gc_skew: true(GC skew 环)与 show_unique_cutters: true(绿色标记所有单切酶)| 工具 | 功能 |
|---|---|
molbio_pubmed_search |
通过 harness 的 web 检索服务搜文献(自动提取 URL 中的 PMID) |
molbio_paper_add |
把文献加入阅读库(默认工作区 papers.json,按 PMID→URL→标题+年份去重) |
molbio_paper_list |
列出阅读库 |
molbio_paper_update |
按 id 更新笔记/标签等字段 |
molbio_paper_remove |
从阅读库删除一条文献 |
| 工具 | 功能 |
|---|---|
molbio_pubmed_abstract |
NCBI E-utilities efetch 按 PMID 拉取摘要(依赖部署提供 web fetch 能力,不支持时明确报错) |
molbio_paper_export_bibtex |
papers.json → BibTeX .bib 文件(可选按 tag 过滤) |
molbio_protocol_add / protocol_list / protocol_update |
协议库(protocols.json):步骤列表、自由参数对象、来源文献 id |
molbio_experiment_log / experiment_list |
实验日志(experiments.json):关联协议与文献、笔记与结果 |
dsh-molbio-tools/
├── index.mjs # 插件入口:export { name, inject, apply },注册 39 个工具
├── lib.mjs # 基础库:IUPAC、翻译、酶表、NN 热力学、qPCR、lab math
├── design.mjs # 引物自动设计(含跨内含子 qPCR)
├── genbank.mjs # GenBank flatfile 解析器
├── snapgene.mjs # SnapGene .dna 二进制解析器(含极简 XML 扫描器)
├── plasmid.mjs # SVG 质粒图谱渲染器(环形/线形,GC skew/标记)
├── align.mjs # Smith-Waterman 局部比对 + 锚点窗口(Sanger 验证用)
├── cloning.mjs # 克隆模拟:选酶/酶切连接/Gibson/克隆引物/突变引物
├── sanger.mjs # ABIF (.ab1) 解析 + 测序验证报告
├── protein.mjs # 蛋白性质/肽段酶切/密码子优化
├── plot.mjs # SVG 柱状/散点图渲染
├── seqio.mjs # FASTA/FASTQ 解析与统计
├── records.mjs # 协议库/实验日志存储
├── papers.mjs # 文献库存储(经 harness fs 服务 + 沙箱政策)
├── cordis.patch.yml # bundle 补丁层(可选安装渠道用,按包名插入 tool-molbio 行)
├── preset/
│ └── molbio-lab/ # 推荐的专属模式预设(agent.cordis.yml + preset.yml + plugins/dsh-molbio-tools-v11/)
├── test/
│ └── smoke.mjs # 冒烟测试(复用 harness 自身的 JSON Schema 校验器)
├── docs/
│ └── maintainer.md # 维护者文档(合规对照/开发测试/路线图)
├── package.json
└── README.md
推荐给最终用户的方式:安装后预设选择器出现 Molecular Biology Lab 专属模式, molbio 工具只在该模式出现,不会把 39 个工具和提示段注入到其它会话(避免污染无关场景)。
仓库的 preset/molbio-lab/ 即完整预设目录,把它复制到对方的 harness 用户目录即可:
~/.dsh/.agent-presets/molbio-lab/
├── agent.cordis.yml # 标准编码 Agent + 末尾的 tool-molbio 行
├── preset.yml # 显示名称与描述
└── plugins/
└── dsh-molbio-tools-v11/ # 插件文件(版本目录,见下文)
对方重启(或刷新预设列表)后,在预设选择器中选择 Molecular Biology Lab 新建会话。
DSH 的 standing 挂载按 ESM 模块 URL 缓存模块。每次更新必须新建版本目录
(如 dsh-molbio-tools-v12/)并同步修改 agent.cordis.yml 中的插件行;绝不在已发布
目录里原地改文件。分发者从包根目录把 .mjs 文件复制进新版本目录即可:
cp *.mjs preset/molbio-lab/plugins/dsh-molbio-tools-v12/
# 并把 agent.cordis.yml 的行改为 './plugins/dsh-molbio-tools-v12/index.mjs'
本包同时是官方的组合包(bundle)(dsh.bundle manifest → cordis.patch.yml)。
注意:bundle 把插件行注册到 profile 的全局 tools 层——该 profile 的所有会话都会
加载 molbio 工具与提示段。适合"整个 profile 专用于分子生物学"的用户,不适合混合用途。
| 方式 | 命令 | 用户安装 |
|---|---|---|
| GitHub | 推送到仓库 | dsh plugin --profile <name> add github:lovy2004/dsh-molbio-tools(纯 JS 零构建,无需 prepare 脚本与构建授权) |
| npm 发布 | npm publish |
dsh plugin --profile <name> add dsh-molbio-tools |
| tarball | pnpm pack |
dsh plugin --profile <name> add ./dsh-molbio-tools-0.1.0.tgz |
验证方式(官方推荐):
dsh plugin --profile demo add <包> # 需要用户机器装有 pnpm(官方流程依赖)
dsh --profile demo --dump-config # 组合树中应出现 "# == dsh-molbio-tools" 层
本仓库已验证:--dump-config 输出以 # == dsh-molbio-tools + - id: tool-molbio / name: dsh-molbio-tools 开头(层序在 dsh-base 之上),且从 profile 目录按包名
import('dsh-molbio-tools') 成功注册全部 39 个工具。两种安装方式可以共存(同名工具
由 preset 层 shadow 全局层,无冲突),但通常二选一即可。
版本目录规则的原理(维护者必读):DSH 的 standing preset 挂载在整个进程生命周期 内存在,且 Node 的 ESM 模块缓存以文件 URL 为键——同一 URL 的
import()永远返回 第一次加载的模块,包括插件内部的相互 import(给入口加查询串只能破坏入口自身的 缓存,依赖文件仍会命中旧缓存)。因此原地替换.mjs不会让新会话加载新代码;目录名 变化使所有模块 URL 一次性更新。旧目录可删除(已运行的 generation 持有内存中的模块, 不受磁盘删除影响)。
molbio_plasmid_map / molbio_plasmid_map_file 把 SVG 写入工作区(ctx.fs + 会话沙箱政策),模型上下文里只出现文件路径,避免大文本截断。spans_insertion。.ab1 低质量(<20)位点单独标注且不计入"differences_found"判定;氨基酸后果按 frame 1 假设报告。fs/web 服务:库文件默认 papers.json 在工作区内,写入遵循会话的沙箱政策(ctx.sandboxPolicy),与其他文件工具同权。A C G T U R Y S W K M B D H V N;U 按 T 处理;简并碱基在酶切位点匹配与引物设计中视为不匹配/不可用。strand: -1 表示 complement 链;酶切标记使用酶表的标准切点记号。"解析这个 .dna 文件并画出质粒图谱" → molbio_plasmid_map_file(path, enzymes:[...]) → 工具直接写入 <名称>.svg
"看看 pUC118.dna 里有哪些特征和引物" → molbio_parse_snapgene(path)
"把这段序列克隆进 pUC118(EcoRI/HindIII),模拟最终质粒" → molbio_unique_cutters 选酶 → molbio_clone_simulate → molbio_plasmid_map 画新质粒
"给插入片段设计带酶切位点的克隆引物" → molbio_clone_primers
"帮我验证这个测序结果和质粒是否一致" → molbio_verify_sanger(trace_path, reference_path)
"帮我在外显子 3 上设计一对 qPCR 引物,产物 80-150 bp" → molbio_design_primers (amplicon_min/max) → molbio_primer_check 复核
"搜一下 KRAS G12D 抑制剂的最新文献并存进阅读库" → molbio_pubmed_search → molbio_paper_add
directionality 映射为链向(1→正链,2→负链)。<html>…)会自动清洗为纯文本。.dna 是二进制文件,普通 read 工具读不了——请直接给工具传文件路径,不要尝试自己读内容。维护者(开发者)请参阅 docs/maintainer.md:官方规范对照、冒烟测试与发布/版本目录维护流程。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。