Skip to content

Workflow Packs

Linxira Wiki edited this page Aug 15, 2026 · 1 revision

工作流包 (Workflow Packs)

第一方 Python/R 工作流脚本位于仓库 workflows/,带清单(manifest)、输入/输出 schema、测试、依赖锁与许可证声明。它们是本地可选后端:发布包不捆绑第三方解释器、包、数据库或模型。linxira-bio workflow run 在直接调用已批准的本机解释器前先验证每个包。已编目 (cataloged) 的包 ≠ 已安装运行时或可用分析能力。

5 个工作流包,全部遵循 manifest schema v2(core_compatibility 契约,可续跑 resume)。

包 ID 版本 运行时 入口 能力
org.linxira.bulk-expression-deseq2 v0.2.0 R src/run_deseq2.R expression.differential.v1 (别名 medical.bulk-rnaseq.v1)
org.linxira.medical-survival v0.1.0 R src/run_survival.R medical.survival.v1
org.linxira.expression-wgcna v0.1.0 R src/run_wgcna.R expression.wgcna.v1
org.linxira.sequence-conversion-biopython v0.1.0 Python src/convert_sequences.py sequence.convert.biopython.v1
org.linxira.chemistry-descriptors-rdkit v0.1.0 Python src/descriptors.py chemistry.descriptors.v1

用法

# 列出已编目包
linxira-bio workflow packs [--json]

# 运行包(请求/结果均为 schema v2 信封,JSON-RPC 风格)
linxira-bio workflow run org.linxira.medical-survival request.json result.json

包结构

workflows/org.linxira.<name>/
├── manifest.json        # schema v2: 契约、续跑、平台、网络、资源、文件哈希
├── input_schema.json    # 输入角色 (allOf const 与 manifest.contract 对齐)
├── output_schema.json
├── src/                 # 可执行脚本(带信封封装)
├── tests/               # 校验测试(如 test_validation.R)
├── scripts/             # 引导脚本(如 bootstrap-survival-lib.R)
├── requirements.lock / dependencies.lock.json   # 哈希锁定依赖
├── NOTICE / README      # 许可证与使用说明

执行安全

  • 每个包在调用前经 validate_workflow_request / validate_workflow_result 校验身份(能力、作业 ID)与 core_compatibility 版本匹配。
  • 依赖锁含 SHA-256 哈希;文件哈希不匹配即失败(workflows/tests/test_pack_manifests.py 强制)。
  • R 包引导脚本 bootstrap-survival-lib.R 在 CI 上按锁安装 survival/jsonlite/digest;RDKit 包在 CI 按 requirements.lock 安装 Python 3.12 轮子。

Clone this wiki locally