物种指纹数据库¶
指纹数据库支持 gmlst typing mlst sample.fna(零参数物种自动检测),通过基因组 k-mer 素描与物种指纹的包含度匹配实现。
设计原理¶
仅使用 MLST 方案 (v0.3.2+)¶
指纹仅从 MLST 方案构建(每物种 7 个看家基因)。cgMLST 方案被有意排除:
| 维度 | MLST 来源 | cgMLST 来源 |
|---|---|---|
| 下载时间 | 秒级 | 每方案分钟级 |
| 磁盘占用 | 每方案 KB 级 | 数百 MB |
| 物种区分度 | 足够(看家基因具物种特异性) | 对物种级鉴定无提升 |
| 指纹构建 | 全程 < 5 分钟 | 30+ 分钟(含限流重试) |
核心洞察:对于物种鉴定(非分型),7 个看家基因与 2000+ 核心基因组基因提供相同的区分度。使用 cgMLST 数据做指纹浪费下载时间和磁盘,且不提升检测精度。
物种名称匹配¶
目录按 organism 字符串精确分组,部分物种在不同 provider 下使用不同名称(如 "Escherichia coli"、"Escherichia spp."、"Escherichia" 三键并存)。包内 scheme_preferences.json 为每个编排组携带 aliases 别名表:指纹构建时将别名键合并到规范物种(E. coli 由三个近似指纹合一,避免检测恒歧义),--organisms 过滤也接受任一别名。scheme update-fingerprints 同时优先选择经典(约 7 座)MLST 源——Pasteur 目录将若干 2-5 座的局部方案标为 mlst,此类方案因座数过少信号弱而被降权。
覆盖范围¶
145 物种(PubMLST + Pasteur + Enterobase + cgmlst.org 联合目录中的 MLST 方案持有者)。
完整物种列表包含在打包的数据库文件中:gmlst/data/species_fingerprints.json.gz(随包分发)。
未覆盖物种¶
目录中无 MLST 方案的物种,包括:
- 仅有 cgMLST/wgMLST 方案的物种(如 Enterobacter hormaechei、Morganella morganii)
- Vibrio spp.(其首选 Enterobase 方案需要访问令牌)
- Plasmid MLST —— 有意排除:质粒 k-mer 跨物种共享,其指纹会造成假物种命中
- 服务器端数据需要认证或已下线的物种
技术参数¶
| 参数 | 值 | 说明 |
|---|---|---|
| k-mer 长度 | 21 | 规范化(two-bit 编码)k-mer |
| 采样率 | 7 | 每 7 个 k-mer 哈希一次(减小指纹体积) |
| 每物种哈希上限 | 5,000 | 统一上限 |
| 评分方式 | 包含度 | |
| 唯一判定 | top ≥ 0.3 且 top ≥ 2×第二名 | 歧义时列出候选让用户选择 |
文件位置¶
| 位置 | 路径 | 用途 |
|---|---|---|
| 用户构建 | <缓存>/species_fingerprints.json.gz |
最新数据 |
| 随包分发 | gmlst/data/species_fingerprints.json.gz |
安装即用(~1 MB) |
| 格式 | zlib 压缩 JSON | 80 MB 原始 → ~1 MB 压缩 |
查找顺序¶
typing 省略 -s/-n 时的优先级:
<缓存>/species_fingerprints.json.gz(用户构建)gmlst/data/species_fingerprints.json.gz(随包分发)- 交互式提示是否立即构建(仅 TTY,拒绝则 exit 2)
重建¶
gmlst scheme update-fingerprints -y [-x N]
gmlst scheme update-fingerprints -o "Bordetella pertussis,Staphylococcus aureus"
注意事项¶
- 建议配置 PubMLST API key
- 已缓存的方案自动跳过(增量重建)
- 限流服务器可能导致临时失败;重跑即可