基于 Burrows-Wheeler 变换的 FM-index(显式哨兵实现)。
FMIndex
01 Syntax
SMRUCC.genomics.SequenceModel.RNA_Seq.Rockhopper.Alignment.FMIndex
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| Occ | 1 | Occ(ch, i):BWT 前 i 个字符([0, i))中字符 ch 的个数。 |
| GetC | 1 | GetC(ch):字典序严格小于 ch 的字符总数。 |
| BackSearch | 1 | 反向搜索得到的后缀数组区间 [left, right)。 |
| Count | 1 | 模式串出现次数。 |
| Locate | 1 | 定位模式串(1-based 起始坐标)。 哨兵对应的行(SA 值为 Length)会被跳过。 |
03 Properties
04 Fields
| Name | Overloads | Summary |
|---|---|---|
| Alphabet | 2 | 字母表(按 ASCII 升序;'$' 为哨兵,'^' 为歧义字符,均排在 A/C/G/T 之外)。 |
| SENTINEL | 2 | 哨兵字符。 |
| occCheckpoint | 1 | 检查点 Occ 表:occCheckpoint(alphaIndex)(block) 表示 BWT 前 block*INTERVAL 个字符中该字符的个数。 |
05 Members
Occ(
Char, Int32)Occ(ch, i):BWT 前 i 个字符([0, i))中字符 ch 的个数。
GetC(
Char)GetC(ch):字典序严格小于 ch 的字符总数。
BackSearch(
String)反向搜索得到的后缀数组区间 [left, right)。
Count(
String)模式串出现次数。
Locate(
String, Int32)定位模式串(1-based 起始坐标)。 哨兵对应的行(SA 值为 Length)会被跳过。
Length
参考序列长度(不含哨兵)。
Rows
BWT 行数(= Length + 1)。
Sa
后缀数组(只读,供候选定位使用;长度为 Length + 1)。
Alphabet
字母表(按 ASCII 升序;'$' 为哨兵,'^' 为歧义字符,均排在 A/C/G/T 之外)。
SENTINEL
哨兵字符。
occCheckpoint
检查点 Occ 表:occCheckpoint(alphaIndex)(block) 表示 BWT 前 block*INTERVAL 个字符中该字符的个数。
Alphabet
SENTINEL