生物信息学流程的开发
https://academic.oup.com/bib/article/18/3/530/2562749
转载自https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng%3D%3D&mid=2247497665&idx=2&sn=f2fe49a26dfc78064da7da753bf6e395&scene=45#wechat_redirect
流程要求:
- 并行运算
- 串行运算
- 依存关系
- 变化的数据类型
- 固定和可自定义的参数设定
高级功能
可显示分析进度、图形化界面调整参数
第一个是基于通配符
比如Nextflow、Snakemake等等,
第二个是基于步骤衔接
比如Ruffus和bpipe,参考《生信菜鸟团》的:Bpipe | 教你轻松搭建分析流程
其实就是在原有的shell脚本的基础上,将每个分析步骤进行包装,然后利用Bpipe的语法进行串联,就能高效地利用计算机资源以及进行断点重新运行。比如下面的这个bpipe流程,下载即可使用它:
第三个是基于配置文件
配置文件的格式是XML、YAML、TOML等,然后用对应的格式解释器以及执行步骤就能完成流程的分析。常见的流程有Galaxy等。
第四个是基于封装/打包
差不多是自己造轮子了,而不仅仅是流程串起来各种各样的工具,比如GATK等等,一个软件就包含了全部流程的各个步骤。
其实更多的流程框架是简单的shell脚本
shell、python、perl脚本对于断点运行、依赖项修改不够友好。许多时候,会出现程序异常中止需要重新运行,或者是运行后,又有新的输入文件需要一起分析。
image.png
星星越多,代表越容易开发、使用、并行效率高
目前使用比较多的流程编写工具
snakemake(基于python),bpipe,Ruffus,Nextflow(http://nextflow.io)
bpipe的使用流程:
下载bpipe
wget https://github.com/ssadedin/bpipe/releases/download/0.9.9.9/bpipe-0.9.9.9.tar.gz
tar -zxvf bpipe-0.9.9.9.tar.gz
cd bpipe-0.9.9.9//bin
./pipe -h
网友评论