目录

  • 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,参数值类型 typestring, 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/

生信分析流程框架概述相关推荐

  1. 生信分析流程构建的几大流派

    导言 构建生信分析流程是生物信息学从业人员必备的技能之一,对该项能力的评估常常是各大公司招录人员的参考项目之一. 在进行 ngsjs 项目时,我做了一张示意图来表示一些高通量测序数据分析项目重现性的要 ...

  2. RNA-seq生信分析流程

    RNA-seq生信分析流程 RNA-seq是近些年发展起来的针对转录组的测序技术,其能够获得mRNA.smallRNA以及各种非编码RNA的序列. 在不同细胞或者在相同细胞的不同发育阶段细胞中这些RN ...

  3. RNAseq生信分析流程简介

    文章目录 RNAseq简介 RNAseq分析流程 1. 实验设计 1.1 目标RNA提取策略和文库类型选择 1.2 测序深度或文库大小 1.3 实验重复 2. RNAseq信息分析 2.1 质控 和 ...

  4. 生物信息学分析服务器搭建教程,Snakemake搭建生信分析流程-步骤

    什么是snakemake 官网地址:https://snakemake.readthedocs.io/en/stable/ 使用snakemake的好处 process data with the s ...

  5. 图形化开放式生信分析系统开发 - 9 Illumina测序仪测序数据自动拆分

    前文链接: 图形化开放式生信分析系统开发 - 1 需求分析及技术实现 图形化开放式生信分析系统开发 - 2 样本信息处理 图形化开放式生信分析系统开发 - 3 生信分析流程的进化 图形化开放式生信分析 ...

  6. 图形化开放式生信分析系统开发- 1基本需求分析及技术实现

    图形化开放式生信分析系统开发- 1基本需求分析及技术实现 起因/背景 软件获取:到官网sliverworkspace.com免费下载个人版,最新版本 2.0.277363 几张图片 下面进入正题,以具 ...

  7. 图形化开放式生信分析系统开发 - 7 分析报告的模板定制与自动生成

    前文链接: 图形化开放式生信分析云平台产品开发 - 1 需求分析及技术实现 图形化开放式生信分析云平台产品开发 - 2 样本信息处理 图形化开放式生信分析云平台产品开发 - 3 生信分析流程的进化 图 ...

  8. 2020.09.30【RNA-seq流程】丨转录组生信分析全流程

    RNA-Seq生信分析全流程 摘要 第一部分 step.1 下载数据 step.2 数据质控 第二部分 step.3序列比对 step.4 计算基因表达量 step.5 插入片段长度检验 step.6 ...

  9. 这是入门生信,学习生信分析思路和数据可视化的首选?

    封面来源:https://www.zhihu.com/question/304747766 常规转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,是大部分CNS必备的技术,以后 ...

最新文章

  1. Spring Boot 入门
  2. Google code 100个开源项目
  3. python37安装失败_Linux 安装Python37
  4. 【Python】政府工作报告词云
  5. Elasticsearch是如何实现master选举的?
  6. OpenShift 4 之 Image Registry、Image 和 ImageStream 概念和相关操作
  7. 不编程也开发13个无需编程的iOS开发工具
  8. Python基础——深拷贝、浅拷贝
  9. Python基础——模块的安装
  10. 中国游戏发展史V-02
  11. 联想笔记本怎么开启无线网络?
  12. 就业管理系统(Java毕业设计)
  13. Win10提示未插入扬声器或耳机
  14. 如何填写台式计算机参数,教你如何看懂电脑各配置参数
  15. linux/unix交互shell使用scanf函数获取键盘输入时按Backspace键总是出现^H^H^H^的解决方法
  16. Windows软件清单
  17. 2021大厂Java面试真题集锦,深度解析,值得收藏
  18. 修改Samba服务的监听端口
  19. markdown快速插入图片技巧
  20. 02-组件注册-@ComponentScan-自动扫描组件指定扫描规则

热门文章

  1. 跨年呈献:HP-Socket for Linux 1.0 震撼发布
  2. 【3D视觉创新应用竞赛作品系列​】牲畜体表信息的三维重建,代码详尽
  3. 2 位谷歌顶级程序员的激荡人生,曾共用 1 台电脑写代码
  4. 政府云计算的构建选择-刘鑫(政务云 云平台)
  5. JavaSwing页面的简单操作
  6. onenote2007 设置行间距
  7. 一个简单的2022春节倒计时
  8. 经典技术形态之--“五弯十”战法图解
  9. Using fallback Sshlinedraw for CID-keyed font STSong-Light
  10. 5G在工业互联网领域的应用进展