序列表示与索引
生物信息学的核心任务之一是在海量序列数据中快速找到目标片段。给定一条长达 30 亿碱基的人类参考基因组,如何在毫秒级时间内定位一条 100 bp 的测序 read?这是现代测序数据分析每天都要面对的问题。
本章节按照”表示 → 算法 → 索引 → 应用”的逻辑递进组织:从 k-mer 表示法这一基础工具出发,经过经典字符串匹配算法,到后缀索引结构,再到近似匹配与实际应用。
k-mer 与序列表示
理解为什么局部片段可以成为索引、组装和分类任务的共同基础。
进入子主题索引结构概览
建立 suffix array、BWT、FM-index 等结构在方法图谱中的位置。
进入子主题 算法起点
精确字符串匹配
从最基础的模式串查找问题出发,理解为什么需要更聪明的字符串算法。
进入子主题 经典算法
KMP算法
通过failure function实现线性时间字符串匹配,理解避免重复计算的核心思想。
进入子主题 经典算法
Boyer-Moore算法
通过bad character和good suffix规则实现高效跳跃,理解实际应用中最快的字符串匹配算法。
进入子主题 多模式匹配
Trie 与多模式匹配
用 trie 组织一组模式,并理解 Aho–Corasick 这类算法的基本直觉。
进入子主题精确匹配与近似匹配
理解为什么现代 read mapping 通常是搜索和扩展的组合。
进入子主题 后缀结构
Suffix Tree
从 suffix trie 压缩到 suffix tree,建立子串索引的经典直觉。
进入子主题Suffix Array、BWT 与索引压缩
从后缀排序和 BWT 出发,理解压缩索引的动机。
进入子主题FM-index
把 BWT 与 backward search 连接起来,理解高效 exact matching。
进入子主题