Nextflow 快速搭建生信分析流程(一)

生物信息分析中流程搭建是所有组学分析过程中必不可少的环节,目前市面上一些主流的生信类的公司(包括贝瑞、华大、诺禾等)在流程搭建过程中还主要依靠perl和python以及shell等命令进行流程的开发。然而,由于生信行业内的公司在搭建流程的过程中主要还是依靠将不同生信人员开发的模块拼接在一起,这样就会造成流程在不同平台上的安装和结果的可重复性上面临很大的问题。

Nextflow是专门针对生物信息流程搭建而开发的一种框架语言,它能够很好的管理生信流程,并且将其与Conda、Docker、Singularity结合起来使用可以很好的将流程在不同平台之间进行迁移,并且能够保证结果的可重复性。Nextflow最大的优点是它是基于数据流的程序模型,因此不用我们自己去写复杂的并行化的程序,我们只需要关注“数据流”即可。流程中的每个process可以通过配置文件快速的定制并行执行的样本数目,大大节约了生信人员搭建组学分析流程的时间。

Nextflow安装(官网地址https://www.nextflow.io/docs/latest/index.html):

Nextflow的安装也非常简单,只需要在linux系统上安装Java8以上的版本即可。

apt-get

install -y default-jre #(ubuntu系统)

curl -fsSL

https://get.nextflow.io | bash

也可以利用conda软件直接安装Nextflow,命令如下:

conda install -c bioconda nextflow

高性能集群(HPC)支持:

Nextflow 支持几乎所有的集群管理系统,包括:

SGE

Univa Grid Engine

LSF

SLURM

PBS/Torque

HTCondor (beta)

Moab (beta)

例子:如果想在SGE集群中执行搭建的流程,我们只需在流程代码中加入executor关键字参数便能轻松的指定集群类型。

process {

 executor='sge'

 queue=''

}


云平台支持:

目前Nextflow支持的云平台如下:

AWS Batch

Azure Batch

Google Cloud Life Sciences

Kubernetes

容器支持:

Nextflow 支持Docker和Singularity容器,容器间的切换也可以直接通过在process中指定关键字container即可:

process samtools {

 container 'biocontainers/samtools:1.3.1'


 """

 samtools --version

 """

}


Nextflow的详细介绍,敬请关注后续文章内容更新!

你可能感兴趣的:(Nextflow 快速搭建生信分析流程(一))