Skip to content

CLI 工作流参考

概述

python -m awesome_bioinfo 是本知识库的统一 CLI 入口,提供从数据验证、统计查询、全文搜索、算法对比到文档生成的完整工具链。本页提供所有子命令的完整用法参考、选项说明与典型示例。


validate — 数据验证

验证所有 YAML 数据文件的完整性、一致性与合规性。

用法

bash
python -m awesome_bioinfo validate [options]

选项

选项简写说明默认值
--strict-将警告视为错误False
--verbose-v输出详细验证日志False

示例

bash
# 标准验证
python -m awesome_bioinfo validate

# 严格模式(任何警告均阻断)
python -m awesome_bioinfo validate --strict

# 详细输出
python -m awesome_bioinfo validate --verbose

stats — 项目统计

输出知识库的规模统计、字段覆盖率与分类分布。

用法

bash
python -m awesome_bioinfo stats [options]

选项

选项简写说明默认值
--format-f输出格式:table / json / csvtable
--category-c指定分类过滤全部

示例

bash
# 标准统计表
python -m awesome_bioinfo stats

# JSON 格式输出
python -m awesome_bioinfo stats -f json

# 单分类统计
python -m awesome_bioinfo stats -c sequence-alignment

search — 全文搜索

按名称、描述或标签搜索算法。

用法

bash
python -m awesome_bioinfo search <query> [options]

选项

选项简写说明默认值
--limit-n返回结果数量上限10
--field-搜索字段:name / description / tag / allall
--lang-l输出语言:zh / enzh

示例

bash
# 默认搜索
python -m awesome_bioinfo search smith

# 限制结果数
python -m awesome_bioinfo search "sequence alignment" -n 5

# 仅搜索标签
python -m awesome_bioinfo search "dynamic-programming" --field tag

info — 算法详情

查看单个算法的完整元数据。

用法

bash
python -m awesome_bioinfo info <algorithm-id> [options]

选项

选项简写说明默认值
--format-f输出格式:table / json / yamltable
--lang-l输出语言:zh / enzh

示例

bash
# 表格形式查看
python -m awesome_bioinfo info smith-waterman

# JSON 输出
python -m awesome_bioinfo info needleman-wunsch -f json

# 英文输出
python -m awesome_bioinfo info blast -l en

compare — 算法对比

并排对比两个或多个算法的核心指标。

用法

bash
python -m awesome_bioinfo compare <id1> <id2> [options]

选项

选项简写说明默认值
--format-f输出格式:table / jsontable
--fields-指定对比字段,逗号分隔全部

示例

bash
# 默认对比
python -m awesome_bioinfo compare smith-waterman needleman-wunsch

# 仅对比复杂度与年份
python -m awesome_bioinfo compare blast bwa --fields time_complexity,year

# JSON 格式
python -m awesome_bioinfo compare minimap2 bwa-mem -f json

export — 数据导出

将算法数据导出为 JSON、CSV 或其他格式。

用法

bash
python -m awesome_bioinfo export [options]

选项

选项简写说明默认值
--format-f输出格式:json / csv / yamljson
--output-o输出文件路径stdout
--category-c指定分类过滤全部

示例

bash
# 导出全部数据为 JSON
python -m awesome_bioinfo export -f json -o algorithms.json

# 导出单分类为 CSV
python -m awesome_bioinfo export -f csv -c variant-calling -o variants.csv

vitepress — 文档生成

生成 VitePress 静态站点源码(中文 + 英文)。

用法

bash
python -m awesome_bioinfo vitepress [options]

选项

选项简写说明默认值
--clean-生成前清空 docs/zh 与 docs/enFalse
--lang-l仅生成指定语言:zh / en / allall

示例

bash
# 生成全部文档
python -m awesome_bioinfo vitepress

# 仅生成中文
python -m awesome_bioinfo vitepress -l zh

# 清空后重新生成
python -m awesome_bioinfo vitepress --clean

数据管理指南

添加新算法

  1. 复制模板:cp templates/algorithm_template.yaml data/algorithms/<category>.yaml(追加到现有文件或新建)
  2. 填写字段,确保 id 全局唯一,description 50–500 字符
  3. 运行验证:python -m awesome_bioinfo validate
  4. 生成文档:python -m awesome_bioinfo vitepress
  5. 本地预览:cd docs && npm run dev
  6. 提交 PR,等待 CI 通过

更新分类体系

  1. 修改 data/categories.yaml,新增或调整分类/子分类
  2. 同步更新所有引用该分类的算法 YAML 文件中的 category / subcategory 字段
  3. 运行验证与生成命令确认无报错
  4. 由于分类变更是 spec 级变更,须通过 /opsx:propose 提案流程

VitePress 命令速查

bash
cd docs

# 本地开发预览
npm run dev

# 生产构建
npm run build

# 预览构建产物
npm run preview

CI/CD 集成说明

GitHub Actions 工作流

.github/workflows/ 下定义了以下工作流:

  • lint.yml:ruff + mypy,在每次 push 时触发
  • test.yml:pytest 全量测试 + 覆盖率上报,在 PR 与 push 时触发
  • validate.ymlpython -m awesome_bioinfo validate,在数据文件变更时触发
  • deploy.ymlvitepress generatenpm run build → deploy to Pages,在 master 分支 push 时触发

本地预提交检查

建议在本地 Git hooks 或 alias 中配置以下快捷命令:

bash
# 完整预提交检查
alias bio-check='ruff check awesome_bioinfo && mypy awesome_bioinfo && pytest tests/ -q && python -m awesome_bioinfo validate'

Released under the MIT License.