前言¶
在 DeepSeek Harness(DSH)里做生信类 Agent,常见难点不是「会不会写提示词」,而是流程太长:目标酶怎么标准化、候选蛋白怎么筛、结构证据和 EC 注释怎么对齐、最后怎么排出可验证的实验清单。若每一步都靠临时对话拼凑,路径占位符、工具版本和中间 TSV 很容易对不上。
下面介绍维护者 Liuyixin-lily 发布的 human-microbiome-function-mining 插件(GitHub 仓库 Liuyixin-lily/dsh-bio-human-microbiome-function-mining,npm 包名 @dsh-bio/human-microbiome-function-mining)。它把「目标酶 / EC / 底物-产物反应 → 候选蛋白 → 证据链 → 排序 → 实验设计」做成可安装的 DSH 工作流包:内置 9 个 skill、脚本与 schema,但不托管服务、不打包 DIAMOND 等外部工具,也不提供算力。社区目录页见 SkillHub 插件页(独立站点,与 DeepSeek / 幻方无官方从属关系)。
这是什么¶
human-microbiome-function-mining 是可装入 DSH 或兼容 Agent harness 的插件交付包(版本 0.1.0,MIT 许可证)。核心输入是目标酶序列、EC 号或底物-产物关系;输出包括候选蛋白证据表、带 overall_rank 的排序表,以及可证伪实验假设与实验设计相关汇总。
插件提供 skills、scripts、schemas 与 references/ 规则。DIAMOND、CD-HIT、US-align、DEER、FedKEA、Bakta、SignalP 和文献库仍由用户在本地或自有服务器准备;Agent 仅在路径可达且用户允许时本地执行,否则写出确切命令并消费用户回传的结果文件。
核心功能¶
九项 skill 分工¶
functional-dark-matter-discover:主流程,串联候选发现与实验设计。build-target-function-card:标准化目标输入,生成target_function_card.json。screen-sequence-candidates:CD-HIT 去冗余(单菌单基因组默认 100%,多基因组泛蛋白组默认 95%)后 DIAMOND 序列筛选。structure-prediction:缺结构时按 PDB → AlphaFold DB(mean pLDDT ≥ 60)→ 同源建模 → de novo 的优先级准备structure/<protein_sequence_id>.pdb。screen-structure-candidates:US-align 结构证据;某基因组无合格 US-align 结果且用户同意时才 DEER fallback;仅在序列+注释未共同确认目标功能时启用结构路线。literature-evidence:文献审计;有 MCP 文献工具时可走学术检索类流程,否则给出检索词或接收用户已验证引用,禁止编造 PMID/DOI。genome-search/genome-download/genome-annotation:从 NCBI 选 GCF/GCA、下载基因组、用 Bakta 注释——在用户尚无候选.faa/.gbff时独立使用。
流程概览¶
经过上面的 skill 划分,主路径可概括为:
target enzyme / EC / substrate-product
-> target_function_card.json
-> preflight(.faa / .ffn / .gbff / 结构路径)
-> 可选 genome-search / download / annotation
-> CD-HIT -> DIAMOND -> 解析已有注释
-> 快速路径:序列命中且注释匹配 -> SEQUENCE_ANNOTATION_CONFIRMED,跳过结构步骤
-> 否则结构预测 -> US-align -> 条件性 DEER
-> 可选 SignalP、FedKEA、文献证据
-> 合并表 -> score_candidates -> 实验假设与设计
若 DIAMOND 命中且 .faa/.gbff 注释已与目标功能一致,候选标记为 SEQUENCE_ANNOTATION_CONFIRMED,不做 US-align(无 TM 值,排序时落在「无 TM」组内但 priority 最高)。
排序策略¶
默认由 scripts/score_candidates.py 生成 scored_candidates_full.tsv,对外以 overall_rank 为准。默认 --rank-by structure:有 TM-score 的行按 TM 降序在前;无 TM 的行在后,再按 priority_order 等字段破平。对趋同/兼职酶靶点,这样可避免「EC 字面完全一致」的候选压过结构更可信的真阳性。需要旧版层级排序时使用 --rank-by priority。
priority_rule 层级(供溯源)依次为:SEQUENCE_ANNOTATION_CONFIRMED → USALIGN_TARGET_EC → DEER_FEDKEA_CONFIRMED → … → ANNOTATION_ONLY(共九档,详见仓库 README)。
安装与启用¶
插件以 DSH npm/bundle 形式安装。官方文档给出的命令如下(任选一种来源,路径按你本地实际替换):
# 本地目录
npx -y @deepseek-ai/dsh plugin --profile web add ./human_microbiome_function_mining
# 由本仓库打出的 tarball
npx -y @deepseek-ai/dsh plugin --profile web add ./human_microbiome_function_mining.tar.gz
# 发布或镜像后
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/human-microbiome-function-mining
npx -y @deepseek-ai/dsh plugin --profile web add github:Liuyixin-lily/dsh-bio-human-microbiome-function-mining
postinstall 会把 Agent preset 安装到 ~/.dsh/.agent-presets/human-microbiome-function-mining,预设选择器中出现「人体微生物功能挖掘专家」人设。新开 Agent 会话后,确认 skill functional-dark-matter-discover 已加载。
package.json 要求 Node ^22.19 || >=24。安装前建议阅读仓库源码与 MIT 许可证;插件随当前 dsh 进程权限运行,勿在未审阅的情况下对不可信包直接 add。
典型用法¶
1. 无外部工具的自测¶
先在插件目录验证脚本与 schema,不依赖 DIAMOND / US-align 等:
cd human_microbiome_function_mining
python3 scripts/example_test.py
预期末尾输出 example test passed。
2. 准备项目配置¶
复制最小示例并按你的数据改路径:
cp human_microbiome_function_mining/config.minimal.example.json project.json
project.json 中需填写(完整字段见 config.example.json 与 QUICKSTART):
- 目标酶 FASTA、目标结构 PDB,或 EC/反应信息;
- 候选蛋白组
.faa,可选.gbff、.fna、结构目录; - DIAMOND、CD-HIT、US-align 可执行文件路径;可选 DEER、FedKEA、Bakta、SignalP;
- 是否
auto_run_local等执行意图。
3. 预检与跑流程¶
工作流起点是预检,确认数据与工具从当前终端是否可达:
python3 scripts/preflight_inputs.py --project project.json --require-tools
报告各路径为 ok / placeholder / missing / invalid。通过后,可让 Agent 按 skill 跑全流程,或分步调用封装脚本,例如:
python3 human_microbiome_function_mining/scripts/preflight_inputs.py --project project.json
python3 human_microbiome_function_mining/scripts/run_diamond.py --project project.json
python3 human_microbiome_function_mining/scripts/run_usalign.py --project project.json
DEER 在合并表无合格候选时的第二道门示例:
python3 human_microbiome_function_mining/scripts/run_deer.py \
--project project.json \
--combined-candidates outputs/task/combined_candidates.tsv
4. 合并、打分与交付物¶
python3 human_microbiome_function_mining/scripts/merge_candidates.py \
--structural outputs/alignments/run_full_085/structural_candidates.tsv \
--project project.json \
--output outputs/task/combined_candidates_full.tsv
python3 human_microbiome_function_mining/scripts/score_candidates.py \
--input outputs/task/combined_candidates_full.tsv \
--output outputs/task/scored_candidates_full.tsv \
--target-ec 3.1.4.12
python3 human_microbiome_function_mining/scripts/summarize_candidates.py \
--scored outputs/task/scored_candidates_full.tsv \
--gene-evidence outputs/task/candidate_sequences/candidate_gene_evidence.tsv \
--literature outputs/task/literature_evidence.tsv \
--project project.json \
--outdir outputs/task/summary
主要交付包括 scored_candidates_full.tsv、combined_candidates_full.tsv、候选序列 FASTA、以及 summary/ 下的高置信候选与 experimental_hypotheses.tsv 等(完整列表见 QUICKSTART.md)。
适用场景与注意¶
适合谁:已有或计划准备人体相关微生物基因组/蛋白组数据,想从目标酶功能反查候选蛋白,并需要序列、结构、注释、FedKEA 与文献证据统一成表、且默认 结构相似性优先排序 的研究或工程团队。
工具边界:插件不会静默安装 DIAMOND、CD-HIT、US-align、DEER、FedKEA、Bakta;路径仍是 /path/to/... 占位符或远程主机时,应明确提供 user@host 与绝对路径。不可达时只生成命令,不伪造工具输出;不会程序化调用 FedKEA 网页服务。
数据准备:若只有分类群或 accession 列表、尚无 .faa,可先加载 genome-search / genome-download / genome-annotation 三个子 skill。
分类:在 SkillHub 上该插件归类为 工作流。
初次使用建议通读仓库 QUICKSTART.md;路径清单见 references/input_paths.md。
结尾¶
human-microbiome-function-mining 把人体微生物组上的酶功能挖掘拆成可复用的 DSH 工作流:标准化目标卡片、序列与结构证据、可选基因组准备与文献审计,并以 TM 优先的确定性排序落到实验假设。安装与细节以 GitHub 为准:Liuyixin-lily/dsh-bio-human-microbiome-function-mining;目录索引:SkillHub 插件页。