hpci 通过整合持续集成与高性能计算集群提高计算生物学研究的可重复性
hpci improves reproducibility of computational biology research by integrating Continuous Integration with High Performance Computing clusters.
一句话开发了 hpci,连接持续集成平台与高性能计算集群,支持分析工作流的自动化测试。
研究问题
数据与样本
分析流程
- 1连接平台与集群:用 hpci 将 GitHub Actions、GitLab CI 等 CI 平台与 Slurm、PBS 等 HPC 作业调度器集成。
- 2执行集群任务:通过 SSH 以普通非特权用户身份运行,无需在集群端安装。
- 3传递执行状态:使 hpci 在 CI 运行器上以 HPC 作业生成的相同退出码终止,反馈错误并阻止后续 CI 步骤执行。
- 4演示工作流应用:在 HPC 上的 5 种不同计算生物学工作流中展示工具的实用性。
关键方法与工具
- hpci
- 连接 CI 平台与 HPC
- Continuous Integration (CI)
- 自动测试分析流程和模型
- GitHub Actions
- 作为可集成的 CI 平台
- GitLab CI
- 作为可集成的 CI 平台
- Slurm
- 作为支持的作业调度器
- PBS
- 作为支持的作业调度器
- SSH
- 以非特权身份连接集群
- Haskell
- 实现 hpci
设计思路
主要发现
- hpci 可整合 GitHub Actions、GitLab CI 等 CI 平台与 Slurm、PBS 等常用 HPC 作业调度器。
- hpci 通过 SSH 以普通非特权用户身份运行,无需集群端安装。
- hpci 将 HPC 作业退出码原样传递至 CI 运行器,使错误可被反馈并阻止后续 CI 步骤执行。
- 研究在 HPC 上的 5 种不同计算生物学工作流中展示了 hpci 的实用性。
可借鉴之处
- 为自己的 HPC 分析流程接入 CI 时,可借鉴本文原样传递作业退出码的做法,使集群任务失败能够阻止后续分析步骤。
- 在集群管理权限受限的环境中,可借鉴通过 SSH 以普通用户运行、无需集群端安装的集成方式。
- 评估工作流基础设施工具时,可借鉴本文在多种不同工作流中演示应用的设计,而不只展示单一使用场景。
数据与代码
摘要(中文翻译)
动机:生物信息学与计算生物学中的可重复性危机,可以通过使用持续集成(CI)来缓解;CI 是一种经过验证的软件工程实践,可自动测试分析流程和模型。然而,CI 在生物信息学中的应用受到限制,因为现有解决方案通常与特定 CI 平台、特定 HPC 作业调度器紧密绑定,或需要 HPC 管理员进行操作。
结果:我们开发了 hpci,这是一款平台无关的开源工具,可将 CI 平台(例如 GitHub Actions、GitLab CI)与常用的 HPC 作业调度器(Slurm、PBS)集成。hpci 通过 SSH 以普通非特权用户身份运行,无需在集群端安装。它在 CI 运行器上终止时,使用与 HPC 作业生成的退出码完全相同的退出码,从而向研究人员提供反馈,并在发生错误时阻止后续 CI 步骤执行。我们在 HPC 上的 5 种不同计算生物学工作流中展示了 hpci 的实用性,凸显了自动化测试和持续分析对于验证生物信息学工作流可重复性的价值。
可得性:hpci 使用 Haskell 实现,并以 GPL-3.0 许可证发布。源代码和二进制文件可从 https://github.com/Garvan-Data-Science-Platform/hpci 下载。源代码通过 Zenodo(https://zenodo.org/records/19587650)归档至 Software Heritage。
英文原文摘要
Motivation:The reproducibility crisis in bioinformatics and computational biology can be mitigated by using Continuous Integration (CI), a proven software engineering practice, to automate the testing of analysis pipelines and models. However, the adoption of CI in bioinformatics is limited as existing solutions are typically tightly linked to specific CI platforms, specific HPC job schedulers, or require actions from HPC administrators.
Results:We developed hpci, a platform-agnostic, open-source utility that integrates CI platforms (e.g., GitHub Actions, GitLab CI) with common HPC job schedulers (Slurm, PBS). hpci operates as a standard unprivileged user via SSH, and requires no cluster-side installation. It terminates on the CI runner using the exact same exit code generated by the HPC job, providing feedback to researchers and preventing downstream CI steps if there are errors. We demonstrate hpci's utility across five diverse computational biology workflows on HPC, highlighting the value of automated testing and continuous analysis for verifying reproducibility in bioinformatics workflows.
Availability:hpci is implemented in Haskell and is available under the GPL-3.0 licence. Source code and binaries can be downloaded from https://github.com/Garvan-Data-Science-Platform/hpci.Source code is archived in Software Heritage via Zenodo (https://zenodo.org/records/19587650).
摘要来自 PubMed。翻译与解读由模型根据摘要生成,可能有误,不构成诊疗建议;数据以原文为准,版权归原出版方所有。