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 --verbosestats — 项目统计
输出知识库的规模统计、字段覆盖率与分类分布。
用法
bash
python -m awesome_bioinfo stats [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--format | -f | 输出格式:table / json / csv | table |
--category | -c | 指定分类过滤 | 全部 |
示例
bash
# 标准统计表
python -m awesome_bioinfo stats
# JSON 格式输出
python -m awesome_bioinfo stats -f json
# 单分类统计
python -m awesome_bioinfo stats -c sequence-alignmentsearch — 全文搜索
按名称、描述或标签搜索算法。
用法
bash
python -m awesome_bioinfo search <query> [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--limit | -n | 返回结果数量上限 | 10 |
--field | - | 搜索字段:name / description / tag / all | all |
--lang | -l | 输出语言:zh / en | zh |
示例
bash
# 默认搜索
python -m awesome_bioinfo search smith
# 限制结果数
python -m awesome_bioinfo search "sequence alignment" -n 5
# 仅搜索标签
python -m awesome_bioinfo search "dynamic-programming" --field taginfo — 算法详情
查看单个算法的完整元数据。
用法
bash
python -m awesome_bioinfo info <algorithm-id> [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--format | -f | 输出格式:table / json / yaml | table |
--lang | -l | 输出语言:zh / en | zh |
示例
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 encompare — 算法对比
并排对比两个或多个算法的核心指标。
用法
bash
python -m awesome_bioinfo compare <id1> <id2> [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--format | -f | 输出格式:table / json | table |
--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 jsonexport — 数据导出
将算法数据导出为 JSON、CSV 或其他格式。
用法
bash
python -m awesome_bioinfo export [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--format | -f | 输出格式:json / csv / yaml | json |
--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.csvvitepress — 文档生成
生成 VitePress 静态站点源码(中文 + 英文)。
用法
bash
python -m awesome_bioinfo vitepress [options]选项
| 选项 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--clean | - | 生成前清空 docs/zh 与 docs/en | False |
--lang | -l | 仅生成指定语言:zh / en / all | all |
示例
bash
# 生成全部文档
python -m awesome_bioinfo vitepress
# 仅生成中文
python -m awesome_bioinfo vitepress -l zh
# 清空后重新生成
python -m awesome_bioinfo vitepress --clean数据管理指南
添加新算法
- 复制模板:
cp templates/algorithm_template.yaml data/algorithms/<category>.yaml(追加到现有文件或新建) - 填写字段,确保
id全局唯一,description50–500 字符 - 运行验证:
python -m awesome_bioinfo validate - 生成文档:
python -m awesome_bioinfo vitepress - 本地预览:
cd docs && npm run dev - 提交 PR,等待 CI 通过
更新分类体系
- 修改
data/categories.yaml,新增或调整分类/子分类 - 同步更新所有引用该分类的算法 YAML 文件中的
category/subcategory字段 - 运行验证与生成命令确认无报错
- 由于分类变更是 spec 级变更,须通过
/opsx:propose提案流程
VitePress 命令速查
bash
cd docs
# 本地开发预览
npm run dev
# 生产构建
npm run build
# 预览构建产物
npm run previewCI/CD 集成说明
GitHub Actions 工作流
.github/workflows/ 下定义了以下工作流:
- lint.yml:ruff + mypy,在每次 push 时触发
- test.yml:pytest 全量测试 + 覆盖率上报,在 PR 与 push 时触发
- validate.yml:
python -m awesome_bioinfo validate,在数据文件变更时触发 - deploy.yml:
vitepress generate→npm 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'