9 Use Cases of SeGram
下面把论文 第 9 节 USE CASES OF SEGRAM 拆开讲清楚。
这一节讲的是:SeGraM 的模块化设计让它不仅可以端到端跑完整流程,还能把 MinSeed 和 BitAlign 拆开单独使用。因此论文给出了三种典型用例:端到端映射、单独 alignment、单独 seeding。
一、为什么 SeGraM 能拆开用?
论文原文:
As a result of the flexibility and modularity of the SeGraM framework, we can run each accelerator (i.e., MinSeed and BitAlign) together for end-to-end mapping execution, or separately.
翻译:
由于 SeGraM 框架具有灵活性和模块化,我们可以把两个加速器(MinSeed 和 BitAlign)合在一起做端到端映射,也可以分开单独使用。
通俗理解:
SeGraM 就像一套工具组合:
- MinSeed 是“快速定位器”,负责找候选区域;
- BitAlign 是“精细比对器”,负责精确比对。
- 你可以两个一起用(完整流程),也可以只用其中一个,搭配别的工具。
二、三种用例详解
1. 端到端映射(End-to-End Mapping)
论文原文:
For sequence-to-graph mapping, the whole SeGraM design (MinSeed + BitAlign) should be employed, since both seeding and alignment steps are required. With the help of the divide-and-conquer approach inherited from the GenASM algorithm, we can use SeGraM to perform sequence-to-graph mapping for both short reads and long reads. Because traditional sequence-to-sequence mapping is a special and simpler variant of sequence-to-graph mapping (i.e., a graph where each node has an outgoing edge to exactly one other node), SeGraM can be used for sequence-to-sequence mapping as well.
翻译并解释:
- 适用场景:完整的 S2G 映射,需要 seeding 和 alignment 两步。
- 组件:MinSeed + BitAlign 一起工作。
- 支持读长:短读和长读都行,因为 BitAlign 继承了 GenASM 的分治策略(divide-and-conquer),能把长 read 切成窗口处理。
- 也支持 S2S:因为 S2S 是 S2G 的特例——线性参考就是每个节点只有一条出边的图。所以 SeGraM 也能跑传统的序列到序列映射。
通俗理解:
这是 SeGraM 的“完全体”。输入是 query read,输出是它在参考图(或线性参考)上的最优比对位置。
无论你是做图映射还是传统线性映射,都可以用这一套。
2. 对齐(Alignment)——单独使用 BitAlign
论文原文:
Since BitAlign takes in a graph-based reference and a query read as its inputs, it can be used as a standalone sequence-to-graph aligner, without MinSeed. Similar to SeGraM, BitAlign can also be used for sequence-to-sequence alignment, as sequence-to-sequence alignment is a special and simpler variant of sequence-to-graph alignment. BitAlign is orthogonal to and can be coupled with any seeding (or filtering) tool/accelerator.
翻译并解释:
- 输入:图参考 + query read。
- 单独使用:不需要 MinSeed,BitAlign 自己就能做 S2G 对齐。
- 也支持 S2S:同样因为 S2S 是 S2G 的特例。
- 可与其他工具耦合:BitAlign 是“正交”的,意思是它不依赖特定的 seeding 工具,可以搭配任何 seeding 或过滤工具/加速器。
通俗理解:
BitAlign 就像一个“精细比对引擎”。
你可以用自己的 seeding 工具找到候选区域,然后把候选子图和 read 交给 BitAlign,让它做精确比对。
它不关心候选区域是怎么来的,只要给它图和 read 就行。
适用场景:
- 已有 seeding 工具,但 alignment 太慢,想用 BitAlign 加速;
- 研究新的 seeding 算法,用 BitAlign 做标准 alignment;
- 只需要 alignment 功能的场景。
3. 种子(Seeding)——单独使用 MinSeed
论文原文:
Similarly, MinSeed can be used without BitAlign as a standalone seeding accelerator for both graph-based mapping and traditional linear mapping. MinSeed is orthogonal to and can be coupled with any alignment tool or accelerator.
翻译并解释:
- 单独使用:不需要 BitAlign,MinSeed 自己就能做 seeding。
- 支持两种映射:图映射和传统线性映射都行。
- 可与其他工具耦合:MinSeed 也是“正交”的,可以搭配任何 alignment 工具或加速器。
通俗理解:
MinSeed 就像一个“快速候选区域生成器”。
你把它接在自己的 alignment 工具前面,它就能快速找出候选子图,然后你的 alignment 工具再做精细比对。
它不关心后面用什么 alignment 工具。
适用场景:
- 已有 alignment 工具,但 seeding 太慢,想用 MinSeed 加速;
- 研究新的 alignment 算法,用 MinSeed 做标准 seeding;
- 只需要 seeding 功能的场景。
三、三种用例对比
| 用例 | 使用的组件 | 输入 | 输出 | 适用场景 |
|---|---|---|---|---|
| 端到端映射 | MinSeed + BitAlign | query read | 最优比对结果 | 完整 S2G 或 S2S 流程 |
| 单独 Alignment | BitAlign | 图参考 + query read | 最优比对结果 | 搭配任意 seeding 工具;只做 alignment |
| 单独 Seeding | MinSeed | query read | 候选子图 | 搭配任意 alignment 工具;只做 seeding |
四、为什么这种模块化设计重要?
论文强调 SeGraM 的灵活性和模块化,主要有三个好处:
-
可重用:
MinSeed 和 BitAlign 都可以独立使用,不需要绑定在一起。
用户可以根据现有工具链,选择只替换其中一环。 -
可集成:
它们都是“正交”的,可以和其他 seeding/alignment 工具耦合。
比如,你可以用 BWA 做 seeding,用 BitAlign 做 alignment;或者用 MinSeed 做 seeding,用 GraphAligner 做 alignment。 -
适应不同需求:
有些人只需要加速 alignment,有些人只需要加速 seeding。
SeGraM 提供了灵活的组件,而不是一个封闭的黑盒。
五、总结:第 9 节的核心逻辑
- SeGraM 是模块化的:MinSeed 和 BitAlign 可以组合,也可以分开。
- 三种用例:
- 端到端映射:MinSeed + BitAlign,完整 S2G/S2S 流程。
- 单独 Alignment:只用 BitAlign,搭配任意 seeding 工具。
- 单独 Seeding:只用 MinSeed,搭配任意 alignment 工具。
- 都支持 S2G 和 S2S:因为 S2S 是 S2G 的特例。
- 正交性:两个组件都不依赖对方,可以灵活集成到现有工具链。
一句话:
第 9 节讲的是 SeGraM 的三种用法:你可以把它当作完整的 S2G/S2S 加速器,也可以只取它的 seeding 或 alignment 部分,搭配其他工具使用。这种模块化设计让 SeGraM 更灵活、更通用,能适应不同的基因组分析流程。