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 sql 命令类别
1.数据定义语言 DDL 有 create alter drop2.数据操纵语言 DML insert select delete update3.事务控制语言 TCL commit savepoin ...
- SpringBoot 之配置server 信息
一.修改端口号 spring-boot 默认的端口号是8080,如需修改. 1.新建一个src/main/resources 文件夹 2.在这个文件夹下新建一个application.properti ...
- UML 运用于开发过程——总结
UML -- 统一的图形语言 用例图:需求捕获,测试依据类图:静态系统结构对象图:对象之间的关联构件图:构件之间的关联部署图:构建的物理部署 以上几种图的作用:描述系统结构 顺序图:捕获时间顺序协作图 ...
- springboot学习入门之一---基本了解
1springboot基本了解 1.1概述 Spring Boot不是一门新技术,本质上就是spring. 特性: 1) 零配置(或很少配置) 2) 四个核心:(ASCA) 3.1)自动配置:spri ...
- Vue2学习笔记:组件(Component)
组件 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能.在有些情况 ...
- 转: c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
//这样产生0 ~ 100的强随机数(含100) ; int rnd = int.MinValue; decimal _base = (decimal)long.MaxValue; ]; System ...
- 清除 Exchange 2013/2016/2019 日志和ETL文件
Exchange Server 的2个日志目录会增长的很快,需要定时清理,不然C盘的空间很快就会吃光,以下这个powershell脚本就是用于清理目录下面的日志的,已在生产环境中测试过,没问题: S ...
- 将jpg压缩成webp格式的图片
cwebp名称 cwebp -压缩图像文件为的WebP文件概要 cwebp [选项] INPUT_FILE -o output_file.webp描述 cwebp压缩使用的WebP格式的图像.输入格式 ...
- 2017-2018-2 20165318 实验二《Java面向对象程序设计》实验报告
2017-2018-2 20165318 实验二<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:孙晓暄 ...
- Odoo中的甘特图
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9296922.html 甘特图 用图表来衡量实际与预期生产记录之间关系的方法中所使用的图表,亦称甘特进度表或条 ...