WDL、Cromwell、GATK4的关系

    WDL是编写工作流的语法,需要cromwell执行引擎执行,GATK的管道脚本以某种形式的并行化以加快执行速度


1 WDL(工作流程描述语言)

    该工作流描述语言(WDL)是指定数据处理与人类可读且可写的工作流的语法的方式。WDL使定义复杂的分析任务,在工作流中将它们链接在一起并使其执行并行化变得很简单。该语言使常见的模式易于表达,同时也允许不常见或复杂的行为。并努力实现不仅在执行平台之间,而且在不同类型的用户之间的可移植性。无论是分析师,程序员,生产系统的操作员还是任何其他类型的用户,WDL都应易于访问和理解。

1.1 执行引擎

    WDL本身不是可执行文件,而是需要执行引擎才能运行。兼容的执行引擎应支持WDL规范的特定版本的功能。请参阅相应的引擎文档,以获取有关可用执行选项和支持的信息。

1.2 解析器和语言支持

  • 基本解析器及其语法定义(基于hermes)可以在parsers/每个版本的目录中找到。当前支持Java,Python和javascript。我们认为这些解析器可以正常工作,但是尚未验证这些声明。
  • MiniWDL - MiniWDL为WDL和命令行验证提供python绑定。它重量轻且易于使用。
  • wdl4s - WDL的Scala绑定。它已被折叠到更广泛的cromwell代码库中
  • WOMTool - 用于解析,验证,整理和生成WDL图形的独立工具。
  • wdl-aid - 基于WDL文件中定义的parameter_meta信息,为WDL工作流的输入生成文档。

2 Cromwell

    WDL本身不是可执行文件,而是需要执行引擎才能运行。

    Cromwell就是一个执行引擎


3 GATK4 (基因组分析工具箱)

    GATK,发音为 “Gee Ay Tee Kay” (not “Gat-Kay”),代表GenomeAnalysisToolkit。它是用于分析高通量测序数据的命令行工具的集合,主要侧重于变体发现。这些工具可以单独使用,也可以链接成完整的工作流程。我们提供了针对特定用例量身定制的端到端工作流程,称为GATK最佳做法。

    从4.0版开始,GATK包含Picard工具包的副本,因此所有Picard工具都可从GATK本身获得。

入门指引GATK4入门

3.1 GATK4的运行管道(pipeline):

    处理序列数据和执行变体发现所涉及的大多数工作都可以以管道脚本的形式自动化,该脚本通常包括某种形式的并行化以加快执行速度。我们提供GATK最佳做法工作流程的脚本化实现,以及一些其他帮助程序/附件脚本,以使每个人都可以更轻松地运行这些有时相当复杂的工作流程。

    这些工作流是用 WDL(工作流程描述语言)编写的,旨在在支持WDL执行的任何平台上运行。选项在《用户指南》的“流水线”部分中列出。我们首选的选择是Cromwell执行引擎,它与GATK一样,也是由Broad的数据科学平台(DSP)开发的,可以在我们的云平台Terra(以前称为FireCloud)上作为服务使用。

    如果您选择通过Terra运行GATK工作流程,则实际上不需要执行任何上述操作,因为所有内容都已经以即用形式预加载了(软件,脚本,甚至一些示例数据)。此时,Terra是完全像我们自己的工作一样运行工作流的最简单方法。如上所述,我们已经在名为Terra的云平台上的预配置工作区中设置了所有最佳实践管道,因此您无需进行任何设置即可试用它们。您可以将结果与其他管道进行比较,还可以(私密且安全地)上传自己的数据以测试我们的管道在此方面的性能。

发布了115 篇原创文章 · 获赞 4 · 访问量 4604

猜你喜欢

转载自blog.csdn.net/weixin_43999327/article/details/104235679
今日推荐