生物信息分析中流程搭建是所有組學(xué)分析過(guò)程中必不可少的環(huán)節(jié),目前市面上一些主流的生信類(lèi)的公司(包括貝瑞、華大、諾禾等)在流程搭建過(guò)程中還主要依靠perl和python以及shell等命令進(jìn)行流程的開(kāi)發(fā)。然而,由于生信行業(yè)內(nèi)的公司在搭建流程的過(guò)程中主要還是依靠將不同生信人員開(kāi)發(fā)的模塊拼接在一起,這樣就會(huì)造成流程在不同平臺(tái)上的安裝和結(jié)果的可重復(fù)性上面臨很大的問(wèn)題。
Nextflow是專(zhuān)門(mén)針對(duì)生物信息流程搭建而開(kāi)發(fā)的一種框架語(yǔ)言,它能夠很好的管理生信流程,并且將其與Conda、Docker、Singularity結(jié)合起來(lái)使用可以很好的將流程在不同平臺(tái)之間進(jìn)行遷移,并且能夠保證結(jié)果的可重復(fù)性。Nextflow最大的優(yōu)點(diǎn)是它是基于數(shù)據(jù)流的程序模型,因此不用我們自己去寫(xiě)復(fù)雜的并行化的程序,我們只需要關(guān)注“數(shù)據(jù)流”即可。流程中的每個(gè)process可以通過(guò)配置文件快速的定制并行執(zhí)行的樣本數(shù)目,大大節(jié)約了生信人員搭建組學(xué)分析流程的時(shí)間。

Nextflow安裝(官網(wǎng)地址https://www.nextflow.io/docs/latest/index.html):
Nextflow的安裝也非常簡(jiǎn)單,只需要在linux系統(tǒng)上安裝Java8以上的版本即可。
apt-get
install -y default-jre #(ubuntu系統(tǒng))
curl -fsSL
https://get.nextflow.io | bash
也可以利用conda軟件直接安裝Nextflow,命令如下:
conda install -c bioconda nextflow
高性能集群(HPC)支持:
Nextflow 支持幾乎所有的集群管理系統(tǒng),包括:
例子:如果想在SGE集群中執(zhí)行搭建的流程,我們只需在流程代碼中加入executor關(guān)鍵字參數(shù)便能輕松的指定集群類(lèi)型。
process {
?executor='sge'
?queue=''
}
云平臺(tái)支持:
目前Nextflow支持的云平臺(tái)如下:
容器支持:
Nextflow 支持Docker和Singularity容器,容器間的切換也可以直接通過(guò)在process中指定關(guān)鍵字container即可:
process samtools {
?container 'biocontainers/samtools:1.3.1'
?"""
?samtools --version
?"""
}
Nextflow的詳細(xì)介紹,敬請(qǐng)關(guān)注后續(xù)文章內(nèi)容更新!