看到一个大师级综述: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流程,下载即可使用它:
配置文件的格式是XML、YAML、TOML等,然后用对应的格式解释器以及执行步骤就能完成流程的分析。常见的流程有Galaxy等。
差不多是自己造轮子了,而不仅仅是流程串起来各种各样的工具,比如GATK等等,一个软件就包含了全部流程的各个步骤。
比如你看我的B站免费的NGS组学视频课程,已经组建了微信交流群的有下面这些:
就会发现,我并没有使用过任何一种流程框架。
主要是因为如果并不是公司的项目环境需求,实际上绝大部分人根本就没有这个必要去研究流程框架,因为ngs上游分析本来就是低频需求。
docker镜像封装好的流程,大家下载即可使用,然后一句话就可以完成之前本来是需要花费好几天的环境配置。我在生信技能树上面写过部分docker教程, 目录如下:
感兴趣的可以简单浏览即可,如果要完全掌握docker的方方面面仍然是推荐大家看文档,多练习。比如gistic2就有docker镜像,一句话解决战斗:
docker pull cheungatm/gistic2:v2
你完全不用耗费心神就解决各个软件那些错综复杂的依赖关系。
但是,docker又何尝不会被其它新技术取代呢?