RollingHash
01 Syntax
SMRUCC.genomics.Model.MotifGraph.ProteinStructure.Linclust.RollingHash
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| HashKmer | 1 | 计算单个 k-mer(缩减字母表字符,基数 13)的 16 位滚动哈希。 使用多项式滚动哈希:F(h, c) = (h * base + code(c) * Seed) mod 2^16 字母序号 code 取其在缩减字母表中的下标(0..12),未知字符映射到 13(通配)。 |
| AlphabetCode | 1 | 将缩减字母映射为 0-based 序号 |
| HashAll | 1 | 用滚动方式计算序列上每个 k-mer 的哈希(依次增量更新)。 |
| GetMinHashes | 1 | 提取序列上哈希值最小的 m 个 k-mer。 若 k-mer 总数不足 m,则返回全部。 |
03 Members
HashKmer(
String)计算单个 k-mer(缩减字母表字符,基数 13)的 16 位滚动哈希。 使用多项式滚动哈希:F(h, c) = (h base + code(c) Seed) mod 2^16 字母序号 code 取其在缩减字母表中的下标(0..12),未知字符映射到 13(通配)。
AlphabetCode(
Char)将缩减字母映射为 0-based 序号
HashAll(
String, Int32)用滚动方式计算序列上每个 k-mer 的哈希(依次增量更新)。
GetMinHashes(
String, Int32, Int32)提取序列上哈希值最小的 m 个 k-mer。 若 k-mer 总数不足 m,则返回全部。
Parameters
| Name | Type | Description |
|---|---|---|
encoded | String | 缩减字母表编码后的序列 |
k | Int32 | k-mer 长度 |
m | Int32 | 保留的最小哈希 k-mer 个数 |