Skip to content

EnhancerScope v1.0.0 — 防泄漏基准 + 浏览器工具 + MCP 插件

Latest

Choose a tag to compare

@fzyz-whx fzyz-whx released this 28 Sep 20:50
f130101

EnhancerScope v1.0.0

用基因组语言模型预测增强子活性:防泄漏基准 + 浏览器工具 + MCP 插件

核心结果(test split,Spearman ρ)

模型 Dev Hk 说明
k-mer(6)+GC → LightGBM 0.581 0.519 词袋无位置信息
DeepSTARR 风格 CNN 0.639 ± 0.003 0.566 ± 0.005 从零训练,3 种子
DNABERT-2 零样本(embed+Ridge) 0.428 0.363 不微调
LoRA 微调 DNABERT-2 0.6214 ± 0.0088 0.5722 ± 0.0044 只训 0.50% 参数,显存 2.67GB
LoRA 微调 HyenaDNA 0.2845 ± 0.0021 0.2486 ± 0.0008 负结果(归因见 docs/experiments.md §4.1)
  • 微调把 DNABERT-2 自身零样本提升 +0.19 / +0.21;只微调 0.5% 参数即在 Hk 上超过全量 CNN
  • 防泄漏划分:整条 chr2R 臂 held out;valid/test 坐标零重叠(0.00%,实测断言)

这一版包含

  • 科研内核:三条 baseline + 两个模型的 LoRA 微调(3 种子)+ 可解释性(突变扫描/窗口遮蔽 + JASPAR 对照,含失败案例)
  • 交付工具:浏览器 demo(ONNX Runtime Web,单序列 2–15ms)与 MCP 工具层(predict_activity / explain_sequence / batch_scan)
  • 文档:数据卡 / 实验记录 / 可解释性 / 决策记录 / 面试问答 / 开发日志(21 个坑与解法)
  • 工程:34 个单测(CI 全绿)、代码与数据分离(权重不入库)、ONNX 导出一致性闸门(max|Δ|<1e-6)

快速开始

uv sync --all-groups
uv run enhancerscope-demo
uv run enhancerscope-mcp        # MCP server(stdio)

在线演示:https://fzyz-whx.github.io/EnhancerScope/

资产说明

  • model_fp32_single.onnx:最优模型(LoRA DNABERT-2)的 ONNX 导出,fp32、481MB,
    与 PyTorch 数值一致(max|Δ|=7e-6,证据见仓库 results/onnx_parity.json)。
    浏览器 demo 不加载它(体积原因),页面用的是 0.81MB 的 CNN(见 webapp/README.md 的取舍说明)。
  • 若附件缺失(大文件上传受网络限制),可在本地复现导出:
uv run --group ml python scripts/download_model.py                      # 下载基座权重
uv run --group ml python scripts/finetune_lora.py --model dnabert2 --seed 42 --epochs 3
uv run --group ml python scripts/export_onnx.py                         # 导出 + 一致性闸门

引用

de Almeida et al., Nature Genetics 2022(数据 DeepSTARR)· Zhou et al., ICLR 2024(DNABERT-2)·
Nguyen et al., NeurIPS 2023(HyenaDNA)· Hu et al., ICLR 2022(LoRA)· Fornes et al., NAR 2020(JASPAR)