GATK官方推荐的workflow语言-WDL

本文介绍了GATK推荐的流程定义语言WDL,包括task和workflow的基本结构,参数传递方式以及不同任务间的依赖关系(一对一、多对多、平行)。通过示例展示了WDL如何定义任务和工作流,强调了WDL在流程管理中的并行执行能力。运行WDL脚本需要cromwell.jar和womtools.jar,通过编辑输入参数文件和运行Cromwell来执行工作流。
摘要由CSDN通过智能技术生成

欢迎关注"生信修炼手册"!

GATK4best practice中,不再像以前那样给出每个步骤对应的代码,而是直接给出了官方使用的pipeline。这些pipeline采用WDL进行编写。

WDL是一种流程编写语言,没有太多复杂的逻辑和语法,入门简单。首先看一个hello world的例子

workflow myWorkflow {
    call myTask
}
task myTask {
    command {
        echo "hello world"
    }
    output {
        String out = read_string(stdout())
    }
}

对于一个WDL脚本而言,有以下5个核心结构

  1. workflow

  2. task

  3. call

  4. command

  5. output

每个脚本包含1个workflowworkflow由多个task构成。 在workflow中,通过call调用对应的task。每个taskworkflow代码块之外单独定义。

task代表任务,读取输入文件,执行相应命令,然后输出。command中对应的就是执行的命令,比如一条具体的gatk的命令,output 指定task的输出值。可以将task理解为编程语言中的函数,每个函数读取输入的参数,执行代码,然后返回,command对应执行的具体代码,output对应返回值。

WDL中,也是可以传递参数的。taskworkflow中的写法不同

1. task 中的参数

下面的示意图中,task 有3个输入的参数,文件类型的refin 和字符串类型的id。 在command中,通过${ref}这种格式访问变量的值

GATK(Genome Analysis Toolkit)是一款强大的生物信息学工具,用于分析基因组数据。VariantFiltration 是 GATK 中的一个功能,用于对基因组变异进行过滤和评估。其中的参数 --genotype-filter-name 和 -G-filter-name 用于指定使用特定的过滤规则对基因型数据进行过滤。 使用这些参数时,你需要指定一个或多个过滤规则的名称。这些名称通常是在 GATK 的过滤规则文件(例如,GQT, GVCF, or BQSR)中定义的。你可以通过在命令行中指定这些文件来使用它们。 下面是一个基本的 GATK VariantFiltration 命令示例,使用 --genotype-filter-name 参数: ```bash gatk VariantFiltration --genotype-filter-name MyFilter \ -R reference.fasta \ -V input.vcf \ -O output.vcf ``` 在这个例子中,我们使用了名为 "MyFilter" 的过滤规则。你需要将 "MyFilter" 替换为你想要使用的实际过滤规则的名称。该命令会将变异数据经过过滤,并将过滤后的结果输出到 output.vcf 文件中。 同样,你还可以使用 -G-filter-name 参数来使用全局过滤规则。例如: ```bash gatk VariantFiltration -G GATKGlobalFilter \ -R reference.fasta \ -V input.vcf \ -O output.vcf ``` 在这个例子中,我们使用了名为 "GATKGlobalFilter" 的全局过滤规则。你需要将 "GATKGlobalFilter" 替换为你想要使用的实际全局过滤规则的名称。 请注意,具体的命令和参数可能会根据你的数据和需求而有所不同。在使用 GATK 进行 VariantFiltration 时,建议参考 GATK官方文档和示例,以确保正确使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值