生信分析流程框架概述
目录
- 1. 工作流管理系统
- Scripts
- Make
- nextflow
- 2. 工作流引擎
- Cromwell
- Argo
- 3. 工作流语言
- Common Workflow Language (CWL)
- 1. 定义
- 2. 使用方法
- WDL
- 扩展阅读
- YAML格式
A pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion; in that case, some amount of buffer storage is often inserted between elements.
1. 工作流管理系统
Scripts
使用脚本语言把处理数据的脚本或软件串成。
Make
nextflow
例1. 官网示例
#!/usr/bin/env nextflowparams.in = "$baseDir/data/sample.fa"
sequences = file(params.in)// split a fasta file in multiple files
process splitSeq{input:file 'input.fa' from sequencesoutput:file 'seq_*' into records"""awk '/^>/{f="seq_"++d}{print > f}' < input.fa"""
}// simple reverse the sequences
process reverse{input:file x from recordsoutput:stdout result"""cat $x | rev"""
}//print the channel content
result.subscribe{printIn it}
2. 工作流引擎
Cromwell
Argo
云原生的工作流。
3. 工作流语言
无论 Snakemake,还是 Nextflow 都需要用户按照工具本身定义的语法来创建流程。这给流程在不同平台间的迁移带来了不便。
工作流语言旨在提供一套语法标准,以解决可移植性差的问题。生信领域最常见的工作流语言有 CWL 和 WDL。下文对他们的用法做一个简单介绍。
Common Workflow Language (CWL)
1. 定义
CWL 是一种描述命令行工具并将它们连接在一起以创建工作流的规范。
2. 使用方法
CWL文件使用YAML或JSON格式编写。调用形式一般为 cwl-runner [tool-or-workflow-description] [input-job-settings]
,上述命令将工作流描述和输入文件作为参数提供给CWL运行器。
例1. cwl-runner echo.cwl echo_input.yaml
# echo.cwl
#!/usr/bin/env cwl-runnercwlVersion: v1.0 # CWL版本
class: CommandLineTool # 命令行工具
baseCommand: echo # 运行的程序名
inputs: # 工具的输入message: # 参数IDtype: string # 参数类型inputBinding: # 参数如何出现在命令行position: 1 # 参数出现在命令行的位置
output: []
# input: echo_input.yaml
message: Hello world!
inputs
是一个输入参数的列表。每个参数又有多个字段组成,如参数名称 id
,参数值类型 type
(string, int, long, float, double, null, array, record, File, Directory, Any)等。
WDL
相较CWL,WDL 抽离了很多在需要通过文件解析的部分,因而可用性较好。
基本单元由 workflow
,task
,command
,output
,call
构成。
call task
扩展阅读
YAML格式
- 键值对 key: value
- 注释 #
- 数据结构: Maps & Arrays
- JSON 风格
Does anyone use CWL? Does it actually help you get work done?
https://vatlab.github.io/sos-docs/index.html#content
https://bcbio-nextgen.readthedocs.io/en/latest/
生信分析流程框架概述相关推荐
- 生信分析流程构建的几大流派
导言 构建生信分析流程是生物信息学从业人员必备的技能之一,对该项能力的评估常常是各大公司招录人员的参考项目之一. 在进行 ngsjs 项目时,我做了一张示意图来表示一些高通量测序数据分析项目重现性的要 ...
- RNA-seq生信分析流程
RNA-seq生信分析流程 RNA-seq是近些年发展起来的针对转录组的测序技术,其能够获得mRNA.smallRNA以及各种非编码RNA的序列. 在不同细胞或者在相同细胞的不同发育阶段细胞中这些RN ...
- RNAseq生信分析流程简介
文章目录 RNAseq简介 RNAseq分析流程 1. 实验设计 1.1 目标RNA提取策略和文库类型选择 1.2 测序深度或文库大小 1.3 实验重复 2. RNAseq信息分析 2.1 质控 和 ...
- 生物信息学分析服务器搭建教程,Snakemake搭建生信分析流程-步骤
什么是snakemake 官网地址:https://snakemake.readthedocs.io/en/stable/ 使用snakemake的好处 process data with the s ...
- 图形化开放式生信分析系统开发 - 9 Illumina测序仪测序数据自动拆分
前文链接: 图形化开放式生信分析系统开发 - 1 需求分析及技术实现 图形化开放式生信分析系统开发 - 2 样本信息处理 图形化开放式生信分析系统开发 - 3 生信分析流程的进化 图形化开放式生信分析 ...
- 图形化开放式生信分析系统开发- 1基本需求分析及技术实现
图形化开放式生信分析系统开发- 1基本需求分析及技术实现 起因/背景 软件获取:到官网sliverworkspace.com免费下载个人版,最新版本 2.0.277363 几张图片 下面进入正题,以具 ...
- 图形化开放式生信分析系统开发 - 7 分析报告的模板定制与自动生成
前文链接: 图形化开放式生信分析云平台产品开发 - 1 需求分析及技术实现 图形化开放式生信分析云平台产品开发 - 2 样本信息处理 图形化开放式生信分析云平台产品开发 - 3 生信分析流程的进化 图 ...
- 2020.09.30【RNA-seq流程】丨转录组生信分析全流程
RNA-Seq生信分析全流程 摘要 第一部分 step.1 下载数据 step.2 数据质控 第二部分 step.3序列比对 step.4 计算基因表达量 step.5 插入片段长度检验 step.6 ...
- 这是入门生信,学习生信分析思路和数据可视化的首选?
封面来源:https://www.zhihu.com/question/304747766 常规转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,是大部分CNS必备的技术,以后 ...
最新文章
- Spring Boot 入门
- Google code 100个开源项目
- python37安装失败_Linux 安装Python37
- 【Python】政府工作报告词云
- Elasticsearch是如何实现master选举的?
- OpenShift 4 之 Image Registry、Image 和 ImageStream 概念和相关操作
- 不编程也开发13个无需编程的iOS开发工具
- Python基础——深拷贝、浅拷贝
- Python基础——模块的安装
- 中国游戏发展史V-02
- 联想笔记本怎么开启无线网络?
- 就业管理系统(Java毕业设计)
- Win10提示未插入扬声器或耳机
- 如何填写台式计算机参数,教你如何看懂电脑各配置参数
- linux/unix交互shell使用scanf函数获取键盘输入时按Backspace键总是出现^H^H^H^的解决方法
- Windows软件清单
- 2021大厂Java面试真题集锦,深度解析,值得收藏
- 修改Samba服务的监听端口
- markdown快速插入图片技巧
- 02-组件注册-@ComponentScan-自动扫描组件指定扫描规则
热门文章
- 跨年呈献:HP-Socket for Linux 1.0 震撼发布
- 【3D视觉创新应用竞赛作品系列​】牲畜体表信息的三维重建,代码详尽
- 2 位谷歌顶级程序员的激荡人生,曾共用 1 台电脑写代码
- 政府云计算的构建选择-刘鑫(政务云 云平台)
- JavaSwing页面的简单操作
- onenote2007 设置行间距
- 一个简单的2022春节倒计时
- 经典技术形态之--“五弯十”战法图解
- Using fallback Sshlinedraw for CID-keyed font STSong-Light
- 5G在工业互联网领域的应用进展