命令参考¶
本页文档记录 gmlst 当前完整的命令行接口。
帮助行为¶
-h和--help在所有层级等效。- 不带子命令运行命令组时打印用法/帮助信息:
gmlstgmlst schemegmlst utilsgmlst visual
顶层 CLI¶
gmlst [OPTIONS] COMMAND [ARGS]...
全局选项:
-V, --version版本号-v, --verbose启用调试日志-q, --quiet抑制非错误日志-h, --help帮助信息
顶层命令:
typing— 对 FASTA/FASTQ 样本进行分型scheme— scheme/provider/缓存管理utils— 提取与序列工具命令config— 配置变量管理visual— 本地 Web 可视化
typing¶
gmlst typing [OPTIONS] COMMAND [ARGS]...
子命令:
mlst— 仅 MLST 方案cgmlst— 仅 cgMLST/wgMLST 方案tgmlst— 无方案分型模式
示例:
gmlst typing mlst -s saureus_1 sample.fna
gmlst typing mlst sample.fna # 物种自动检测
gmlst typing mlst --guess assemblies/*.fna # 无人值守混合物种批处理
gmlst typing cgmlst -s vparahaemolyticus_3 sample.fna
gmlst typing tgmlst sample.fna
mlst 和 cgmlst 通用选项:
-s, --scheme TEXT— 方案名称,如saureus_1。可省略:gmlst 会从基因组自动检测物种、挑选匹配方案、下载并分型;歧义情况回退到交互式选择-n, --organism TEXT— 按物种或方案名子串解析方案(如bordetella);唯一匹配自动选择,多匹配打印候选表-g, --guess— 无人值守混合物种分型:检测每个组装的物种,按"次序列表 → 唯一缓存候选 → 自然排序"为每个物种选一个方案,缺失自动下载,全程零提示。与-s/-n及 novel 参数互斥。TSV 输出按方案分节;JSON 为单一信封;无法解析的样本跳过并给出原因-b, --backend [blastn|kma|minimap2|nucmer]--minscore FLOAT— 丢弃质量分(0-100,见 JSONscore字段)低于阈值的样本;0表示全部保留--min-id FLOAT— 最小比对一致性百分比(默认 95.0)--min-cov FLOAT— 最小等位基因覆盖度 0-1(默认 0.95)--min-depth FLOAT— 最小读深度,仅 FASTQ(默认 10.0)--min-join-overlap INTEGER(拼接断裂基因所需的最小等位基因重叠碱基数,默认 10;0 = 最激进)--format [tsv|json|pretty]-o, --output PATH--no-header— 省略 TSV 表头--cache-dir PATH— 覆盖缓存目录--force-reindex— 重建比对器索引-t, --threads INTEGER--max-workers INTEGER(样本级并行数)--max-depth INTEGER(FASTQ 最大深度,默认 100,0=禁用)--count-same-copy— 将同等位基因多拷贝(23*)展开为逗号记法--detail— 在 TSV 输出中显示 contig 位置信息(仅 FASTA)-q, --quiet--data-dir, --output-dir PATH(推荐使用--data-dir)--novel-allele— 保存新等位基因序列--novel-profile— 保存新 ST profile(需要--novel-allele)-h, --help
物种自动检测说明:
- 唯一检测且同类型方案有多个时,唯一已缓存候选自动选择;否则列出候选(标注已缓存项)供交互选择
- 每物种的偏好顺序随包内置(
gmlst/data/scheme_preferences.json),同时驱动--guess与自动检测
cgmlst 预过滤选项:
--cgmlst-mode [fast|ultrafast|balanced]--prefilter-k INTEGER--prefilter-top-n INTEGER--prefilter-min-loci-fraction FLOAT--cds-coordinates-out PATH(导出预测的 CDS 坐标为 TSV)--call-policy [default|chewbbaca](chew 风格输出分类)--chew-cds-gate/--no-chew-cds-gate(仅--call-policy chewbbaca时有效)
cgMLST 默认值与性能说明:
typing cgmlst的默认 backend 是minimap2。- FASTQ 输入自动切换到 KMA(精度更高)。
--cgmlst-mode fast:启用 exact-hash + minimap2 hash 预过滤 + 缺失 locus 的 minimap2 精炼 + blastn 证据回退。--cgmlst-mode ultrafast:在fast基础上使用更激进的速度配置 + 严格低置信度补救 + 自适应二轮精炼。--cgmlst-mode balanced:启用 exact-hash + minimap2 hash 预过滤 + blastn 定向回退。
tgmlst 选项(无方案分型):
--format [tsv|json|pretty]-o, --output PATH--no-header--hash-strategy [safe|fast|ultra|strict|blast]--save-scheme PATH--load-scheme PATH--stats--max-workers INTEGER
输出标记说明:
| 标记 | 含义 | ST 判定 |
|---|---|---|
23 |
精确匹配,单拷贝 | ✅ 是 |
23* |
精确匹配,相同多拷贝 | ✅ 是(使用 23) |
~23 |
最近匹配(非精确) | ❌ Novel |
15? |
部分覆盖 | ❌ 不完整 |
1,2 |
冲突多拷贝(不同等位基因) | ❌ 不确定 |
1,1 |
显式展开(--count-same-copy) |
✅ 是 |
- |
缺失 | ❌ 不完整 |
--detail 输出格式(仅 FASTA + TSV):
FILE ST dnaE
sample.fasta 19 19;contig1:3153925-3154481:+
格式为 allele_id;contig:start-end:strand。
配对 FASTQ 自动检测命名模式:_R1/_R2、_1/_2、.1/.2。
scheme¶
gmlst scheme [OPTIONS] COMMAND [ARGS]...
子命令:
list— 列出可用 schemesearch— 搜索 schemeshow— 显示 scheme 详情download— 下载 schemeupdate— 更新 scheme 或目录remove— 从本地缓存删除 schemecreate— 从新等位基因创建自定义 schemeupdate-custom— 更新自定义 schemeexport— 导出 scheme profile
scheme download¶
gmlst scheme download SCHEME [OPTIONS]
位置参数:
SCHEME— 方案名称(如saureus_1)
选项:
--force— 强制重新下载-q, --quiet--download-tool [auto|aria2c|curl|wget|httpx|requests]-x, --connections INTEGER(默认 4)--token TEXT(Enterobase API token)--cache-dir PATH
示例:
gmlst scheme download saureus_1
gmlst scheme download vparahaemolyticus_3 --force -x 2
scheme search¶
gmlst scheme search PATTERN [OPTIONS]
跨名称、物种、描述、provider 搜索 scheme。
位置参数:
PATTERN— 不区分大小写的子串
选项:
-p, --provider [provider|all]-t, --type [mlst|cgmlst|wgmlst|rmlst|other|all]-l, --limit INTEGER(最多显示 N 条,默认不限制)--cache-dir PATH
示例:
gmlst scheme search saureus
gmlst scheme search "salmonella" -t cgmlst
scheme list¶
gmlst scheme list [OPTIONS]
选项:
-p, --provider [provider|local|all]-t, --type [mlst|cgmlst|wgmlst|rmlst|other|all]-n, --name TEXT(按物种名正则过滤)-f, --format [text|table|csv|tsv|json]-a, --available(仅显示已下载的)-l, --limit INTEGER(最多显示 N 条,默认不限制)--pager(分页显示;交互式,需要终端)--cache-dir PATH
scheme show¶
gmlst scheme show SCHEME [OPTIONS]
显示 scheme 详细信息。使用 -a 查看每个 locus 的等位基因统计。
选项:
-a, --all— 显示等位基因统计(需要已下载)-f, --format [text|table|csv|tsv|json]--cache-dir PATH
scheme update¶
gmlst scheme update [OPTIONS]
选项:
SCHEME(位置参数)— 更新指定 scheme--all— 更新所有已缓存的 scheme-f, --force— 强制刷新 provider 目录--download-tool [auto|aria2c|curl|wget|httpx|requests]-x, --connections INTEGER--token TEXT--cache-dir PATH
更新机制为增量更新:只下载有变化的 locus 和 profile,不是全部重新下载。
scheme remove¶
gmlst scheme remove SCHEME [OPTIONS]
从本地缓存删除已下载的 scheme。
位置参数:
SCHEME— 方案名称(如saureus_1、custom_1)
选项:
-p, --provider TEXT(默认从缓存自动检测)-y, --yes(跳过确认提示)-f, --format [text|json](默认text)--cache-dir PATH
行为:
- 删除前显示 scheme 名称、provider、路径和大小,并请求确认。
- 本地自定义 scheme(
custom_*,provider 为local)会同时从本地 catalog 中移除。 --format json在删除成功后输出gmlst-scheme-op-v1信封:{"scheme", "provider", "path", "removed": true}。
示例:
gmlst scheme remove saureus_1 --yes
gmlst scheme remove custom_1 --format json
scheme create¶
gmlst scheme create [OPTIONS]
选项:
-t, --type [mlst](必填)-s, --source TEXT(必填,基础方案名)--data-dir DIRECTORY(必填,新等位基因数据目录)--desc TEXT--cache-dir PATH
scheme update-custom¶
gmlst scheme update-custom SCHEME [OPTIONS]
位置参数:
SCHEME— 自定义方案名(如custom_1)
选项:
--data-dir DIRECTORY(必填)--cache-dir PATH
scheme export¶
gmlst scheme export SCHEME [OPTIONS]
位置参数:
SCHEME— 方案名(如custom_1)
选项:
--format [grapetree|original](必填)-o, --output PATH(必填)--cache-dir PATH
config¶
gmlst config [OPTIONS] COMMAND [ARGS]...
检查和管理配置变量。
子命令:
env— 以 shell 格式打印所有环境变量(可 source)show— 分组表格显示所有配置变量get NAME— 获取单个变量值set NAME VALUE— 写入变量到配置文件
示例:
gmlst config show # 查看所有配置
gmlst config set GMLST_CACHE_DIR /data # 设置缓存目录
source ~/.config/gmlst/env.sh # 应用配置
utils¶
gmlst utils [OPTIONS] COMMAND [ARGS]...
子命令:
extract— 等位基因/新等位基因提取concat— FASTA 序列拼接benchmark— 后端性能基准check— 后端依赖检查
utils extract¶
gmlst utils extract [OPTIONS]
主要模式:
# 1. 从样本提取等位基因
gmlst utils extract -i genome.fasta -s ecoli_1
# 2. 从 typing JSON 提取新等位基因
gmlst utils extract -i results.json --novel-allele --novel-profile --data-dir novel
# 3. TSV 回退模式
gmlst utils extract -i results.tsv -s ecoli_1 --novel-allele --novel-profile \
--samples-dir ./samples --data-dir novel
visual¶
gmlst visual [OPTIONS] COMMAND [ARGS]...
子命令:
web— 启动本地 MST 可视化 Web 应用
visual web¶
gmlst visual web [OPTIONS]
选项:
--host TEXT(默认127.0.0.1)--port INTEGER(默认8787)--open-browser(自动打开浏览器)
用法:
gmlst visual web --open-browser
然后在 Web 界面中粘贴或上传 cgMLST TSV 文件,点击 Build MST。
功能:
- 基于 profile 距离(每 locus 等位基因差异数)构建 MST
- 支持缺失 token 罚分切换(
LNF、NIPH、NIPHEM等) - 支持
tree和radial两种布局 - 支持基于元数据的节点着色
- 支持 SVG 导出
- 接受 gmlst TSV 和 GrapeTree 风格 profile(
#Strain首列)
JSON 输出信封¶
gmlst 写入 stdout 或输出文件的每个 JSON 文档都包裹在带版本号的信封中, 便于程序(以及 AI agent)在解析前进行版本校验:
{
"schema_version": "<常量>",
"data": <原始 payload>
}
TSV/CSV/text/jsonl 输出不使用信封。
信封常量(定义在 gmlst/schema_versions.py):
| 常量 | 适用范围 |
|---|---|
gmlst-typing-v1 |
typing mlst / typing cgmlst --format json(样本结果列表) |
gmlst-tgmlst-profiles-v1 |
typing tgmlst --format json(profile 列表) |
gmlst-tgmlst-stats-v1 |
typing tgmlst --stats(stderr 统计文档) |
gmlst-scheme-list-v1 |
scheme list / scheme search --format json |
gmlst-scheme-show-v1 |
scheme show --format json |
gmlst-scheme-op-v1 |
scheme download / update / create / update-custom / remove --format json 摘要 |
gmlst-benchmark-v1 |
utils benchmark --format json |
gmlst-visual-mst-v1 |
visual mst --format json |
gmlst-visual-mst-summary-v1 |
visual mst --format summary |
gmlst-visual-matrix-v1 |
visual matrix --format json |
gmlst-visual-heatmap-v1 |
visual heatmap --format json |
gmlst-visual-compare-v1 |
visual compare --format json |
gmlst-visual-locus-diff-v1 |
visual locus-diff --format json |
visual export 使用自己已有的信封(gmlst-visual-export-v1,字段为
kind/payload 而非 data)。
往返兼容:utils extract -i <typing json> 同时接受新信封格式
(gmlst-typing-v1,读取 data)和旧版本 gmlst 输出的裸列表格式。