SuperAPI AI 工具集

snakemake-workflow-engine

办公与效率

查看项目

更新于 10-15 22:40

技能介绍

用途:Snakemake 是基于 Python 的工作流管理系统,用规则(rule)声明输入/输出文件依赖,自动解析执行顺序并并行运行互不依赖的步骤,适合构建可复现的多步骤分析流程,可从本地扩展到 HPC 与云。资料称其广泛用于生物信息学的 NGS、基因组组装和变异检测流程。

主要能力:规则可调用 shell 命令、Python/R/Julia 脚本或内联 Python;支持通配符与 expand() 批量处理样本;支持 configfile 与 params 外部化配置;可声明 threads、resources(mem_mb、runtime、disk_mb);支持每规则 conda 环境与 Singularity/Apptainer 容器;支持 temp、protected、directory、touch、ensure 等特殊输出;可生成 DAG 图与 dry-run 预览。

使用方式:安装可执行 conda install -c conda-forge -c bioconda snakemake 或 pip install snakemake,用 snakemake --version 验证。运行前建议先 snakemake -n 做 dry-run,再 snakemake --cores 8 执行;集群可用 --profile profiles/slurm,并配合 --use-conda、--rerun-incomplete 等参数。

适用场景:需要 3 个以上有分支的串行步骤、多样本一致处理、依赖自动管理与增量重跑、跨本地与 SLURM 集群复用同一流程时。

限制:资料指出,需要 Groovy DSL 与数据流通道或使用 nf-core 社区流程库时应改用 Nextflow;简单 shell 循环用 bash 脚本即可;带动态任务图或定时调度的数据工程流程应改用 Prefect 或 Airflow。资料未提供收费、价格与平台支持等更多信息。