Nextflow通过容器来实现可扩展且可重复的数据分析工作流程。它适用于最常见的脚本语言编写的流水线。其流畅的DSL简化了在云和集群上实现和部署复杂并行的生信数据分析流程。
Nextflow设计基于这样的思想:即Linux是数据科学的通用语言。(PS:这也提示我们,做生信为什么要学Linux。)
快速原型设计
Nextflow允许通过简化将许多不同任务组合在一起来编写计算流水线。用户可以重用现有的脚本和工具,而且无需学习新的语言或API就可以开始使用它。
可重复性
Nextflow支持Docker和Singularity容器技术。结合GitHub代码共享平台的集成,这使你能够编写自包含的流水线,管理版本,并快速重现以前的任何配置。
可移植性
Nextflow在流水线逻辑和执行层之间提供了一个抽象层,因此可以在多个平台上执行而无需更改。
它提供了GridEngine、SLURM、LSF、PBS、Moab和HTCondor批处理调度程序以及Kubernetes、Amazon AWS、Google Cloud和Microsoft Azure平台的开箱即用执行器。
统一并行性
Nextflow基于数据流编程模型,极大地简化了编写复杂分布式流水线的过程。
并行化由进程的输入和输出声明隐含地定义。由此产生的应用程序具有固有的并行性,可以在不必适应特定平台架构的情况下,透明地实现纵向或横向扩展。
恢复检查点
在流水线执行过程中,所有生成的中间结果都会被自动跟踪。这使你能够从上次成功执行的步骤恢复其执行,无论停止的原因是什么。
面向流
Nextflow通过流畅的DSL扩展了Unix管道模型,使您能够轻松处理复杂的流交互。
它倡导一种基于函数组合的编程方法,产生具有弹性且易于重现的流水线。
最后
我们计划通过系统学习可以说是当今世界最为强大和流行的生信流程搭建框架后,来看看我们简说基因团队自研的生信流程框架有什么优势和特点,欢迎大家持续关注。