本次小编分享一篇2021年10月发表在Nat Methods的文献,题目为《Reproducible, scalable, and shareable analysis pipelines with bioinformatics workflow managers》,影响因子28.547。该文献综合评估了现有的生物信息学工作流管理器,并针对分析管道的可重复性、可扩展性、可共享性进行了评估和比较,为不同需求的使用者指明了更适用的分析管道。
摘要
高通量技术的快速发展改变了生物医学研究。随着数据量的增加和复杂性的增加,可扩展性和可重复性不仅对实验来说至关重要,对计算分析也是如此。然而,将数据转换为信息需要运行大量工具、优化参数、集成动态变化的参考数据。工作流管理器(Workflow managers)是为了应对这些挑战而开发的。它们简化了开发流水线、优化了资源使用、避免了复杂的软件安装和版本选择、并可以在不同的计算平台上使用,实现了工作流的可移植性和可共享性。在这个前提下,我们将说明工作流管理器如何促进生物医学研究中的计算分析的可共享、可扩展和可重复性。
介绍
增加的新技术和更多的样本数量促进了大量生物数据的产生。虽然一些最大的数据生成器是由国家和国际财团掌握,但现在即使是单个团队的研究也经常使用高通量技术和大规模的生物信息学分析。生物数据的分析是由大量开源软件工具的发展所驱动的,这些工具中的大多数只执行单一的专门步骤,当这些步骤串联在一起时,就可以创建复杂的分析工作流,处理和分析日益增多的生物数据。然而,由于复杂的步骤链、操作系统和计算资源的可变性、以及工具版本和文档的模糊性,分析工作流程的可重复性已经成为计算生物学的一个关键问题。
为了最小化执行分析工作流所需的手动步骤的数量,计算管道自动地将多个工具链接在一起(图1a)。过去,计算管道是使用自定义脚本或Make files开发的(图1b)。这些传统的管道极大地简化了数据的循环分析。然而,传统管道通常与本地计算基础设施高度耦合;无法恢复失败的运行;缺乏足够的文档、参数跟踪和工具版本控制;并且在另一个设备上运行时需要手动安装——这使得它们难以共享和维护,并使生成的结果常常无法复制。即使传统管道的用户安装了相关的软件和依赖项,并获得了每个工具的准确软件版本,分析结果仍然可能不同。
数据密集型领域,如银行、汽车行业和技术初创企业,已经成功地使用工作流管理器来处理复杂的数据分析工作流。工作流管理器为管道的创建、执行和监控提供了一个框架。近年来,许多工作流管理器已经专门为生物医学数据设计,直接解决研究和卫生保健中计算分析工作流的需求。生物信息学工作流管理器提供了容器、包管理器和云计算的集成,同时提供自动资源管理。使用工作流管理器实现管道可以简化管道的开发、维护和使用,同时实现可移植性和提高可重复性(图1c)。
图1
数据来源
在计算生物学中,实现可重复性的主要挑战之一是软件版本、参数或参考注释版本的任何更改都可能改变结果。数据来源描述了用于生成一组文件的方法、版本和参数的轨迹。
用于管道开发的工作流管理工具的实用指南
目前有超过150个工作流管理器正在使用和开发中(https://github.com/common-workflow-language/common-workflow-language/wiki/Existing-Workflow-systems;https://github.com/pditommaso/awesome-pipeline)。
搭建工作流管理器的一个主要难点是在易用性、灵活性和特性丰富性之间进行权衡。虽然一些工作流管理器支持使用简单的图形用户界面实现管道,但其他工作流管理器需要更高级的编程知识。区分工作流管理器的其他标准是学习资源的可用性、对预实现管道的访问、以及可移植性和可伸缩性的差异(表1)。虽然比较工作流管理器可以提供一个有用的概述,但是易用性和表达性等标准是主观的,每个用户会有所不同。
表1.生物信息学工作流管理概述
图形工作流管理器:单击管道开发
图形工作流管理器通过图形用户界面支持用户交互。它们提供了一个点击界面,用户可以将工具拖放到工作流中,并将它们链接在一起,从而无需编程经验就可以创建复杂的计算管道。
图形化工作流管理器的例子有:基于网络的生物信息学工作流平台Galaxy和用于构建机器学习和数据科学工作流的图形工具KNIME。Galaxy拥有超过8000个工具以及丰富的学习资源。Galaxy项目提供了运行工作流而不产生成本的公共基础设施,以及专门的数据分析和可视化功能,这超出了大多数其他工作流管理器的功能。这些方面使Galaxy成为希望组装和运行定制生物信息学工作流的具有或没有计算专业知识的用户的强大选择。
领域特定语言工作流管理器:快速和灵活的开发
领域特定语言(DSL)是为满足特定领域中的特定需求而开发的一种编程语言。实现自己DSL的工作流管理器之间有许多共享的特性,包括整合用其他脚本语言编写的现有工具或管道的能力,使移植工具变得容易,并能够最小化重构。
Nextflow和Snakemake是基于DSL的工作流管理器的流行例子,它们是为熟悉编程的生物信息学家设计的。Nextflow使用了Groovy编程语言的扩展,它将管道的每个步骤分解为模块化组件,并通过确定管道执行的通道将这些组件连接起来。相反,Snake的语言类似于标准Python语法,它通过请求输出文件并定义生成它们所需的每个步骤来反向工作。其他基于DSL的工作流管理器的例子还有GenPipes,这是一种基于Python的DSL工具,用于基因组学工作流,它的目标是使用基于Groovy的DSL实现语法的简单性;Pachyderm,它用于银行和汽车行业,也应用于生物技术。所有这些工作流管理器都提供了一个健壮且可编程的接口来创建管道,支持容器以确保可移植性,并自动处理资源以优化可伸缩性(表1)。Snakemake和Nextflow的一个独特特性是能够为工作流的步骤创建可重用的模块。这种模块的使用进一步降低了代码的复杂性,增加了可读性和可维护性,并使其易于扩展、重用或替换分析工作流的单个步骤。Snakemake还支持工作流间缓存,以避免管道之间共享步骤的重新计算。
基于DSL的工作流管理器非常适合具有编程经验的研究人员或团队。虽然它们为快速流水线开发提供了一个强大的框架,并将现有工具和脚本的重构量降到最低,但初始学习曲线可能比图形化工作流管理器更陡峭。为了帮助实现这一初始学习曲线,流行的基于DSL的工作流管理器一般都会提供大量的学习资源和直接访问社区的支持。在基于DSL的工作流管理器中,Nextflow和Snakemake拥有最大的活跃社区,拥有大量已发布的即用管道,使得它们成为计算机用户和希望有最大灵活性设计自定义管道的团队的流行选择。
基于编程库的工作流管理
虽然图形化和DSL工作流管理器是目前生物信息学管道中使用最广泛的框架,但还有一些其他类型的工作流管理器,如基于编程库的工具;SciPipe是Go编程语言的库,Luigi是Spotify开发的Python包,它们都是基于编程库的工作流管理器的例子。它们利用了现有的工具、文本编辑器支持和该语言中的其他编程库。基于编程库的工作流管理器有利于已经熟悉编程语言并希望最小化DSL工具学习曲线的研究人员。与其他工作流管理器相比,基于编程库的框架目前支持的功能较少,并且较少用于生物信息学应用(表1)。
工作流规范:跨工作流系统的可移植性
工作流规范为定义计算管道提供了一组形式化的规则。这允许将管道定义与执行环境分离,从而添加另一层抽象。工作流规范允许定义可以跨支持标准的工作流管理器或执行环境执行的管道。工作流规范的一个例子是通用工作流语言(CWL)。CWL使用YAML或JavaScript Object Notation(JSON)格式定义管道。相反,工作流描述语言(WDL)定义了自己的人类可读定义语言。
像CWL和WDL这样的工作流规范适合那些希望将管道从特定的工作流管理器中解耦以实现更高程度的可移植性的研究人员。工作流规范使定义管道变得容易:它们易于阅读,并为提供了最高级别的可移植性和最灵活的框架,更便于共享。然而,它们可能与一些现有工作流管理器相比显得不那么方便。
即用管道提供了对复杂工作流的方便访问
使用工作流管理器的优势使得越来越多的出版物提供了独立的工作流,以确保计算结果的可重复性。然而,大多数已开发的计算管道仍未发布,其中绝大多数可能是由执行相同分析的不同团队或机构重新实现类似的工作流。
为了解决这个问题,已经为所有主要的生物信息学工作流管理人员开发了管道集合,使管道易于共享,同时极大地简化了它们的执行(表2)。最广泛的集合之一是由Galaxy社区管理。Galaxy社区允许任何人共享和执行管道,促进科学工作流程的透明性和再现性。类似地,KNIME Hub为KNIME工作流提供社区管道。
表2.生物信息学管道项目概述
结论
随着计算分析对再现性的需求不断增长,生物信息学工作流管理已成为一项关键技术。工作流管理器简化了健壮和复杂分析的实现,同时提供了帮助优化资源管理和再现性的附加特性。
再现性是开发分析管道的一个主要因素,理论上可以通过编写良好的定制管道来实现。然而,工作流管理器超出了对再现性的最低要求。通过改进数据来源、可读性和可移植性,它们增加了透明度,实现了分析工作流的长期可持续性,并有助于实现公平(可找到、可访问、可互操作和可重用)计算分析。
社区开发的管道对增加分析工作流的代码共享做出了重要贡献,经过管理的代码存储库支持使用最佳实践管道,同时提供了一个模板,可以采用该模板来捕获通常存在的工具多样性。虽然使用精选的最佳实践管道确保了工作流的健壮性,但可能存在许多不同的最佳实践管道用于生物数据的分析。由此可见,将来可能会出现越来越多针对现成管道的评估。
>>>end
扫描二维码
关注我们

