Skip to content

运行时拓扑

运行时拓扑回答的是一个实践问题:MICOS-2024 究竟在哪些层上运行,谁把工作交给谁?

运行时拓扑图
项目横跨入口命令、Python 编排模块、工作流资产、配置模板与扩展分析脚本。

执行面

稳定 CLI 路径

最干净的运行路径是:

bash
micos full-run --input-dir data/raw_input --results-dir results

这是当前最值得推荐的主入口。

Shell 包装路径

仓库中有两个包装脚本:

  • scripts/run_full_analysis.sh
  • scripts/run_module.sh

它们现在更接近“兼容入口”,而不是独立流程引擎。这是健康的演进方向。

工作流资产路径

steps/ 中的 WDL 文件表达了步骤级工作流关系。它们不是 CLI 的别名,而是另一层集成能力。

容器路径

deploy/docker-compose.example.ymlcontainers/singularity/*.def 描述的是环境策略。对于生信平台来说,这一层非常关键,因为很多失败发生在环境边界,而不是算法边界。

按职责划分

关注点主负责层辅助层
命令体验micos/cli.pyshell wrappers
流程编排micos/full_run.py其他 micos/ 模块
可重现环境deploy/, containers/workflow assets
配置模板config/*.templateCLI 配置加载
扩展分析scripts/结果目录

典型故障模式

配置不一致

最常见的问题通常不是算法本身,而是:

  • 分析模板,
  • 数据库模板,
  • 命令行参数

三者之间没有对齐。

包装层漂移

如果 Shell 包装层逐渐长成第二套逻辑,维护成本会急速上升。当前仓库正在把包装层收缩成委托层,这是好事。

环境漂移

当容器、工作流和直接 CLI 描述的是不同现实,项目的可重现性就会被削弱。文档要把这些层分开说明,不能混写。

MICOS-2024 技术白皮书,面向可重现宏基因组分析。