SeqFlash:Windows 上流畅浏览 GB 级 FASTA/FASTQ 的桌面工具
为什么需要 SeqFlash
在 Windows 个人电脑上打开一个几 GB 的 FASTQ 文件是什么体验?大多数文本编辑器直接卡死,.seq 工具要么是命令行要么依赖 Python 环境。SeqFlash 就是为这个场景做的:专注一件事——快速打开超大序列文件,流畅浏览、检索、检查、按记录编辑、安全导出,全程低内存占用,面向 Windows 10/11。
技术方案
- 内存映射(mmap):文件以只读方式映射进内存,按需加载页面,源文件永不被修改
- 虚拟滚动:直接在原始字节上滚动浏览,GB 级文件也无感知延迟
- 增量索引:FASTA/FASTQ 记录边加载边建索引,支持跳转导航
- 覆盖层(overlay)编辑:所有编辑记录在内存覆盖层,中心面板实时预览有效内容,记录列表用
[DEL]/[EDIT]徽章标记
功能一览(当前 M8 里程碑)
| 能力 | 状态 |
|---|---|
| 打开大文件(对话框 / CLI / 拖放) | ✅ |
| 虚拟滚动浏览原始字节 | ✅ |
| FASTA/FASTQ 增量索引与导航 | ✅ |
| 碱基 / GC / 质量值统计(覆盖层感知) | ✅ |
| 增量搜索(字节 / ID / 序列片段) | ✅ |
| 记录复制 + 单记录导出 | ✅ |
| 记录级覆盖编辑(header / 序列 / 质量,删除,前后插入) | ✅ |
| 撤销 / 重做(Ctrl+Z / Ctrl+Y) | ✅ |
| 后台流式保存(带进度与取消,绝不覆盖打开中的源文件) | ✅ |
开发按里程碑推进(M0–M9),目前处于 M8 稳定性与性能阶段,完整的路线图见仓库的 SeqFlash_DEVELOPMENT_PLAN.md,每个里程碑附带验收文档。
工程质量
- Criterion 微基准测试(
scripts/benchmark.ps1) - 属性 / 压力测试(
cargo test --workspace) - 可选的 stdin fuzz harness(
seqflash-fuzz)
技术栈
Rust(stable,x86_64-pc-windows-msvc)+ eframe / egui GUI 框架,Cargo workspace 多 crate 组织(apps/ / crates/ / benches/ / fuzz/)。
相关链接
- GitHub:Caizhaohui/SeqFlash