生物信息学流程框架的4个流派

看到一个大师级综述:Jeremy Leipzig, A review of bioinformatic pipeline frameworks, Briefings in Bioinformatics, Volume 18, Issue 3, May 2017, Pages 530–536, https://doi.org/10.1093/bib/bbw020  值得推荐,非常好的整理了目前生物信息学界的各个NGS数据处理的流程搭建策略。主要是下面的4种:

第一个是基于通配符

比如Nextflow、Snakemake等等,这方面的各种教程多如牛毛,我这里就不赘述了,大家根据关键词搜索即可自行学习。

第二个是基于步骤衔接

比如Ruffus和bpipe,参考我们《生信菜鸟团》的:Bpipe | 教你轻松搭建分析流程

其实就是在原有的shell脚本的基础上,将每个分析步骤进行包装,然后利用Bpipe的语法进行串联,就能高效地利用计算机资源以及进行断点重新运行。比如下面的这个bpipe流程,下载即可使用它:

  • https://github.com/fun-science-club-ntu/PET

第三个是基于配置文件

配置文件的格式是XML、YAML、TOML等,然后用对应的格式解释器以及执行步骤就能完成流程的分析。常见的流程有Galaxy等。

第四个是基于封装/打包

差不多是自己造轮子了,而不仅仅是流程串起来各种各样的工具,比如GATK等等,一个软件就包含了全部流程的各个步骤。

其实更多的流程框架是简单的shell脚本

比如你看我的B站免费的NGS组学视频课程,已经组建了微信交流群的有下面这些:

就会发现,我并没有使用过任何一种流程框架。

主要是因为如果并不是公司的项目环境需求,实际上绝大部分人根本就没有这个必要去研究流程框架,因为ngs上游分析本来就是低频需求。

另外,流程框架很有可能会被docker取代

docker镜像封装好的流程,大家下载即可使用,然后一句话就可以完成之前本来是需要花费好几天的环境配置。我在生信技能树上面写过部分docker教程, 目录如下:

感兴趣的可以简单浏览即可,如果要完全掌握docker的方方面面仍然是推荐大家看文档,多练习。比如gistic2就有docker镜像,一句话解决战斗:

docker pull cheungatm/gistic2:v2

你完全不用耗费心神就解决各个软件那些错综复杂的依赖关系。

但是,docker又何尝不会被其它新技术取代呢?

文末友情推荐

(0)

相关推荐