Most bioinformatics pipelines consist of software components that are tightly coupled to the logic of the pipeline itself. This limits reusability of the individual components in the pipeline or introduces maintenance overhead when they need to be reimplemented in multiple pipelines. We introduce Viash, a tool for speeding up development of robust pipelines through "code-first" prototyping, separation of concerns and code generation of modular pipeline components. By decoupling the component functionality from the pipeline logic, component functionality becomes fully pipeline-agnostic, and conversely the resulting pipelines are agnostic towards specific component requirements. This separation of concerns improves reusability of components and facilitates multidisciplinar and pan-organisational collaborations. It has been applied in a variety of projects, from proof-of-concept pipelines to supporting an international data science competition. Viash is available as an open-source project at https://github.com/viash-io/viash and documentation is available at https://viash.io.
翻译:多数生物信息管道由与管道本身逻辑紧密相连的软件元件组成,这限制了管道中个别元件的可重新使用性,或在需要重新在多个管道中实施时引入维护间接费用。我们引入了Viash,这是通过“代码-第一”原型加速开发稳健管道的工具,将关注事项和模块化管道元件的代码生成。通过将部件功能与管道逻辑脱钩,部件功能完全成为管道-不可知性,而由此产生的管道则是针对特定部件要求的不可知性。这种将关切分离可以改善部件的可重新使用性,并促进多分流和全组织合作。它被用于各种项目,从概念验证管道到支持国际数据科学竞赛。Viash作为开放源项目,可在https://github.com/viash-io/viash/viash查阅,文件可在https://viash.io查阅。