GATK --- wdl 语言
GATK的pipeline使用WDL进行编写
WDL是一种流程管理语言,内置的支持并行,适合编写pipeline
运行wdl脚本需要两步:第一步编辑参数列表对应的json文件,第二步直接运行Cromwell.jar
eg
workflow helloWorld{
call myTask;
} task myTask{
commond{
echo "hello world"
} output {
String out = read_string(stdout())
}
}
对于一个WDL脚本,有5个核心结构:
1,workflow
2, task:代表任务,读取输入文件,执行相应的commond,然后输出output。task中可以有参数。
3, call
4, commond
5, output
一个脚本包括1个workflow,一个workflow由多个task构成,并在workflow中通过call调用。每个task在workflow代码块之外单独定义。包括多个commond
如:task中的参数:
task task_1{
File ref
File in
String id commond{
do_stuff R = ${ref} I=${in} O=${id}.ext
} output{
File out = "${id}.ext"
}
}
workflow 中的参数,传递参数给task时,直接传变量名
task 之间具有多种关系。理论上每个task 只可以调用1次,若调用多次,需要借助task alias。例如:
workflow taskAlias{
File firstInput
File secondInput
call stepA as firstSample {
input: in=firstInput
}
call stepA as secondSample{
input: in = secondInput
}
call stepB{input: in=firstSample.out}
call stepC{input: in=secondSample.out}
} task stepA{
File in
commond{ programA I=${in} O=outputA.ext}
output{File out="outputA.ext"}
} task stepB{
File in
commond{ programA I=${in} O=outputB.ext}
output{File out="outputB.ext"}
} task stepA{
File in
commond{ programA I=${in} O=outputC.ext}
output{File out="outputC.ext"}
}
运行WDL脚本,需要:
1,cromwell.jar
2,womtools.jar
第一步是得到输入的参数列表:用json格式存储,这一步知识一个模板,需要编辑这个文件,将对应的参数替换成实际需要的参数
java -jar womtools.jar inputs myWorkflow.wdl > myWorkflow_inputs.json
第二步,运行脚本
java -jar Cromwell.jar run myWorkflow.wdl -inputs myWorkflow_inputs.json
[转载:https://www.jianshu.com/p/42f377e20ff7]
GATK --- wdl 语言的更多相关文章
- GATK使用说明-GRCh38(Genome Reference Consortium)(二)
Reference Genome Components 1. GRCh38 is special because it has alternate contigs that represent pop ...
- 16、GATK使用简介 Part1/2
转载:http://blog.sina.com.cn/s/blog_6721167201018fyw.html GATK (全称The Genome Analysis Toolkit)是Broad I ...
- WDL学习笔记
WDL是什么? WDL是由Broad Institute开发的一种流程开发语言,全称workflow description language,官方链接如下:https://software.broa ...
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
随机推荐
- oracle lz047中的REGEXP_LIKE(cust_first_name,'[[:digit:]]')) .
转自http://blog.csdn.net/dream19881003/article/details/6680982 今天在看OCP题库的时候有一道题是考字段约束的,意思是要在表CUSTOMERS ...
- Windows2003系统取消关机提示的方法
方法有两种:1.编辑组策略 打开“开始”-“运行”,在“打开”一栏中输入“gpedit.msc”命令打开组策略编辑器,依次展开“计算机配置”→“管理模板”→“系统”,双击右侧窗口出现的“显示‘关闭事件 ...
- B-树特征
在m阶B-树的定义中,要求: 1.树中每个节点至多有m棵子树. 2.若根节点不是叶子节点,则至少有两棵子树. 3.除根之外的所有非终端节点至少有棵子树.
- ORACLE闪回机制分析与研究应用
1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...
- swift版的元组
swift版的元组 说明 元组的内容并不多,使用的话跟普通变量类似,以下是测试源码: // // ViewController.swift // Tuples // // Created by You ...
- linux centos6.5 网络配置
1.方法一.修改网络配置文件 ①cd /etc/sysconfig/network-scripts ②cp ifcfg-eth0 ./ifcfg-eth0.bak //修改前先备份 第一个以太网 ...
- 安装启动apache2.4后报Invalid command 'order', perhaps misspelled or defined by a module not included
httpd.conf中修改 重启Apache 报错. 在网上搜索了一下,大多是说mod_authz_host.so模块没有加载,但检查后发现httpd.conf中: 该模块并未被注释掉,那原因究竟出在 ...
- 新手学Linux:在VMware14中安装CentOS7详细教程
VMware Workstation14安装CentOS7.0 详情教程 1.准备工作 a)下载VMware workstation14 b)下载CentOS7 c)下载SSH Secure Shel ...
- java 扁平化输出json所有节点key/value
本章主要介绍用java实现扁平化输出json所有节点key/value(包含所有内层子节点) 1.json结构 目的输出bill_list下的datalist里的子节点key/value 2.实现代码 ...
- 【洛谷】【堆】P1801 黑匣子_NOI导刊2010提高(06)
[题目描述:] Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两 ...